sha256 testing
This commit is contained in:
parent
9941aac2f2
commit
8bd0fac913
1
test/circuits/in.json
Normal file
1
test/circuits/in.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"in":[0,1,1,0,0,0,0,1,0,1,1,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,1,0,0,1,0,0,0,1,1,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,1,0,0,1,0,0,0,1,1,0,0,1,0,1,0,1,1,0,0,0,1,1,0,1,1,0,0,1,0,0,0,1,1,0,0,1,0,1,0,1,1,0,0,1,1,0,0,1,1,0,0,1,0,0,0,1,1,0,0,1,0,1,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,1,0,1,1,0,0,1,0,1,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,1,0,1,1,0,1,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,1,0,1,1,0,1,0,0,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,0,0,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,1,0,0,1,1,0,1,0,0,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,1,0,0,1,1,0,1,0,1,1,0,1,1,0,1,0,0,1,0,1,1,0,1,0,1,0,0,1,1,0,1,0,1,1,0,1,1,0,1,1,0,0,0,1,1,0,1,0,1,0,0,1,1,0,1,0,1,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,1,0,1,1,0,1,0,1,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,1,0,1,1,0,1,1,1,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,1,0,1,1,0,1,1,1,0,0,1,1,0,1,1,1,1,0,1,1,0,1,1,0,1,0,1,1,0,1,1,1,0,0,1,1,0,1,1,1,1,0,1,1,1,0,0,0,0,0,1,1,0,1,1,1,0,0,1,1,0,1,1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,1]}
|
62307
test/circuits/out.json
Normal file
62307
test/circuits/out.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -3,12 +3,12 @@ const path = require("path");
|
|||||||
const snarkjs = require("snarkjs");
|
const snarkjs = require("snarkjs");
|
||||||
const crypto = require("crypto");
|
const crypto = require("crypto");
|
||||||
|
|
||||||
const compiler = require("circom");
|
|
||||||
|
|
||||||
const assert = chai.assert;
|
const assert = chai.assert;
|
||||||
|
|
||||||
const sha256 = require("./helpers/sha256");
|
const sha256 = require("./helpers/sha256");
|
||||||
|
|
||||||
|
const c_tester = require("circom").c_tester;
|
||||||
|
|
||||||
// const printSignal = require("./helpers/printsignal");
|
// const printSignal = require("./helpers/printsignal");
|
||||||
|
|
||||||
|
|
||||||
@ -34,9 +34,10 @@ function bitArray2buffer(a) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
describe("SHA256 test", () => {
|
describe("SHA256 test", function () {
|
||||||
|
this.timeout(100000);
|
||||||
|
|
||||||
|
/*
|
||||||
it("Should work bits to array and array to bits", async () => {
|
it("Should work bits to array and array to bits", async () => {
|
||||||
const b = new Buffer.alloc(64);
|
const b = new Buffer.alloc(64);
|
||||||
for (let i=0; i<64; i++) {
|
for (let i=0; i<64; i++) {
|
||||||
@ -80,11 +81,9 @@ describe("SHA256 test", () => {
|
|||||||
console.log("Vars: "+circuit.nVars);
|
console.log("Vars: "+circuit.nVars);
|
||||||
console.log("Constraints: "+circuit.nConstraints);
|
console.log("Constraints: "+circuit.nConstraints);
|
||||||
|
|
||||||
/*
|
// const testStr = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq";
|
||||||
const testStr = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq";
|
|
||||||
|
|
||||||
const b = Buffer.from(testStr, 'utf8');
|
// const b = Buffer.from(testStr, 'utf8');
|
||||||
*/
|
|
||||||
const b = new Buffer.alloc(64);
|
const b = new Buffer.alloc(64);
|
||||||
for (let i=0; i<64; i++) {
|
for (let i=0; i<64; i++) {
|
||||||
b[i] = i+1;
|
b[i] = i+1;
|
||||||
@ -95,7 +94,7 @@ describe("SHA256 test", () => {
|
|||||||
.digest("hex");
|
.digest("hex");
|
||||||
|
|
||||||
const arrIn = buffer2bitArray(b);
|
const arrIn = buffer2bitArray(b);
|
||||||
const witness = circuit.calculateWitness({ "in": arrIn } /*, {logOutput: true} */);
|
const witness = circuit.calculateWitness({ "in": arrIn } , {logOutput: false} );
|
||||||
|
|
||||||
const arrOut = witness.slice(1, 257);
|
const arrOut = witness.slice(1, 257);
|
||||||
const hash2 = bitArray2buffer(arrOut).toString("hex");
|
const hash2 = bitArray2buffer(arrOut).toString("hex");
|
||||||
@ -116,16 +115,16 @@ describe("SHA256 test", () => {
|
|||||||
const testStr = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq";
|
const testStr = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq";
|
||||||
|
|
||||||
const b = Buffer.from(testStr, 'utf8');
|
const b = Buffer.from(testStr, 'utf8');
|
||||||
/* for (let i=0; i<64; i++) {
|
// for (let i=0; i<64; i++) {
|
||||||
b[i] = i+1;
|
// b[i] = i+1;
|
||||||
}
|
// }
|
||||||
*/
|
|
||||||
const hash = crypto.createHash("sha256")
|
const hash = crypto.createHash("sha256")
|
||||||
.update(b)
|
.update(b)
|
||||||
.digest("hex");
|
.digest("hex");
|
||||||
|
|
||||||
const arrIn = buffer2bitArray(b);
|
const arrIn = buffer2bitArray(b);
|
||||||
const witness = circuit.calculateWitness({ "in": arrIn } /*, {logOutput: true} */);
|
const witness = circuit.calculateWitness({ "in": arrIn }, {logOutput: false});
|
||||||
|
|
||||||
const arrOut = witness.slice(1, 257);
|
const arrOut = witness.slice(1, 257);
|
||||||
const hash2 = bitArray2buffer(arrOut).toString("hex");
|
const hash2 = bitArray2buffer(arrOut).toString("hex");
|
||||||
@ -133,4 +132,27 @@ describe("SHA256 test", () => {
|
|||||||
assert.equal(hash, hash2);
|
assert.equal(hash, hash2);
|
||||||
|
|
||||||
}).timeout(1000000);
|
}).timeout(1000000);
|
||||||
|
*/
|
||||||
|
it ("Should calculate a hash of 2 compressor", async () => {
|
||||||
|
const cir = await c_tester(path.join(__dirname, "circuits", "sha256_test448.circom"));
|
||||||
|
|
||||||
|
const testStr = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq";
|
||||||
|
|
||||||
|
const b = Buffer.from(testStr, "utf8");
|
||||||
|
|
||||||
|
const hash = crypto.createHash("sha256")
|
||||||
|
.update(b)
|
||||||
|
.digest("hex");
|
||||||
|
|
||||||
|
const arrIn = buffer2bitArray(b);
|
||||||
|
|
||||||
|
console.log(JSON.stringify({ "in": arrIn }));
|
||||||
|
const witness = await cir.calculateWitness({ "in": arrIn });
|
||||||
|
|
||||||
|
const arrOut = witness.slice(1, 257);
|
||||||
|
const hash2 = bitArray2buffer(arrOut).toString("hex");
|
||||||
|
|
||||||
|
assert.equal(hash, hash2);
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user