question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

✨ Add support for SHA-3

See original GitHub issue

Follow-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:

  1. Introduce an API wherein either a Keccak or SHA-3 hash can be produced. (TBD)
  2. 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.
  3. 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:closed
  • Created 5 years ago
  • Comments:5

github_iconTop GitHub Comments

6reactions
canterberrycommented, Oct 29, 2018

@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.
4reactions
macalinaocommented, Jul 15, 2018

I just spent an unfortunate amount of time debugging this. This should be called node-keccak.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found