Skip to content

Update crates to digest v0.10 - #217

Merged
newpavlov merged 1 commit into
masterfrom
digest/v0.10.0-pre
Dec 7, 2021
Merged

Update crates to digest v0.10#217
newpavlov merged 1 commit into
masterfrom
digest/v0.10.0-pre

Conversation

@newpavlov

@newpavlovnewpavlov commented Jan 18, 2021

Copy link
Copy Markdown
Member

Depends on RustCrypto/traits#819.

Notable changes:

  • ripemd160, ripemd256, and ripemd320 merged into ripemd.
  • Complete rewrite of the groestl crate using (public domain) code from the NIST submission as a reference. Now the crate has an acceptable performance (~100 MB/s vs ~1 MB/s). It can be improved even further by utilizing AES-NI and SIMD in general, but I don't plan to work on it myself.
  • Use LE table for Whirlpool, thus improving performance a bit on LE targets.
  • Added Tiger2 variant.
  • fsb improvements.
  • sha2, streebog, and shabal are implemented in terms of the VariableOutputCore trait. For example, Sha512VarCore implements it, but supports initialization only for 4 sizes and its variants are defined as:
pubtypeSha512_224 = CoreWrapper<CtVariableCoreWrapper<Sha512VarCore,U28>>;pubtypeSha512_256 = CoreWrapper<CtVariableCoreWrapper<Sha512VarCore,U32>>;pubtypeSha384 = CoreWrapper<CtVariableCoreWrapper<Sha512VarCore,U48>>;pubtypeSha512 = CoreWrapper<CtVariableCoreWrapper<Sha512VarCore,U64>>;

Closes#67
Closes#317
Closes#330

@newpavlovnewpavlov mentioned this pull request Jan 29, 2021
@tarcieri

Copy link
Copy Markdown
Member

FYI, I just merged Tiger in #229, so you'll probably want to rebase

Comment threadCargo.toml Outdated
Comment threadREADME.md Outdated
@atenjin

Copy link
Copy Markdown

Our bitcoin lib need to be compiled in Wasm, 0.9.0 can't work now... I try 0.10 is ok, hoping this pr could be merged soon...
And thanks for your work all in all.

@newpavlov

Copy link
Copy Markdown
MemberAuthor

0.9 versions should work fine on WASM. If it's a problem with our crates, can you please open an issue with a description and reproduction steps?

@newpavlov
newpavlovforce-pushed the digest/v0.10.0-pre branch 2 times, most recently from 16fd1b6 to 1f75d09CompareNovember 9, 2021 14:44
@newpavlov
newpavlov marked this pull request as ready for review November 19, 2021 19:56
@newpavlov
newpavlovforce-pushed the digest/v0.10.0-pre branch 2 times, most recently from d89101d to bcf9698CompareNovember 23, 2021 17:33
This was referenced Nov 23, 2021
@newpavlov

Copy link
Copy Markdown
MemberAuthor

BTW I wonder if we should synchronize all hasher crate versions to v0.10. It would make it much easier to see at a single glance which trait version a crate implements, but it would mean we will have a discontinuity in minor versions for some crates, e.g. sm3 will jump from v0.3 to v0.10.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants

@newpavlov@tarcieri@atenjin