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)
Sat, Aug 15, 3:59 PM
Unknown Object (File)
Tue, Aug 11, 8:57 PM
Unknown Object (File)
Tue, Aug 11, 10:54 AM
Unknown Object (File)
Tue, Aug 11, 8:59 AM
Unknown Object (File)
Mon, Aug 10, 7:55 PM
Unknown Object (File)
Mon, Aug 10, 2:07 PM
Unknown Object (File)
Sat, Aug 8, 7:42 PM
Unknown Object (File)
Sat, Aug 8, 7:06 PM
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