Skip to content

Deterministic Random Bit Generators from NIST SP 800-90A

License

Notifications You must be signed in to change notification settings

cryptocoinjs/drbg.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

drbg.js

NPM Package Build Status Dependency status

js-standard-style

Deterministic Random Bits Generators

Based on NIST Recommended DRBG from NIST SP800-90A with the following properties:

  • CTR DRBG with DF with AES-128, AES-192, AES-256 cores see issue #1
  • Hash DRBG with DF with SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 cores
  • HMAC DRBG with SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 cores
  • with and without prediction resistance

Installation

npm install drbg.js

Usage

var drbgs = require('drbg.js') // import HashDRBG and HmacDRBG
var HashDRBG = drbgs.HashDRBG // or require('drbg.js/hash')
var HmacDRBG = drbgs.HmacDRBG // or require('drbg.js/hmac')

var drbg2 = new HashDRBG('sha256', entropy, nonce, personalization_data)
drbg2.generate(5, additional_data) // <Buffer qq qq qq qq qq>
drbg2.reseed(entropy, personalization_data)
drbg2.generate(5, additional_data) // <Buffer ww ww ww ww ww>

var drbg3 = new HmacDRBG('sha256', entropy, nonce, personalization_data)
drbg3.generate(5, additional_data) // <Buffer ee ee ee ee ee>
drbg3.reseed(entropy, personalization_data)
drbg3.generate(5, additional_data) // <Buffer rr rr rr rr rr>

LICENSE

This library is free and open-source software released under the MIT license.

About

Deterministic Random Bit Generators from NIST SP 800-90A

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published