Files
circuits/getSha256InitialState.casm
2021-11-08 17:11:39 +03:00

289 lines
4.5 KiB
Plaintext

# return the initial state of sha256 which is:
# '6a09e667'+'bb67ae85'+'3c6ef372'+'a54ff53a'+'510e527f'+'9b05688c'+'1f83d9ab'+'5be0cd19'
# or in bits:
# 01101010000010011110011001100111
# 10111011011001111010111010000101
# 00111100011011101111001101110010
# 10100101010011111111010100111010
# 01010001000011100101001001111111
# 10011011000001010110100010001100
# 00011111100000111101100110101011
# 01011011111000001100110100011001
260 262
2 1 1 #inputs can be any random bits
1 256
2 1 0 1 2 XOR
2 1 0 1 3 XOR
2 1 2 3 4 XOR # XORing 2 equal bits gives us a zero
1 1 4 5 INV # wire 5 is 1
#jigg doesnt support EQ operator, that's why we use INV to set bits
# note that the first output wire should contain lsb
# that's why for readability we set bits beginning from msb working our way to lsb
# generated with python3 :
# st = '0' + bin(int('6a09e667'+'bb67ae85'+'3c6ef372'+'a54ff53a'+'510e527f'+'9b05688c'+'1f83d9ab'+'5be0cd19', 16))[2:]
# out = ''
# for x in range(256):
# out += '1 1 ' + ('4 ' if int(st[x]) else '5 ') + str(261-x) + ' INV\r\n'
# print(out)
1 1 5 261 INV
1 1 4 260 INV
1 1 4 259 INV
1 1 5 258 INV
1 1 4 257 INV
1 1 5 256 INV
1 1 4 255 INV
1 1 5 254 INV
1 1 5 253 INV
1 1 5 252 INV
1 1 5 251 INV
1 1 5 250 INV
1 1 4 249 INV
1 1 5 248 INV
1 1 5 247 INV
1 1 4 246 INV
1 1 4 245 INV
1 1 4 244 INV
1 1 4 243 INV
1 1 5 242 INV
1 1 5 241 INV
1 1 4 240 INV
1 1 4 239 INV
1 1 5 238 INV
1 1 5 237 INV
1 1 4 236 INV
1 1 4 235 INV
1 1 5 234 INV
1 1 5 233 INV
1 1 4 232 INV
1 1 4 231 INV
1 1 4 230 INV
1 1 4 229 INV
1 1 5 228 INV
1 1 4 227 INV
1 1 4 226 INV
1 1 4 225 INV
1 1 5 224 INV
1 1 4 223 INV
1 1 4 222 INV
1 1 5 221 INV
1 1 4 220 INV
1 1 4 219 INV
1 1 5 218 INV
1 1 5 217 INV
1 1 4 216 INV
1 1 4 215 INV
1 1 4 214 INV
1 1 4 213 INV
1 1 5 212 INV
1 1 4 211 INV
1 1 5 210 INV
1 1 4 209 INV
1 1 4 208 INV
1 1 4 207 INV
1 1 5 206 INV
1 1 4 205 INV
1 1 5 204 INV
1 1 5 203 INV
1 1 5 202 INV
1 1 5 201 INV
1 1 4 200 INV
1 1 5 199 INV
1 1 4 198 INV
1 1 5 197 INV
1 1 5 196 INV
1 1 4 195 INV
1 1 4 194 INV
1 1 4 193 INV
1 1 4 192 INV
1 1 5 191 INV
1 1 5 190 INV
1 1 5 189 INV
1 1 4 188 INV
1 1 4 187 INV
1 1 5 186 INV
1 1 4 185 INV
1 1 4 184 INV
1 1 4 183 INV
1 1 5 182 INV
1 1 4 181 INV
1 1 4 180 INV
1 1 4 179 INV
1 1 4 178 INV
1 1 5 177 INV
1 1 5 176 INV
1 1 4 175 INV
1 1 4 174 INV
1 1 5 173 INV
1 1 4 172 INV
1 1 4 171 INV
1 1 4 170 INV
1 1 5 169 INV
1 1 5 168 INV
1 1 4 167 INV
1 1 5 166 INV
1 1 4 165 INV
1 1 5 164 INV
1 1 4 163 INV
1 1 5 162 INV
1 1 5 161 INV
1 1 4 160 INV
1 1 5 159 INV
1 1 4 158 INV
1 1 5 157 INV
1 1 4 156 INV
1 1 5 155 INV
1 1 5 154 INV
1 1 4 153 INV
1 1 4 152 INV
1 1 4 151 INV
1 1 4 150 INV
1 1 4 149 INV
1 1 4 148 INV
1 1 4 147 INV
1 1 4 146 INV
1 1 5 145 INV
1 1 4 144 INV
1 1 5 143 INV
1 1 4 142 INV
1 1 5 141 INV
1 1 5 140 INV
1 1 4 139 INV
1 1 4 138 INV
1 1 4 137 INV
1 1 5 136 INV
1 1 4 135 INV
1 1 5 134 INV
1 1 5 133 INV
1 1 4 132 INV
1 1 5 131 INV
1 1 4 130 INV
1 1 5 129 INV
1 1 5 128 INV
1 1 5 127 INV
1 1 4 126 INV
1 1 5 125 INV
1 1 5 124 INV
1 1 5 123 INV
1 1 5 122 INV
1 1 4 121 INV
1 1 4 120 INV
1 1 4 119 INV
1 1 5 118 INV
1 1 5 117 INV
1 1 4 116 INV
1 1 5 115 INV
1 1 4 114 INV
1 1 5 113 INV
1 1 5 112 INV
1 1 4 111 INV
1 1 5 110 INV
1 1 5 109 INV
1 1 4 108 INV
1 1 4 107 INV
1 1 4 106 INV
1 1 4 105 INV
1 1 4 104 INV
1 1 4 103 INV
1 1 4 102 INV
1 1 4 101 INV
1 1 5 100 INV
1 1 5 99 INV
1 1 4 98 INV
1 1 4 97 INV
1 1 5 96 INV
1 1 4 95 INV
1 1 4 94 INV
1 1 5 93 INV
1 1 5 92 INV
1 1 5 91 INV
1 1 5 90 INV
1 1 5 89 INV
1 1 4 88 INV
1 1 5 87 INV
1 1 4 86 INV
1 1 5 85 INV
1 1 4 84 INV
1 1 4 83 INV
1 1 5 82 INV
1 1 4 81 INV
1 1 5 80 INV
1 1 5 79 INV
1 1 5 78 INV
1 1 4 77 INV
1 1 5 76 INV
1 1 5 75 INV
1 1 5 74 INV
1 1 4 73 INV
1 1 4 72 INV
1 1 5 71 INV
1 1 5 70 INV
1 1 5 69 INV
1 1 5 68 INV
1 1 5 67 INV
1 1 4 66 INV
1 1 4 65 INV
1 1 4 64 INV
1 1 4 63 INV
1 1 4 62 INV
1 1 4 61 INV
1 1 5 60 INV
1 1 5 59 INV
1 1 5 58 INV
1 1 5 57 INV
1 1 5 56 INV
1 1 4 55 INV
1 1 4 54 INV
1 1 4 53 INV
1 1 4 52 INV
1 1 5 51 INV
1 1 4 50 INV
1 1 4 49 INV
1 1 5 48 INV
1 1 5 47 INV
1 1 4 46 INV
1 1 4 45 INV
1 1 5 44 INV
1 1 4 43 INV
1 1 5 42 INV
1 1 4 41 INV
1 1 5 40 INV
1 1 4 39 INV
1 1 4 38 INV
1 1 5 37 INV
1 1 4 36 INV
1 1 5 35 INV
1 1 4 34 INV
1 1 4 33 INV
1 1 5 32 INV
1 1 4 31 INV
1 1 4 30 INV
1 1 4 29 INV
1 1 4 28 INV
1 1 4 27 INV
1 1 5 26 INV
1 1 5 25 INV
1 1 5 24 INV
1 1 5 23 INV
1 1 5 22 INV
1 1 4 21 INV
1 1 4 20 INV
1 1 5 19 INV
1 1 5 18 INV
1 1 4 17 INV
1 1 4 16 INV
1 1 5 15 INV
1 1 4 14 INV
1 1 5 13 INV
1 1 5 12 INV
1 1 5 11 INV
1 1 4 10 INV
1 1 4 9 INV
1 1 5 8 INV
1 1 5 7 INV
1 1 4 6 INV