✨ Add support for SHA-3
See original GitHub issueFollow-up to #14.
Currently this library only supports Keccak, which although has a shared history with SHA-3, produces a different result.
The goal of this issue is to devise a plan to introduce SHA-3 into this library, in addition to the current Keccak implementation, in the least impactful manner.
The phased transition from Keccak to SHA-3 as the primary algorithm provided by this library is as follows:
- Introduce an API wherein either a Keccak or SHA-3 hash can be produced. (TBD)
- In a new minor release, the current API ,
new SHA3.SHA3Hash()
, should be marked as deprecated with a note to use the new API introduced in phase 1. For compatibility,new SHA3.SHA3Hash()
should be aliased to initializing a new Keccak hash using the new API. - In a new major release, the current API,
new SHA3.SHA3Hash()
, should be removed, and the path of least resistance in this library, in keeping with the library’s name, should be to produce a SHA-3 hash rather than a Keccak hash.
In addition to the code-level changes related to each of the above phases, there should be ample notice and engagement with dependent projects, wherever possible, to help ensure a smooth transition.
Issue Analytics
- State:
- Created 5 years ago
- Comments:5
Top Results From Across the Web
Add support for XOF algorithms (e.g: SHAKE128 and ... - GitHub
This is adequate for the Keccak and SHA-3 algorithms, but not SHAKE or any other XOF algorithm using the sponge construct like KangarooTwelve....
Read more >Support for SHA3 algorithm | Apple Developer Forums
Does swift have default support for SHA3-256 hashing algorithm for all devices iOS 12 and above? Yes. Just to be clear, SHA-3 is...
Read more >Add support for SHA3 as a hash algorithm for signatures
SHA3 has been finalized with FIPS202 publication. We should support it as a hash algorithm for signing and verifying certificates.
Read more >JDK-8000415 Add support for SHA-3 - Java Bug Database
JDK-8000415 : Add support for SHA-3. Type: Enhancement; Component: security-libs; Sub-Component: java.security; Affected Version: 7,8.
Read more >SHA3 support in Calculate Hash APIs - IBM
Abstract. The Calculate Hash APIs (QC3CALHA and Qc3CalculateHash) and the Create Algorithm Context APIs (QC3CRTAX and Qc3CreateAlgorithmContext) ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
@steakknife @miguelmota
This is delivered in #44, which updates the API to the following:
new SHA3.SHA3Hash(256)
works exactly as it does today.new SHA3.Keccak(256)
initializes a Keccak-256 hash with the same API as above.new SHA3.SHA3(256)
initializes a SHA3-256 hash with the same API as above.I just spent an unfortunate amount of time debugging this. This should be called node-keccak.