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)
Thu, Dec 25, 8:01 AM
Unknown Object (File)
Wed, Dec 17, 12:32 PM
Unknown Object (File)
Wed, Dec 17, 6:41 AM
Unknown Object (File)
Thu, Dec 11, 6:45 AM
Unknown Object (File)
Thu, Nov 27, 3:17 AM
Unknown Object (File)
Nov 20 2025, 7:09 AM
Unknown Object (File)
Nov 11 2025, 6:38 PM
Unknown Object (File)
Nov 9 2025, 3:03 AM
Subscribers

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 37134
Build 34023: arc lint + arc unit

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