libs/AES256SBox.bend
qasim-bend-kit@0.1.0.2 · 267 lines · 2 definitions
1import Base
2
3
4
5
6def lookup_index(index: Nat) -> U32:
7 match index:
8 case 0n: 99
9 case 1n: 124
10 case 2n: 119
11 case 3n: 123
12 case 4n: 242
13 case 5n: 107
14 case 6n: 111
15 case 7n: 197
16 case 8n: 48
17 case 9n: 1
18 case 10n: 103
19 case 11n: 43
20 case 12n: 254
21 case 13n: 215
22 case 14n: 171
23 case 15n: 118
24 case 16n: 202
25 case 17n: 130
26 case 18n: 201
27 case 19n: 125
28 case 20n: 250
29 case 21n: 89
30 case 22n: 71
31 case 23n: 240
32 case 24n: 173
33 case 25n: 212
34 case 26n: 162
35 case 27n: 175
36 case 28n: 156
37 case 29n: 164
38 case 30n: 114
39 case 31n: 192
40 case 32n: 183
41 case 33n: 253
42 case 34n: 147
43 case 35n: 38
44 case 36n: 54
45 case 37n: 63
46 case 38n: 247
47 case 39n: 204
48 case 40n: 52
49 case 41n: 165
50 case 42n: 229
51 case 43n: 241
52 case 44n: 113
53 case 45n: 216
54 case 46n: 49
55 case 47n: 21
56 case 48n: 4
57 case 49n: 199
58 case 50n: 35
59 case 51n: 195
60 case 52n: 24
61 case 53n: 150
62 case 54n: 5
63 case 55n: 154
64 case 56n: 7
65 case 57n: 18
66 case 58n: 128
67 case 59n: 226
68 case 60n: 235
69 case 61n: 39
70 case 62n: 178
71 case 63n: 117
72 case 64n: 9
73 case 65n: 131
74 case 66n: 44
75 case 67n: 26
76 case 68n: 27
77 case 69n: 110
78 case 70n: 90
79 case 71n: 160
80 case 72n: 82
81 case 73n: 59
82 case 74n: 214
83 case 75n: 179
84 case 76n: 41
85 case 77n: 227
86 case 78n: 47
87 case 79n: 132
88 case 80n: 83
89 case 81n: 209
90 case 82n: 0
91 case 83n: 237
92 case 84n: 32
93 case 85n: 252
94 case 86n: 177
95 case 87n: 91
96 case 88n: 106
97 case 89n: 203
98 case 90n: 190
99 case 91n: 57
100 case 92n: 74
101 case 93n: 76
102 case 94n: 88
103 case 95n: 207
104 case 96n: 208
105 case 97n: 239
106 case 98n: 170
107 case 99n: 251
108 case 100n: 67
109 case 101n: 77
110 case 102n: 51
111 case 103n: 133
112 case 104n: 69
113 case 105n: 249
114 case 106n: 2
115 case 107n: 127
116 case 108n: 80
117 case 109n: 60
118 case 110n: 159
119 case 111n: 168
120 case 112n: 81
121 case 113n: 163
122 case 114n: 64
123 case 115n: 143
124 case 116n: 146
125 case 117n: 157
126 case 118n: 56
127 case 119n: 245
128 case 120n: 188
129 case 121n: 182
130 case 122n: 218
131 case 123n: 33
132 case 124n: 16
133 case 125n: 255
134 case 126n: 243
135 case 127n: 210
136 case 128n: 205
137 case 129n: 12
138 case 130n: 19
139 case 131n: 236
140 case 132n: 95
141 case 133n: 151
142 case 134n: 68
143 case 135n: 23
144 case 136n: 196
145 case 137n: 167
146 case 138n: 126
147 case 139n: 61
148 case 140n: 100
149 case 141n: 93
150 case 142n: 25
151 case 143n: 115
152 case 144n: 96
153 case 145n: 129
154 case 146n: 79
155 case 147n: 220
156 case 148n: 34
157 case 149n: 42
158 case 150n: 144
159 case 151n: 136
160 case 152n: 70
161 case 153n: 238
162 case 154n: 184
163 case 155n: 20
164 case 156n: 222
165 case 157n: 94
166 case 158n: 11
167 case 159n: 219
168 case 160n: 224
169 case 161n: 50
170 case 162n: 58
171 case 163n: 10
172 case 164n: 73
173 case 165n: 6
174 case 166n: 36
175 case 167n: 92
176 case 168n: 194
177 case 169n: 211
178 case 170n: 172
179 case 171n: 98
180 case 172n: 145
181 case 173n: 149
182 case 174n: 228
183 case 175n: 121
184 case 176n: 231
185 case 177n: 200
186 case 178n: 55
187 case 179n: 109
188 case 180n: 141
189 case 181n: 213
190 case 182n: 78
191 case 183n: 169
192 case 184n: 108
193 case 185n: 86
194 case 186n: 244
195 case 187n: 234
196 case 188n: 101
197 case 189n: 122
198 case 190n: 174
199 case 191n: 8
200 case 192n: 186
201 case 193n: 120
202 case 194n: 37
203 case 195n: 46
204 case 196n: 28
205 case 197n: 166
206 case 198n: 180
207 case 199n: 198
208 case 200n: 232
209 case 201n: 221
210 case 202n: 116
211 case 203n: 31
212 case 204n: 75
213 case 205n: 189
214 case 206n: 139
215 case 207n: 138
216 case 208n: 112
217 case 209n: 62
218 case 210n: 181
219 case 211n: 102
220 case 212n: 72
221 case 213n: 3
222 case 214n: 246
223 case 215n: 14
224 case 216n: 97
225 case 217n: 53
226 case 218n: 87
227 case 219n: 185
228 case 220n: 134
229 case 221n: 193
230 case 222n: 29
231 case 223n: 158
232 case 224n: 225
233 case 225n: 248
234 case 226n: 152
235 case 227n: 17
236 case 228n: 105
237 case 229n: 217
238 case 230n: 142
239 case 231n: 148
240 case 232n: 155
241 case 233n: 30
242 case 234n: 135
243 case 235n: 233
244 case 236n: 206
245 case 237n: 85
246 case 238n: 40
247 case 239n: 223
248 case 240n: 140
249 case 241n: 161
250 case 242n: 137
251 case 243n: 13
252 case 244n: 191
253 case 245n: 230
254 case 246n: 66
255 case 247n: 104
256 case 248n: 65
257 case 249n: 153
258 case 250n: 45
259 case 251n: 15
260 case 252n: 176
261 case 253n: 84
262 case 254n: 187
263 case 255n: 22
264 case _: 0
265
266def lookup(value: U32) -> U32:
267 lookup_index(U32.to_nat(U32.and(255, value)))