LAWS.bend
bend-osdev-aes@0.1.0.0 · 25 lines · 2 definitions
1
2
3import Base
4import bend-osdev-bytes@0.1.1.0/bytes.bend as B
5import bend-osdev-mode-core@0.1.0.0/mode_core.bend as M
6import bend-osdev-aes@0.1.0.0/aes.bend as X
7
8
9
10
11law aes_round_trip:
12 for k: X.CmAesKey
13 for +b: M.CmBlock
14 {X.CmAes.decrypt(k, X.CmAes.encrypt(k, b)) == b : M.CmBlock}
15
16
17
18
19
20
21
22
23
24law aes128_fips197_c1:
25 {Result.map(&2, &2, M.CmError, X.CmAesKey, B.Octets, k => M.CmBlock.to_octets(X.CmAes.encrypt(k, M.CmBlock{1122867, 1146447479, 2291772091, 3437096703})), X.CmAes.key128(B.Octets.of_list([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]))) == Done{B.Octets.of_list([105, 196, 224, 216, 106, 123, 4, 48, 216, 205, 183, 128, 112, 180, 197, 90])} : Result<&2, &2, M.CmError, B.Octets>}