import "./1536bit" as sha256; // A function that takes four u32[8] array as input, concatenates them, pads the result, // and returns the sha256 output as a u32[8] def main(u32[8] a, u32[8] b, u32[8] c, u32[8] d) -> u32[8] { // Hash is computed on the full 1024bit block size // padding does not fit in the first two blocks // add dummy block (single "1" followed by "0" + total length) u32[8] dummyblock1 = [ \ 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 ]; u32[8] dummyblock2 = [ \ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000400 ]; return sha256(a, b, c, d, dummyblock1, dummyblock2); }