-
Notifications
You must be signed in to change notification settings - Fork 60
chacha20: 64-bit counter support #439
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
tarcieri
merged 66 commits into
RustCrypto:master
from
nstilt1:64-bit-counter-support-newtype
Aug 27, 2025
Merged
Changes from all commits
Commits
Show all changes
66 commits
Select commit
Hold shift + click to select a range
86341e0
added newtype that should be able to simulate a 64-bit counter; needs…
nstilt1 22d06d5
fixed some unused warnings the only way I know that I can
nstilt1 3bcd93b
attempted to restrict block pos to multiple of 4, all tests pass
nstilt1 768b0c8
added to_le()
nstilt1 385ebea
updated backends to use a 64-bit counter
nstilt1 dbcdb41
ignored counter_wrapping rng test
nstilt1 8a8f8fe
undid block pos multiple of 4
nstilt1 5ae5b22
fixed sse2 tests
nstilt1 5a15d23
fixed neon.rs syntax
nstilt1 87cb35d
fixed neon.rs syntax again
nstilt1 a671af7
fixed neon code; tested with cross
nstilt1 9235c1e
impled remaining_blocks()
nstilt1 655d7fc
fixed test_wrapping_add; not quite perfect
nstilt1 f2a24c6
fixed test_chacha_word_pos_wrap_excess; not the cleanest fix
nstilt1 19dc665
fixed test_chacha_word_pos_wrap_exact; not the cleanest fix again
nstilt1 83d7063
All tests pass on avx2, even the doctests
nstilt1 23a335d
updated paragraph that was previously marked 'TODO'
nstilt1 9505bec
fixed set/get_block_pos; also added a cipher test to see if I could b…
nstilt1 7481ed1
fix unused import
nstilt1 4d0e0d0
borrowed tests from rand_chacha to replace the ones we had that I had…
nstilt1 e2b8e41
unignored tests
nstilt1 77354d0
fixed counter wrapping tests
nstilt1 c13cd53
fmt
nstilt1 64662db
avx2 passes tests now, but sse2 and neon don't
nstilt1 32f733c
fixed sse2!
nstilt1 d889eb8
fixed neon! same problem sse2 had
nstilt1 faa32a5
fixed cipher neon code
nstilt1 8dd7db8
missed something in neon when copying code changes
nstilt1 b26db0d
added multiple counter tests using a macro
nstilt1 2e4cf10
fmt
nstilt1 a6962aa
updated docs for set_stream() and added another equivalence test with…
nstilt1 56e1305
rerun PR tests because they failed to execute the tests
nstilt1 289f2bc
fix failing tests because apparently there can't be 2 chacha20 packages
nstilt1 ddeba24
proof that restricting block_pos to 0..max instead of 0..=max passes …
nstilt1 eff2b26
proof that fixing the '- 64' and 'remaining_blocks()' fails the test,…
nstilt1 b29d769
proof that the backends can be fixed to prevent overflowing
nstilt1 f304e14
fix imports
nstilt1 acaf4be
added conditional compilation for IETF remaining_blocks()
nstilt1 0834318
fix unreachable expression :/
nstilt1 9de7c2f
corrected code for #438; results in big endian issues...
nstilt1 a1535f5
fixed endianness thanks to dhardy
nstilt1 b6e7054
fmt
nstilt1 d42b703
forbidden use of exhausted/wrapped cipher regarding #444, passes test
nstilt1 7b73d5c
reverted 'remaining_blocks()' and backends due to #444
nstilt1 62a7e94
implemented 32-bit counter. edited docs a little. implemented core wr…
nstilt1 de470e1
removed passing counter overflow detection test because get_core() wa…
nstilt1 bf8845d
made variants public; edited docs a little; added counter wrapping te…
nstilt1 b222fea
resolve conflicts, but removing the big endian cfg results in a lot o…
nstilt1 cc0d864
Merge branch 'master' into 64-bit-counter-support-newtype
nstilt1 10043e8
Merge branch 'master' into 64-bit-counter-support-newtype
nstilt1 87adeed
added mod sealed; accidentally re-added some stuff from master, but i…
nstilt1 1dcf453
re-added chacha20.yml from master... I don't know how to git
nstilt1 54cff81
remove duplicate entries in Cargo.toml
nstilt1 dde2315
fixed compile error
nstilt1 4fae983
added empty lines
nstilt1 6cc9aca
consolidated phantomdata into one field
nstilt1 a49df62
switched to match statements in backends
nstilt1 5d54aca
rewrote soft.rs counter logic
nstilt1 4b1cee1
rewrote rng soft.rs counter
nstilt1 aa76088
added newline
nstilt1 f17c7a1
fix clippy warnings
nstilt1 788e930
fixed another clippy warning. I thought I ran clippy already
nstilt1 3d9b993
tweak variant
newpavlov 033711c
remove unneeded tests
nstilt1 1c2afcc
added test vectors found on github from PyCA
nstilt1 a5cb438
fixed endian issue for the rng regarding #447
nstilt1 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.