Skip to content

Use sponge-cursor to remove unnecessary buffering#849

Merged
newpavlov merged 12 commits into
masterfrom
sponge-cursor
May 8, 2026
Merged

Use sponge-cursor to remove unnecessary buffering#849
newpavlov merged 12 commits into
masterfrom
sponge-cursor

Conversation

@newpavlov
Copy link
Copy Markdown
Member

@newpavlov newpavlov commented May 2, 2026

Removes unnecessary buffering from sponge-based constructions using the sponge-cursor crate (see RustCrypto/utils#1477).

@newpavlov newpavlov changed the title Use sponge-cursor Use sponge-cursor to remove unnecessary buffering May 2, 2026
@newpavlov
Copy link
Copy Markdown
Member Author

@tarcieri
I think we can migrate sha3 as well, but it would involve breaking changes (removal of block_api and change of the serialization format), so it would have to be done in a new breaking release. What do you think, should we migrate it or leave as-is?

@tarcieri
Copy link
Copy Markdown
Member

tarcieri commented May 6, 2026

I think it’s fine to migrate though at this point I think you’d have to bump minor version, which I’m ok with

@newpavlov newpavlov merged commit 12105d3 into master May 8, 2026
269 checks passed
@newpavlov newpavlov deleted the sponge-cursor branch May 8, 2026 19:36
makavity pushed a commit to makavity/hashes that referenced this pull request May 8, 2026
Removes unnecessary buffering from sponge-based constructions using the
`sponge-cursor` crate (see RustCrypto/utils#1477).
newpavlov added a commit that referenced this pull request May 12, 2026
### Changed
- Internal implementation by removing unnecessary buffering ([#849])
- Serialization format used by `SerializableState` implementations
([#849])
- Replaced implementation of `CustomizedInit` with `TryCustomizedInit`
([#857])

[#849]: #849
[#857]: #857
@newpavlov newpavlov mentioned this pull request May 12, 2026
newpavlov added a commit that referenced this pull request May 12, 2026
### Added
- `CShake128Reader` and `CShake256Reader` type aliases ([#855])

### Changed
- Internal implementation by removing unnecessary buffering ([#849])
- `Rate: BlockSizes` generic parameter to `const RATE: usize` ([#849])

### Removed
- Implementations of `BlockSizeUser` ([#856])

[#849]: #849
[#855]: #855
[#856]: #856
@newpavlov newpavlov mentioned this pull request May 12, 2026
newpavlov added a commit that referenced this pull request May 12, 2026
### Changed
- Internal implementation by removing unnecessary buffering ([#849])
- `Rate: BlockSizes` generic parameter to `const RATE: usize` ([#849])

### Removed
- Implementations of `BlockSizeUser` ([#856])

[#849]: #849
[#856]: #856
newpavlov added a commit that referenced this pull request May 13, 2026
### Added
- `CTurboShake128` and `CTurboShake256` type aliases generic over domain
separator ([#866])

### Changed
- Internal implementation by removing unnecessary buffering ([#849])
- `Rate: BlockSizes` generic parameter to `const RATE: usize` ([#849])
- `TurboShake128` and `TurboShake256` type aliases are no longer generic
over the domain separator
  and use the default value instead ([#866])

### Removed
- Implementations of `BlockSizeUser` ([#856])

[#849]: #849
[#856]: #856
[#866]: #866
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants