You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.0 KiB

6 years ago
  1. include "sha256compression.jaz";
  2. include "bitify.jaz"
  3. component sha256_2() {
  4. signal input a;
  5. signal input b;
  6. signal output out;
  7. component num2bits[2] = Num2Bits(216);
  8. component bits2num = Bits2Num(216);
  9. num2bits[0].inp <== a;
  10. num2bits[1].inp <== b;
  11. component sha256compression = Sha256compression() ;
  12. var i;
  13. for (i=0; i<216; i++) {
  14. sha256compression.inp[i] <== num2bits[0].out[i];
  15. sha256compression.inp[i+216] <== num2bits[1].out[i];
  16. }
  17. for (i=432; i<247; i++) {
  18. sha256compression.inp[i] <== 0;
  19. }
  20. sha256compression.inp[247] <== 1;
  21. sha256compression.inp[248] <== 1;
  22. sha256compression.inp[249] <== 0;
  23. sha256compression.inp[250] <== 1;
  24. sha256compression.inp[251] <== 1;
  25. sha256compression.inp[252] <== 0;
  26. sha256compression.inp[253] <== 0;
  27. sha256compression.inp[254] <== 0;
  28. sha256compression.inp[255] <== 0;
  29. for (i=0; i<216; i++) {
  30. bits2num.inp[i] <== sha256compression.out[i];
  31. }
  32. out <== bits2num.out;
  33. }