Page MenuHomeFreeBSD

The ChaCha20 counter is little endian, not big endian.
ClosedPublic

Authored by jhb on Feb 17 2021, 10:32 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Apr 12, 11:08 AM
Unknown Object (File)
Fri, Apr 12, 11:08 AM
Unknown Object (File)
Fri, Apr 12, 11:07 AM
Unknown Object (File)
Thu, Apr 11, 7:24 PM
Unknown Object (File)
Wed, Mar 20, 12:30 PM
Unknown Object (File)
Feb 18 2024, 1:30 PM
Unknown Object (File)
Feb 11 2024, 6:57 AM
Unknown Object (File)
Feb 11 2024, 6:57 AM
Subscribers

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Hm, it is little endian, but I'm not confident about the two sentences prior.

In D28755#644005, @cem wrote:

Hm, it is little endian, but I'm not confident about the two sentences prior.

The variant in the kernel uses the 8/8 split. There are other variants however. libsodium has a xchacha variant that wireguard also uses (and I think that there are proposals to standardize in IETF for both IPsec and TLS) that uses a 24/4 split of nonce vs counter. If we add that in the future I would probably call it CRYPTO_XCHACHA20_POLY1305 to match the libsodium name.

Certainly not a regression :-)

This revision is now accepted and ready to land.Mar 3 2021, 5:04 AM