[Pkg-javascript-commits] [node-hmac-drbg] 01/12: initial
Bastien Roucariès
rouca at moszumanska.debian.org
Thu May 4 10:20:13 UTC 2017
This is an automated email from the git hooks/post-receive script.
rouca pushed a commit to branch master
in repository node-hmac-drbg.
commit af2f557313531718571515cf6603a0fd8989b197
Author: Fedor Indutny <fedor at indutny.com>
Date: Wed Feb 22 16:23:22 2017 -0500
initial
---
.gitignore | 2 +
.travis.yml | 11 ++
README.md | 46 ++++++
lib/hmac-drbg.js | 113 +++++++++++++
package.json | 32 ++++
test/drbg-test.js | 61 +++++++
test/fixtures/hmac-drbg-nist.json | 332 ++++++++++++++++++++++++++++++++++++++
7 files changed, 597 insertions(+)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1ca9571
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+node_modules/
+npm-debug.log
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..ce24b7a
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,11 @@
+sudo: false
+
+language: node_js
+
+node_js:
+ - "4"
+ - "6"
+ - "stable"
+
+script:
+ - npm test
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..5f1f272
--- /dev/null
+++ b/README.md
@@ -0,0 +1,46 @@
+# hmac-drbg
+[![Build Status](https://secure.travis-ci.org/indutny/hmac-drbg.svg)](http://travis-ci.org/indutny/hmac-drbg)
+[![NPM version](https://badge.fury.io/js/hmac-drbg.svg)](http://badge.fury.io/js/hmac-drbg)
+
+JS-only implementation of [HMAC DRBG][0].
+
+## Usage
+
+```js
+const DRBG = require('hmac-drbg');
+
+const d = new DRBG({
+ entropy: '0123456789abcdef',
+ nonce: '0123456789abcdef',
+ pers: '0123456789abcdef' /* or `null` */
+});
+
+d.generate(32, 'hex');
+```
+
+#### LICENSE
+
+This software is licensed under the MIT License.
+
+Copyright Fedor Indutny, 2017.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to permit
+persons to whom the Software is furnished to do so, subject to the
+following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+[0]: http://csrc.nist.gov/groups/ST/toolkit/documents/rng/HashBlockCipherDRBG.pdf
diff --git a/lib/hmac-drbg.js b/lib/hmac-drbg.js
new file mode 100644
index 0000000..ca735cc
--- /dev/null
+++ b/lib/hmac-drbg.js
@@ -0,0 +1,113 @@
+'use strict';
+
+var hash = require('hash.js');
+var utils = require('minimalistic-crypto-utils');
+var assert = require('minimalistic-assert');
+
+function HmacDRBG(options) {
+ if (!(this instanceof HmacDRBG))
+ return new HmacDRBG(options);
+ this.hash = options.hash;
+ this.predResist = !!options.predResist;
+
+ this.outLen = this.hash.outSize;
+ this.minEntropy = options.minEntropy || this.hash.hmacStrength;
+
+ this.reseed = null;
+ this.reseedInterval = null;
+ this.K = null;
+ this.V = null;
+
+ var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');
+ var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');
+ var pers = utils.toArray(options.pers, options.persEnc || 'hex');
+ assert(entropy.length >= (this.minEntropy / 8),
+ 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');
+ this._init(entropy, nonce, pers);
+}
+module.exports = HmacDRBG;
+
+HmacDRBG.prototype._init = function init(entropy, nonce, pers) {
+ var seed = entropy.concat(nonce).concat(pers);
+
+ this.K = new Array(this.outLen / 8);
+ this.V = new Array(this.outLen / 8);
+ for (var i = 0; i < this.V.length; i++) {
+ this.K[i] = 0x00;
+ this.V[i] = 0x01;
+ }
+
+ this._update(seed);
+ this.reseed = 1;
+ this.reseedInterval = 0x1000000000000; // 2^48
+};
+
+HmacDRBG.prototype._hmac = function hmac() {
+ return new hash.hmac(this.hash, this.K);
+};
+
+HmacDRBG.prototype._update = function update(seed) {
+ var kmac = this._hmac()
+ .update(this.V)
+ .update([ 0x00 ]);
+ if (seed)
+ kmac = kmac.update(seed);
+ this.K = kmac.digest();
+ this.V = this._hmac().update(this.V).digest();
+ if (!seed)
+ return;
+
+ this.K = this._hmac()
+ .update(this.V)
+ .update([ 0x01 ])
+ .update(seed)
+ .digest();
+ this.V = this._hmac().update(this.V).digest();
+};
+
+HmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {
+ // Optional entropy enc
+ if (typeof entropyEnc !== 'string') {
+ addEnc = add;
+ add = entropyEnc;
+ entropyEnc = null;
+ }
+
+ entropy = utils.toArray(entropy, entropyEnc);
+ add = utils.toArray(add, addEnc);
+
+ assert(entropy.length >= (this.minEntropy / 8),
+ 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');
+
+ this._update(entropy.concat(add || []));
+ this.reseed = 1;
+};
+
+HmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {
+ if (this.reseed > this.reseedInterval)
+ throw new Error('Reseed is required');
+
+ // Optional encoding
+ if (typeof enc !== 'string') {
+ addEnc = add;
+ add = enc;
+ enc = null;
+ }
+
+ // Optional additional data
+ if (add) {
+ add = utils.toArray(add, addEnc || 'hex');
+ this._update(add);
+ }
+
+ var temp = [];
+ while (temp.length < len) {
+ this.V = this._hmac().update(this.V).digest();
+ temp = temp.concat(this.V);
+ }
+
+ var res = temp.slice(0, len);
+ this._update(add);
+ this.reseed++;
+ return utils.encode(res, enc);
+};
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..554a880
--- /dev/null
+++ b/package.json
@@ -0,0 +1,32 @@
+{
+ "name": "hmac-drbg",
+ "version": "1.0.0",
+ "description": "Deterministic random bit generator (hmac)",
+ "main": "lib/hmac-drbg.js",
+ "scripts": {
+ "test": "mocha --reporter=spec test/*-test.js"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+ssh://git@github.com/indutny/hmac-drbg.git"
+ },
+ "keywords": [
+ "hmac",
+ "drbg",
+ "prng"
+ ],
+ "author": "Fedor Indutny <fedor at indutny.com>",
+ "license": "MIT",
+ "bugs": {
+ "url": "https://github.com/indutny/hmac-drbg/issues"
+ },
+ "homepage": "https://github.com/indutny/hmac-drbg#readme",
+ "devDependencies": {
+ "mocha": "^3.2.0"
+ },
+ "dependencies": {
+ "hash.js": "^1.0.3",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.1"
+ }
+}
diff --git a/test/drbg-test.js b/test/drbg-test.js
new file mode 100644
index 0000000..55446cc
--- /dev/null
+++ b/test/drbg-test.js
@@ -0,0 +1,61 @@
+'use strict';
+
+const assert = require('assert');
+const HmacDRBG = require('../');
+const hash = require('hash.js');
+
+describe('Hmac_DRBG', () => {
+ it('should support hmac-drbg-sha256', () => {
+ function doDrbg(opt) {
+ const drbg = HmacDRBG({
+ hash: hash.sha256,
+ entropy: opt.entropy,
+ entropyEnc: 'utf8',
+ nonce: opt.nonce,
+ nonceEnc: 'utf8',
+ pers: opt.pers,
+ persEnc: 'utf8'
+ });
+ return drbg.generate(opt.size, 'hex');
+ }
+
+ const test = [
+ {
+ entropy: 'totally random0123456789',
+ nonce: 'secret nonce',
+ pers: 'my drbg',
+ size: 32,
+ res: '018ec5f8e08c41e5ac974eb129ac297c5388ee1864324fa13d9b15cf98d9a157'
+ },
+ {
+ entropy: 'totally random0123456789',
+ nonce: 'secret nonce',
+ pers: null,
+ size: 32,
+ res: 'ed5d61ecf0ef38258e62f03bbb49f19f2cd07ba5145a840d83b134d5963b3633'
+ }
+ ];
+ for (let i = 0; i < test.length; i++)
+ assert.equal(doDrbg(test[i]), test[i].res);
+ });
+
+ describe('NIST vector', function() {
+ require('./fixtures/hmac-drbg-nist.json').forEach(function (opt) {
+ it('should not fail at ' + opt.name, function() {
+ const drbg = HmacDRBG({
+ hash: hash.sha256,
+ entropy: opt.entropy,
+ nonce: opt.nonce,
+ pers: opt.pers
+ });
+
+ let last;
+ for (let i = 0; i < opt.add.length; i++) {
+ let add = opt.add[i];
+ last = drbg.generate(opt.expected.length / 2, 'hex', add);
+ }
+ assert.equal(last, opt.expected);
+ });
+ });
+ });
+});
diff --git a/test/fixtures/hmac-drbg-nist.json b/test/fixtures/hmac-drbg-nist.json
new file mode 100644
index 0000000..fce148a
--- /dev/null
+++ b/test/fixtures/hmac-drbg-nist.json
@@ -0,0 +1,332 @@
+[
+ {
+ "name": "0",
+ "entropy": "ca851911349384bffe89de1cbdc46e6831e44d34a4fb935ee285dd14b71a7488",
+ "nonce": "659ba96c601dc69fc902940805ec0ca8",
+ "pers": null,
+ "add": [
+ null,
+ null
+ ],
+ "expected": "e528e9abf2dece54d47c7e75e5fe302149f817ea9fb4bee6f4199697d04d5b89d54fbb978a15b5c443c9ec21036d2460b6f73ebad0dc2aba6e624abf07745bc107694bb7547bb0995f70de25d6b29e2d3011bb19d27676c07162c8b5ccde0668961df86803482cb37ed6d5c0bb8d50cf1f50d476aa0458bdaba806f48be9dcb8"
+ },
+ {
+ "name": "1",
+ "entropy": "79737479ba4e7642a221fcfd1b820b134e9e3540a35bb48ffae29c20f5418ea3",
+ "nonce": "3593259c092bef4129bc2c6c9e19f343",
+ "pers": null,
+ "add": [
+ null,
+ null
+ ],
+ "expected": "cf5ad5984f9e43917aa9087380dac46e410ddc8a7731859c84e9d0f31bd43655b924159413e2293b17610f211e09f770f172b8fb693a35b85d3b9e5e63b1dc252ac0e115002e9bedfb4b5b6fd43f33b8e0eafb2d072e1a6fee1f159df9b51e6c8da737e60d5032dd30544ec51558c6f080bdbdab1de8a939e961e06b5f1aca37"
+ },
+ {
+ "name": "2",
+ "entropy": "b340907445b97a8b589264de4a17c0bea11bb53ad72f9f33297f05d2879d898d",
+ "nonce": "65cb27735d83c0708f72684ea58f7ee5",
+ "pers": null,
+ "add": [
+ null,
+ null
+ ],
+ "expected": "75183aaaf3574bc68003352ad655d0e9ce9dd17552723b47fab0e84ef903694a32987eeddbdc48efd24195dbdac8a46ba2d972f5808f23a869e71343140361f58b243e62722088fe10a98e43372d252b144e00c89c215a76a121734bdc485486f65c0b16b8963524a3a70e6f38f169c12f6cbdd169dd48fe4421a235847a23ff"
+ },
+ {
+ "name": "3",
+ "entropy": "8e159f60060a7d6a7e6fe7c9f769c30b98acb1240b25e7ee33f1da834c0858e7",
+ "nonce": "c39d35052201bdcce4e127a04f04d644",
+ "pers": null,
+ "add": [
+ null,
+ null
+ ],
+ "expected": "62910a77213967ea93d6457e255af51fc79d49629af2fccd81840cdfbb4910991f50a477cbd29edd8a47c4fec9d141f50dfde7c4d8fcab473eff3cc2ee9e7cc90871f180777a97841597b0dd7e779eff9784b9cc33689fd7d48c0dcd341515ac8fecf5c55a6327aea8d58f97220b7462373e84e3b7417a57e80ce946d6120db5"
+ },
+ {
+ "name": "4",
+ "entropy": "74755f196305f7fb6689b2fe6835dc1d81484fc481a6b8087f649a1952f4df6a",
+ "nonce": "c36387a544a5f2b78007651a7b74b749",
+ "pers": null,
+ "add": [
+ null,
+ null
+ ],
+ "expected": "b2896f3af4375dab67e8062d82c1a005ef4ed119d13a9f18371b1b873774418684805fd659bfd69964f83a5cfe08667ddad672cafd16befffa9faed49865214f703951b443e6dca22edb636f3308380144b9333de4bcb0735710e4d9266786342fc53babe7bdbe3c01a3addb7f23c63ce2834729fabbd419b47beceb4a460236"
+ },
+ {
+ "name": "5",
+ "entropy": "4b222718f56a3260b3c2625a4cf80950b7d6c1250f170bd5c28b118abdf23b2f",
+ "nonce": "7aed52d0016fcaef0b6492bc40bbe0e9",
+ "pers": null,
+ "add": [
+ null,
+ null
+ ],
+ "expected": "a6da029b3665cd39fd50a54c553f99fed3626f4902ffe322dc51f0670dfe8742ed48415cf04bbad5ed3b23b18b7892d170a7dcf3ef8052d5717cb0c1a8b3010d9a9ea5de70ae5356249c0e098946030c46d9d3d209864539444374d8fbcae068e1d6548fa59e6562e6b2d1acbda8da0318c23752ebc9be0c1c1c5b3cf66dd967"
+ },
+ {
+ "name": "6",
+ "entropy": "b512633f27fb182a076917e39888ba3ff35d23c3742eb8f3c635a044163768e0",
+ "nonce": "e2c39b84629a3de5c301db5643af1c21",
+ "pers": null,
+ "add": [
+ null,
+ null
+ ],
+ "expected": "fb931d0d0194a97b48d5d4c231fdad5c61aedf1c3a55ac24983ecbf38487b1c93396c6b86ff3920cfa8c77e0146de835ea5809676e702dee6a78100da9aa43d8ec0bf5720befa71f82193205ac2ea403e8d7e0e6270b366dc4200be26afd9f63b7e79286a35c688c57cbff55ac747d4c28bb80a2b2097b3b62ea439950d75dff"
+ },
+ {
+ "name": "7",
+ "entropy": "aae3ffc8605a975befefcea0a7a286642bc3b95fb37bd0eb0585a4cabf8b3d1e",
+ "nonce": "9504c3c0c4310c1c0746a036c91d9034",
+ "pers": null,
+ "add": [
+ null,
+ null
+ ],
+ "expected": "2819bd3b0d216dad59ddd6c354c4518153a2b04374b07c49e64a8e4d055575dfbc9a8fcde68bd257ff1ba5c6000564b46d6dd7ecd9c5d684fd757df62d85211575d3562d7814008ab5c8bc00e7b5a649eae2318665b55d762de36eba00c2906c0e0ec8706edb493e51ca5eb4b9f015dc932f262f52a86b11c41e9a6d5b3bd431"
+ },
+ {
+ "name": "8",
+ "entropy": "b9475210b79b87180e746df704b3cbc7bf8424750e416a7fbb5ce3ef25a82cc6",
+ "nonce": "24baf03599c10df6ef44065d715a93f7",
+ "pers": null,
+ "add": [
+ null,
+ null
+ ],
+ "expected": "ae12d784f796183c50db5a1a283aa35ed9a2b685dacea97c596ff8c294906d1b1305ba1f80254eb062b874a8dfffa3378c809ab2869aa51a4e6a489692284a25038908a347342175c38401193b8afc498077e10522bec5c70882b7f760ea5946870bd9fc72961eedbe8bff4fd58c7cc1589bb4f369ed0d3bf26c5bbc62e0b2b2"
+ },
+ {
+ "name": "9",
+ "entropy": "27838eb44ceccb4e36210703ebf38f659bc39dd3277cd76b7a9bcd6bc964b628",
+ "nonce": "39cfe0210db2e7b0eb52a387476e7ea1",
+ "pers": null,
+ "add": [
+ null,
+ null
+ ],
+ "expected": "e5e72a53605d2aaa67832f97536445ab774dd9bff7f13a0d11fd27bf6593bfb52309f2d4f09d147192199ea584503181de87002f4ee085c7dc18bf32ce5315647a3708e6f404d6588c92b2dda599c131aa350d18c747b33dc8eda15cf40e95263d1231e1b4b68f8d829f86054d49cfdb1b8d96ab0465110569c8583a424a099a"
+ },
+ {
+ "name": "10",
+ "entropy": "d7129e4f47008ad60c9b5d081ff4ca8eb821a6e4deb91608bf4e2647835373a5",
+ "nonce": "a72882773f78c2fc4878295840a53012",
+ "pers": null,
+ "add": [
+ null,
+ null
+ ],
+ "expected": "0cbf48585c5de9183b7ff76557f8fc9ebcfdfde07e588a8641156f61b7952725bbee954f87e9b937513b16bba0f2e523d095114658e00f0f3772175acfcb3240a01de631c19c5a834c94cc58d04a6837f0d2782fa53d2f9f65178ee9c837222494c799e64c60406069bd319549b889fa00a0032dd7ba5b1cc9edbf58de82bfcd"
+ },
+ {
+ "name": "11",
+ "entropy": "67fe5e300c513371976c80de4b20d4473889c9f1214bce718bc32d1da3ab7532",
+ "nonce": "e256d88497738a33923aa003a8d7845c",
+ "pers": null,
+ "add": [
+ null,
+ null
+ ],
+ "expected": "b44660d64ef7bcebc7a1ab71f8407a02285c7592d755ae6766059e894f694373ed9c776c0cfc8594413eefb400ed427e158d687e28da3ecc205e0f7370fb089676bbb0fa591ec8d916c3d5f18a3eb4a417120705f3e2198154cd60648dbfcfc901242e15711cacd501b2c2826abe870ba32da785ed6f1fdc68f203d1ab43a64f"
+ },
+ {
+ "name": "12",
+ "entropy": "de8142541255c46d66efc6173b0fe3ffaf5936c897a3ce2e9d5835616aafa2cb",
+ "nonce": "d01f9002c407127bc3297a561d89b81d",
+ "pers": null,
+ "add": [
+ null,
+ null
+ ],
+ "expected": "64d1020929d74716446d8a4e17205d0756b5264867811aa24d0d0da8644db25d5cde474143c57d12482f6bf0f31d10af9d1da4eb6d701bdd605a8db74fb4e77f79aaa9e450afda50b18d19fae68f03db1d7b5f1738d2fdce9ad3ee9461b58ee242daf7a1d72c45c9213eca34e14810a9fca5208d5c56d8066bab1586f1513de7"
+ },
+ {
+ "name": "13",
+ "entropy": "4a8e0bd90bdb12f7748ad5f147b115d7385bb1b06aee7d8b76136a25d779bcb7",
+ "nonce": "7f3cce4af8c8ce3c45bdf23c6b181a00",
+ "pers": null,
+ "add": [
+ null,
+ null
+ ],
+ "expected": "320c7ca4bbeb7af977bc054f604b5086a3f237aa5501658112f3e7a33d2231f5536d2c85c1dad9d9b0bf7f619c81be4854661626839c8c10ae7fdc0c0b571be34b58d66da553676167b00e7d8e49f416aacb2926c6eb2c66ec98bffae20864cf92496db15e3b09e530b7b9648be8d3916b3c20a3a779bec7d66da63396849aaf"
+ },
+ {
+ "name": "14",
+ "entropy": "451ed024bc4b95f1025b14ec3616f5e42e80824541dc795a2f07500f92adc665",
+ "nonce": "2f28e6ee8de5879db1eccd58c994e5f0",
+ "pers": null,
+ "add": [
+ null,
+ null
+ ],
+ "expected": "3fb637085ab75f4e95655faae95885166a5fbb423bb03dbf0543be063bcd48799c4f05d4e522634d9275fe02e1edd920e26d9accd43709cb0d8f6e50aa54a5f3bdd618be23cf73ef736ed0ef7524b0d14d5bef8c8aec1cf1ed3e1c38a808b35e61a44078127c7cb3a8fd7addfa50fcf3ff3bc6d6bc355d5436fe9b71eb44f7fd"
+ },
+ {
+ "name": "0 with additional data",
+ "entropy": "d3cc4d1acf3dde0c4bd2290d262337042dc632948223d3a2eaab87da44295fbd",
+ "nonce": "0109b0e729f457328aa18569a9224921",
+ "pers": null,
+ "add": [
+ "3c311848183c9a212a26f27f8c6647e40375e466a0857cc39c4e47575d53f1f6",
+ "fcb9abd19ccfbccef88c9c39bfb3dd7b1c12266c9808992e305bc3cff566e4e4"
+ ],
+ "expected": "9c7b758b212cd0fcecd5daa489821712e3cdea4467b560ef5ddc24ab47749a1f1ffdbbb118f4e62fcfca3371b8fbfc5b0646b83e06bfbbab5fac30ea09ea2bc76f1ea568c9be0444b2cc90517b20ca825f2d0eccd88e7175538b85d90ab390183ca6395535d34473af6b5a5b88f5a59ee7561573337ea819da0dcc3573a22974"
+ },
+ {
+ "name": "1 with additional data",
+ "entropy": "f97a3cfd91faa046b9e61b9493d436c4931f604b22f1081521b3419151e8ff06",
+ "nonce": "11f3a7d43595357d58120bd1e2dd8aed",
+ "pers": null,
+ "add": [
+ "517289afe444a0fe5ed1a41dbbb5eb17150079bdd31e29cf2ff30034d8268e3b",
+ "88028d29ef80b4e6f0fe12f91d7449fe75062682e89c571440c0c9b52c42a6e0"
+ ],
+ "expected": "c6871cff0824fe55ea7689a52229886730450e5d362da5bf590dcf9acd67fed4cb32107df5d03969a66b1f6494fdf5d63d5b4d0d34ea7399a07d0116126d0d518c7c55ba46e12f62efc8fe28a51c9d428e6d371d7397ab319fc73ded4722e5b4f30004032a6128df5e7497ecf82ca7b0a50e867ef6728a4f509a8c859087039c"
+ },
+ {
+ "name": "2 with additional data",
+ "entropy": "0f2f23d64f481cabec7abb01db3aabf125c3173a044b9bf26844300b69dcac8b",
+ "nonce": "9a5ae13232b43aa19cfe8d7958b4b590",
+ "pers": null,
+ "add": [
+ "ec4c7a62acab73385f567da10e892ff395a0929f959231a5628188ce0c26e818",
+ "6b97b8c6b6bb8935e676c410c17caa8042aa3145f856d0a32b641e4ae5298648"
+ ],
+ "expected": "7480a361058bd9afa3db82c9d7586e42269102013f6ec5c269b6d05f17987847748684766b44918fd4b65e1648622fc0e0954178b0279dfc9fa99b66c6f53e51c4860131e9e0644287a4afe4ca8e480417e070db68008a97c3397e4b320b5d1a1d7e1d18a95cfedd7d1e74997052bf649d132deb9ec53aae7dafdab55e6dae93"
+ },
+ {
+ "name": "3 with additional data",
+ "entropy": "53c56660c78481be9c63284e005fcc14fbc7fb27732c9bf1366d01a426765a31",
+ "nonce": "dc7a14d0eb5b0b3534e717a0b3c64614",
+ "pers": null,
+ "add": [
+ "3aa848706ecb877f5bedf4ffc332d57c22e08747a47e75cff6f0fd1316861c95",
+ "9a401afa739b8f752fddacd291e0b854f5eff4a55b515e20cb319852189d3722"
+ ],
+ "expected": "5c0eb420e0bf41ce9323e815310e4e8303cd677a8a8b023f31f0d79f0ca15aeb636099a369fd074d69889865eac1b72ab3cbfebdb8cf460b00072802e2ec648b1349a5303be4ccaadd729f1a9ea17482fd026aaeb93f1602bc1404b9853adde40d6c34b844cf148bc088941ecfc1642c8c0b9778e45f3b07e06e21ee2c9e0300"
+ },
+ {
+ "name": "4 with additional data",
+ "entropy": "f63c804404902db334c54bb298fc271a21d7acd9f770278e089775710bf4fdd7",
+ "nonce": "3e45009ea9cb2a36ba1aa4bf39178200",
+ "pers": null,
+ "add": [
+ "d165a13dc8cc43f3f0952c3f5d3de4136954d983683d4a3e6d2dc4c89bf23423",
+ "75106bc86d0336df85097f6af8e80e2da59046a03fa65b06706b8bbc7ffc6785"
+ ],
+ "expected": "6363139bba32c22a0f5cd23ca6d437b5669b7d432f786b8af445471bee0b2d24c9d5f2f93717cbe00d1f010cc3b9c515fc9f7336d53d4d26ba5c0d76a90186663c8582eb739c7b6578a3328bf68dc2cec2cd89b3a90201f6993adcc854df0f5c6974d0f5570765a15fe03dbce28942dd2fd16ba2027e68abac83926969349af8"
+ },
+ {
+ "name": "5 with additional data",
+ "entropy": "2aaca9147da66c176615726b69e3e851cc3537f5f279fe7344233d8e44cfc99d",
+ "nonce": "4e171f080af9a6081bee9f183ac9e340",
+ "pers": null,
+ "add": [
+ "d75a2a6eb66c3833e50f5ec3d2e434cf791448d618026d0c360806d120ded669",
+ "b643b74c15b37612e6577ed7ca2a4c67a78d560af9eb50a4108fca742e87b8d6"
+ ],
+ "expected": "501dcdc977f4ba856f24eaa4968b374bebb3166b280334cb510232c31ebffde10fa47b7840ef3fe3b77725c2272d3a1d4219baf23e0290c622271edcced58838cf428f0517425d2e19e0d8c89377eecfc378245f283236fafa466c914b99672ceafab369e8889a0c866d8bd639db9fb797254262c6fd44cfa9045ad6340a60ef"
+ },
+ {
+ "name": "6 with additional data",
+ "entropy": "a2e4cd48a5cf918d6f55942d95fcb4e8465cdc4f77b7c52b6fae5b16a25ca306",
+ "nonce": "bef036716440db6e6d333d9d760b7ca8",
+ "pers": null,
+ "add": [
+ "bfa591c7287f3f931168f95e38869441d1f9a11035ad8ea625bb61b9ea17591c",
+ "c00c735463bca215adc372cb892b05e939bf669583341c06d4e31d0e5b363a37"
+ ],
+ "expected": "e7d136af69926a5421d4266ee0420fd729f2a4f7c295d3c966bdfa05268180b508b8a2852d1b3a06fd2ab3e13c54005123ef319f42d0c6d3a575e6e7e1496cb28aacadbcf83740fba8f35fcee04bb2ed8a51db3d3362b01094a62fb57e33c99a432f29fce6676cffbbcc05107e794e75e44a02d5e6d9d748c5fbff00a0178d65"
+ },
+ {
+ "name": "7 with additional data",
+ "entropy": "95a67771cba69011a79776e713145d309edae56fad5fd6d41d83eaff89df6e5e",
+ "nonce": "be5b5164e31ecc51ba6f7c3c5199eb33",
+ "pers": null,
+ "add": [
+ "065f693b229a7c4fd373cd15b3807552dd9bf98c5485cef361949d4e7d774b53",
+ "9afb62406f0e812c4f156d58b19a656c904813c1b4a45a0029ae7f50731f8014"
+ ],
+ "expected": "f61b61a6e79a41183e8ed6647899d2dc85cdaf5c3abf5c7f3bf37685946dc28f4923dc842f2d4326bd6ce0d50a84cb3ba869d72a36e246910eba6512ba36cd7ed3a5437c9245b00a344308c792b668b458d3c3e16dee2fbec41867da31084d46d8ec168de2148ef64fc5b72069abf5a6ada1ead2b7146bb793ff1c9c3690fa56"
+ },
+ {
+ "name": "8 with additional data",
+ "entropy": "a459e1815cbca4514ec8094d5ab2414a557ba6fe10e613c345338d0521e4bf90",
+ "nonce": "62221392e2552e76cd0d36df6e6068eb",
+ "pers": null,
+ "add": [
+ "0a3642b02b23b3ef62c701a63401124022f5b896de86dab6e6c7451497aa1dcc",
+ "c80514865901371c45ba92d9f95d50bb7c9dd1768cb3dfbc45b968da94965c6e"
+ ],
+ "expected": "464e6977b8adaef307c9623e41c357013249c9ffd77f405f3925cebb69f151ce8fbb6a277164002aee7858fc224f6499042aa1e6322deee9a5d133c31d640e12a7487c731ba03ad866a24675badb1d79220c40be689f79c2a0be93cb4dada3e0eac4ab140cb91998b6f11953e68f2319b050c40f71c34de9905ae41b2de1c2f6"
+ },
+ {
+ "name": "9 with additional data",
+ "entropy": "252c2cad613e002478162861880979ee4e323025eebb6fb2e0aa9f200e28e0a1",
+ "nonce": "d001bc9a8f2c8c242e4369df0c191989",
+ "pers": null,
+ "add": [
+ "9bcfc61cb2bc000034bb3db980eb47c76fb5ecdd40553eff113368d639b947fd",
+ "8b0565c767c2610ee0014582e9fbecb96e173005b60e9581503a6dca5637a26e"
+ ],
+ "expected": "e96c15fe8a60692b0a7d67171e0195ff6e1c87aab844221e71700d1bbee75feea695f6a740c9760bbe0e812ecf4061d8f0955bc0195e18c4fd1516ebca50ba6a6db86881737dbab8321707675479b87611db6af2c97ea361a5484555ead454defb1a64335de964fc803d40f3a6f057893d2afc25725754f4f00abc51920743dc"
+ },
+ {
+ "name": "10 with additional data",
+ "entropy": "8be0ca6adc8b3870c9d69d6021bc1f1d8eb9e649073d35ee6c5aa0b7e56ad8a5",
+ "nonce": "9d1265f7d51fdb65377f1e6edd6ae0e4",
+ "pers": null,
+ "add": [
+ "da86167ac997c406bb7979f423986a84ec6614d6caa7afc10aff0699a9b2cf7f",
+ "e4baa3c555950b53e2bfdba480cb4c94b59381bac1e33947e0c22e838a9534cf"
+ ],
+ "expected": "64384ecc4ea6b458efc227ca697eac5510092265520c0a0d8a0ccf9ed3ca9d58074671188c6a7ad16d0b050cdc072c125d7298d3a31d9f044a9ee40da0089a84fea28cc7f05f1716db952fad29a0e779635cb7a912a959be67be2f0a4170aace2981802e2ff6467e5b46f0ffbff3b42ba5935fd553c82482ac266acf1cd247d7"
+ },
+ {
+ "name": "11 with additional data",
+ "entropy": "d43a75b6adf26d60322284cb12ac38327792442aa8f040f60a2f331b33ac4a8f",
+ "nonce": "0682f8b091f811afacaacaec9b04d279",
+ "pers": null,
+ "add": [
+ "7fd3b8f512940da7de5d80199d9a7b42670c04a945775a3dba869546cbb9bc65",
+ "2575db20bc7aafc2a90a5dabab760db851d754777bc9f05616af1858b24ff3da"
+ ],
+ "expected": "0da7a8dc73c163014bf0841913d3067806456bbca6d5de92b85534c6545467313648d71ef17c923d090dc92cff8d4d1a9a2bb63e001dc2e8ab1a597999be3d6cf70ff63fee9985801395fbd4f4990430c4259fcae4fa1fcd73dc3187ccc102d04af7c07532885e5a226fc42809c48f22eecf4f6ab996ae4fcb144786957d9f41"
+ },
+ {
+ "name": "12 with additional data",
+ "entropy": "64352f236af5d32067a529a8fd05ba00a338c9de306371a0b00c36e610a48d18",
+ "nonce": "df99ed2c7608c870624b962a5dc68acd",
+ "pers": null,
+ "add": [
+ "da416335e7aaf60cf3d06fb438735ce796aad09034f8969c8f8c3f81e32fef24",
+ "a28c07c21a2297311adf172c19e83ca0a87731bdffb80548978d2d1cd82cf8a3"
+ ],
+ "expected": "132b9f25868729e3853d3c51f99a3b5fae6d4204bea70890daf62e042b776a526c8fb831b80a6d5d3f153237df1fd39b6fd9137963f5516d9cdd4e3f9195c46e9972c15d3edc6606e3368bde1594977fb88d0ca6e6f5f3d057ccadc7d7dab77dfc42658a1e972aa446b20d418286386a52dfc1c714d2ac548713268b0b709729"
+ },
+ {
+ "name": "13 with additional data",
+ "entropy": "282f4d2e05a2cd30e9087f5633089389449f04bac11df718c90bb351cd3653a5",
+ "nonce": "90a7daf3c0de9ea286081efc4a684dfb",
+ "pers": null,
+ "add": [
+ "2630b4ccc7271cc379cb580b0aaede3d3aa8c1c7ba002cf791f0752c3d739007",
+ "c31d69de499f1017be44e3d4fa77ecebc6a9b9934749fcf136f267b29115d2cc"
+ ],
+ "expected": "c899094520e0197c37b91dd50778e20a5b950decfb308d39f1db709447ae48f6101d9abe63a783fbb830eec1d359a5f61a2013728966d349213ee96382614aa4135058a967627183810c6622a2158cababe3b8ab99169c89e362108bf5955b4ffc47440f87e4bad0d36bc738e737e072e64d8842e7619f1be0af1141f05afe2d"
+ },
+ {
+ "name": "14 with additional data",
+ "entropy": "13c752b9e745ce77bbc7c0dbda982313d3fe66f903e83ebd8dbe4ff0c11380e9",
+ "nonce": "f1a533095d6174164bd7c82532464ae7",
+ "pers": null,
+ "add": [
+ "4f53db89b9ba7fc00767bc751fb8f3c103fe0f76acd6d5c7891ab15b2b7cf67c",
+ "582c2a7d34679088cca6bd28723c99aac07db46c332dc0153d1673256903b446"
+ ],
+ "expected": "6311f4c0c4cd1f86bd48349abb9eb930d4f63df5e5f7217d1d1b91a71d8a6938b0ad2b3e897bd7e3d8703db125fab30e03464fad41e5ddf5bf9aeeb5161b244468cfb26a9d956931a5412c97d64188b0da1bd907819c686f39af82e91cfeef0cbffb5d1e229e383bed26d06412988640706815a6e820796876f416653e464961"
+ }
+]
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/node-hmac-drbg.git
More information about the Pkg-javascript-commits
mailing list