mirror of
https://github.com/tlsnotary/circuits.git
synced 2026-01-07 22:13:53 -05:00
289 lines
4.5 KiB
Plaintext
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 |