Giter Site home page Giter Site logo

SHA3 about jssha HOT 12 CLOSED

caligatio avatar caligatio commented on May 31, 2024
SHA3

from jssha.

Comments (12)

Caligatio avatar Caligatio commented on May 31, 2024

I'm definitely going to add it once it gets added to the standard. When the winner was first announced, I looked into adding it then but, if I recall correctly, the candidate had a lot of options. I suspect when NIST officially updates the standard that the number of available options will be whittled down.

from jssha.

clayzermk1 avatar clayzermk1 commented on May 31, 2024

👍

There's been quite a bit of progress, at least they have a draft now based on Keccak.

http://csrc.nist.gov/groups/ST/hash/index.html
http://keccak.noekeon.org/

from jssha.

Caligatio avatar Caligatio commented on May 31, 2024

I'm hoping by the end of the year that there will be a final standard that I can implement (not terribly excited for four more algorithms but such is life). I really want to avoid shipping draft standards because then, if they change, all your stored hashes are garbage.

from jssha.

clayzermk1 avatar clayzermk1 commented on May 31, 2024

A very valid point 😀

from jssha.

nazar-pc avatar nazar-pc commented on May 31, 2024

It is already here)

from jssha.

Caligatio avatar Caligatio commented on May 31, 2024

Thanks @nazar-pc for the heads-up. It appears that there will be some confusion with SHA-3 variants vs SHA-2 (i.e. there are 224, 256, 384, and 512 for both) so this may justify a v3 release and changing all the names to be like SHA2-256 and SHA3-256.

The next month is going to be hectic for me so this may unfortunately take me some time.

from jssha.

vogievetsky avatar vogievetsky commented on May 31, 2024

Definitely +1 for the SHA3 stuff. Also +1 for a v3 release with name changes to SHA2-256 e.t.c.

from jssha.

Caligatio avatar Caligatio commented on May 31, 2024

I took a look at the NIST spec and it definitely seems like it's written by math people and not programmers :( That combined with the fact all the implementations that exist are for the pre-NIST spec make this a lot rougher than I was hoping.

from jssha.

 avatar commented on May 31, 2024

It’s been a while… but maybe the following helps for “inspiration”:

https://github.com/search?l=JavaScript&q=sha3&type=Repositories&utf8=%E2%9C%93

from jssha.

Caligatio avatar Caligatio commented on May 31, 2024

It was literally as bad as I thought but I have untested support for non-SHAKE SHA3 in my sha3 branch sha_dev.js Note that the compiled versions aren't there yet and I've only tested the 4 variants with "abc".

I need to tackle SHAKE128 and SHAKE256 which, I hope, won't be too bad. If anyone wants to do a PR for unit tests, I'd be very appreciative.

from jssha.

Caligatio avatar Caligatio commented on May 31, 2024

I got all the unit tests passing for the fixed-length SHA3 variants (including HMAC). Next up are the SHAKEs.

The sha3 branch has the compiled versions as well if you want to play with them.

from jssha.

Caligatio avatar Caligatio commented on May 31, 2024

Closing this as done with commit e191a57

from jssha.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.