summaryrefslogtreecommitdiff
path: root/src/tests/org/noreply/fancydress/crypto/TestVectors
blob: 78ae9cd5dcf7142a95f6771d81b77fcc9b8ec743 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
Here's my first pass at test vectors.  Once we both generate these, I'll
feel better about my crypto, and publish them for real.

======================================== RSA Example 
2048-bit Key K

   exponent = [01 00 01]

   modulus = [D1 A0 41 1E A0 32 7E 80 30 7B 2A B9 34 6A 33 1D EC D5 BA DD 76
94 61 DE 2A B7 E6 9D AC 7D 01 53 CC 7E E7 AA B2 4A 9C 2A C8 CC 7B 74 73 36 10
EE 90 3D DE 6D 82 8F 2C A3 27 54 33 3E 9E 85 72 1D 26 B0 9F 32 1C FB 5F B0 AB
52 C5 3F 94 C9 88 F9 0F 76 87 4A AB F4 8D 97 3D FA DE 49 25 B8 BC 21 A1 67 67
FF 5E A4 8E 5A 6B 9E F7 43 93 A6 71 B9 75 D3 B0 01 AD 83 6D F9 A4 4B 45 B3 80
4B 38 B3 B1 8A 45 B6 A5 DB 76 4E 2A FB D6 9F 52 63 4C C6 74 CF 26 E5 45 99 C3
8C F7 2A A6 05 7C F2 C8 A0 1B 0D FB 78 69 72 C8 E3 3B 80 69 93 3A 4F DF 35 71
CB C5 4D DB E8 42 C6 36 DF A3 0D AC 3B A7 DA 0F 6B BA AF C0 57 3C 1E D6 94 06
E6 C0 3F 19 A1 7E 9F F0 56 DA CB 4D 9A 8C 6D 26 C6 09 44 F5 FD 18 42 BE BA 0C
E3 44 40 FA 31 42 DF 02 D6 09 F7 28 02 10 D8 77 70 D5 CC 69 41 FD E5 91 C7 81
CB]

   Private key (P)= [F1 8C 45 B7 41 AB AA 5B 2D 2D 71 32 B4 0A 64 91 36 64 18
37 F7 0F 54 EB CF 2B 36 57 6F AE 50 4C 6D 61 CA 05 AD 9C 48 18 B9 3C FB B0 4F
1C 68 B1 26 32 C1 BC CA 8C 2C D6 81 30 C5 C7 FF D1 DF 4B 21 CD DD 01 D7 5A E9
0F A8 D8 66 C2 69 C7 89 3D 34 8B 44 2C 36 C7 70 B0 62 44 C5 71 F4 1E CC 60 64
22 83 90 B6 D8 93 39 B3 7A D7 D7 3E 86 8F E3 74 39 7D E5 52 CE 19 81 AD 9D DE
A7 09 53 24 31]

   Private key (Q)= [DE 2B 0A B4 B8 88 4B 21 AE 6A 8E 1B 31 3F EC DE C4 1C 82
A7 0B 02 BA 4D 88 F5 28 E4 44 A9 E6 A6 D7 7E 50 22 1F 6C 13 0B 56 4D 87 BC 14
B6 7D 00 9B C4 DD 1B 52 67 28 55 1D C0 71 0B A6 24 4F F7 20 90 8F 66 C5 4B FF
39 8E 4E 91 08 49 97 74 01 A9 63 30 7A 96 BA AD 62 11 4D 7B 92 F3 A6 12 C6 B4
02 EC B9 53 AA E8 8E CB 41 B5 17 63 7D 35 F5 F9 1A C1 F8 85 BE 76 19 56 8B C2
DC 32 82 B2 BB]

   Private key (D)= [44 D1 52 6F 86 71 ED 3B 92 2E ED 20 AE 07 6B 4E 98 B0 B5
CE FC 9D CB DF 4E B0 DE E1 C6 7D A7 50 E6 62 87 15 6F C0 B4 B2 0B 07 AE 43 D5
8A DB 56 26 3E 59 66 24 25 72 A7 01 43 50 2B 6F 89 29 A4 4E 4E 4F 84 F9 24 C1
0E 53 C0 31 87 25 06 60 94 3B 32 53 49 FD 57 A4 A0 11 35 E9 81 A4 03 98 A7 85
C0 57 D0 EB 36 24 91 A4 A1 24 55 A8 04 4D 73 70 2E 15 AB 07 56 8D 65 16 3D AB
DD 38 F1 F8 E3 D4 DA 17 B2 F2 D5 63 A1 D3 69 58 87 9F C4 42 C6 EA 12 1D 3F F5
2D 78 D2 B6 F4 7D B6 C2 C7 93 A9 65 0A DC DC 44 ED 5F A8 11 FB 81 1A 20 F2 18
4B D6 0E 54 AD F5 09 9D 73 52 0B 70 B6 3F D6 D0 B7 2D 17 00 2A B4 99 AF 7C 03
01 9F A3 3A CA DC 26 B8 D0 6B 65 A9 86 EC 36 C6 CA 1E 01 20 49 57 B5 DB 85 C3
79 5C 1E 2B C6 F9 E8 9F CE 11 4B 16 17 98 70 75 99 C1 4D F9 89 3F C2 16 9A 25
D2 D7 A1]

   PK_Encode(K) = [30 82 01 0A 02 82 01 01 00 D1 A0 41 1E A0 32 7E 80 30 7B 2A
B9 34 6A 33 1D EC D5 BA DD 76 94 61 DE 2A B7 E6 9D AC 7D 01 53 CC 7E E7 AA B2
4A 9C 2A C8 CC 7B 74 73 36 10 EE 90 3D DE 6D 82 8F 2C A3 27 54 33 3E 9E 85 72
1D 26 B0 9F 32 1C FB 5F B0 AB 52 C5 3F 94 C9 88 F9 0F 76 87 4A AB F4 8D 97 3D
FA DE 49 25 B8 BC 21 A1 67 67 FF 5E A4 8E 5A 6B 9E F7 43 93 A6 71 B9 75 D3 B0
01 AD 83 6D F9 A4 4B 45 B3 80 4B 38 B3 B1 8A 45 B6 A5 DB 76 4E 2A FB D6 9F 52
63 4C C6 74 CF 26 E5 45 99 C3 8C F7 2A A6 05 7C F2 C8 A0 1B 0D FB 78 69 72 C8
E3 3B 80 69 93 3A 4F DF 35 71 CB C5 4D DB E8 42 C6 36 DF A3 0D AC 3B A7 DA 0F
6B BA AF C0 57 3C 1E D6 94 06 E6 C0 3F 19 A1 7E 9F F0 56 DA CB 4D 9A 8C 6D 26
C6 09 44 F5 FD 18 42 BE BA 0C E3 44 40 FA 31 42 DF 02 D6 09 F7 28 02 10 D8 77
70 D5 CC 69 41 FD E5 91 C7 81 CB 02 03 01 00 01]

   Fingerprint = 4B1B3BA1FC035CAFAFBBFEF7E461DAF28AB9FAA8

OAEP Padding/PKCS encoding example: (Using MGF SEED [00 01 02 03 04 05 06 07
08 09 0A 0B 0C 0D 0E 0F 10 11 12 13])

   original string M: [48 65 6C 6C 6F 20 77 6F 72 6C 64]

   Padded string (2048 bits): [00 19 B0 7B B0 24 3D 14 F6 17 06 CE E6 81 26 83
FA 7D D3 9B 38 92 0C 33 64 A9 34 8C 3D 87 9E 4D 61 CA F2 50 24 96 19 83 6B 99
F3 72 63 A5 74 17 1D 60 78 80 91 7A EF CF 64 22 94 B0 8B 98 27 11 C0 FA 68 F6
48 5F 62 C7 30 54 AB 50 A0 C7 56 69 5E 2A 53 BD 58 5A 81 94 85 27 EC F0 15 61
4F 8B BE 3E 96 FE AA 86 89 4F D5 43 FB 37 CA 4C A3 58 CA 98 88 07 83 DD 07 A5
6F DB E4 BE 7D D4 4F 45 C5 CB 11 F4 7F 60 53 64 5A 2D 45 B3 3A 0F B0 CB 4E EF
E0 3A 23 20 8A BA 39 17 A4 5F 1C BE 4B 72 BA BB E8 6F 85 9F FC 5F C1 00 04 22
FB E2 1F 3A AD BD 73 FE 45 D0 37 61 EE 30 CC 33 10 26 1C 71 70 F4 EB 0C F4 EA
DE B4 4F CE 38 5C 8F F4 34 02 97 1D 43 0D C7 BD 31 18 2E EE 6D E1 CE 62 D8 D7
61 0C D7 4A 5A 92 FA 88 AD 95 CB C8 40 F0 B8 5C 81 9E 70 CF 4D C6 DB 9D 1A 7A
20 9C 71 FD 97 CB]

   PK_Encrypt(K,M): [A5 7A 58 F6 3A 15 1B 9F 30 C3 56 EA 5A F3 C8 4D 3E 25 36
37 59 2D 1C A3 BF 1B A0 40 99 80 50 7E 06 48 73 41 A0 58 AF 40 8F DF 71 9C D9
3F 3E CB 7D B6 7F F7 E8 46 81 16 10 CB B1 0A E0 5B 4A 68 68 98 1A EE 8A 68 FC
63 B9 14 6D 2A 48 FD A3 28 1A 1C E2 19 2A 41 1B 04 C7 74 3F EA 43 50 C9 23 80
0D 5F 0F EC 7B 74 AD 6B 4F E0 A6 95 6B BF 93 1A B1 7C 08 1F 0C 25 1D E1 5B 7F
58 EC 60 C2 71 9D BB AF BD 7E BC DB 71 47 A8 B1 25 E6 1A 15 61 D0 59 09 75 A4
69 71 4F 80 52 99 2D D9 59 F0 06 45 53 88 EA FA E0 32 D9 9C E3 C9 6C 36 BF 52
6F 60 54 B5 B2 DA 55 1C F9 90 5D 14 DC EA 79 C3 CE 10 E5 E7 11 16 92 B0 1C C7
9A 17 52 7E D3 6C 04 20 14 C8 9E 23 02 6B 23 27 A3 97 89 18 B1 6C 6F C5 11 DA
D9 21 A5 1B 2C 13 80 01 1E DF 37 87 FC 37 C1 36 0A 2E AA 9C 85 75 1A D2 B5 2D
27 1A A6] 

======================================== AES Single block encryption
   Key: [00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF]
   Plaintext block: [4D 69 78 6D 69 6E 69 6F 6E 54 79 70 65 49 49 49]
   Encrypted block: [11 86 E8 6C 9D 55 16 33 6E 13 E1 71 69 A4 86 94]
   Decrypted block: [7F 49 AA 5E 62 4A 12 B6 99 47 D7 52 47 11 27 6E]

Counter mode encryption:
   Key: [02 13 24 35 46 57 68 79 8A 9B AC BD CE DF E0 F1]

   Keystream[0x0...0x3F]: [CA F3 E8 F6 23 B9 87 20 D2 F7 A8 66 9C B6 DE 01 71
31 CC 3E 74 20 80 99 62 2D 7D DF 98 59 D7 5B A6 77 78 FE 3C 22 C1 B5 AE 1F 8E
79 78 72 3D 0F 51 B7 EA 19 F7 93 7F F6 DC 21 EC 2C 13 54 DD 98]

   Keystream[0x2C0...0x2FF]: [81 AE AE FB 58 E0 A2 FE 37 27 31 8E 5B C4 90 B9
86 99 95 78 C0 F6 BC AC 9A A6 16 DF BA 0B 4E 6C 0A 10 C5 8F 7B 67 54 19 D7 EA
8C 4A A7 0E C7 77 6B 25 51 68 88 1C 7C 4D EB 83 8C A0 3F 4A 85 32]

   Example text M: [48 65 6C 6C 6F 20 77 6F 72 6C 64 21]

   Encrypt(K,M): [82 96 84 9A 4C 99 F0 4F A0 9B CC 47]

======================================== LIONESS SPRP_Encrypt:
 Base key K: [AE BB 71 FA E1 F4 70 6C 0C 60 83 83 83 26 70 E3 60 63 37 EA]
         K2: [AE BB 71 FA E1 F4 70 6C 0C 60 83 83 83 26 70 E3 60 63 37 EB]
         K3: [AE BB 71 FA E1 F4 70 6C 0C 60 83 83 83 26 70 E3 60 63 37 E8]
         K4: [AE BB 71 FA E1 F4 70 6C 0C 60 83 83 83 26 70 E3 60 63 37 E9]

      Example text M: [49 20 6E 65 76 65 72 20 62 65 6C 69 65 76 65 20 69 6E
20 63 6F 64 65 20 75 6E 74 69 6C 20 69 74 27 73 20 72 75 6E 6E 69 6E 67 2C 20
61 6E 64 20 49 20 6E 65 76 65 72 20 62 65 6C 69 65 76 65 20 69 6E 20 74 68 65
20 6E 65 78 74 20 72 65 6C 65 61 73 65 20 75 6E 74 69 6C 20 69 74 27 73 20 6F
75 74 2E]

   SPRP_Encrypt(K,M): [1D 46 61 E1 CC 16 FA 17 5C B8 06 66 19 17 4C 09 44 B7
BC BC 57 8B 2E EB 06 19 4C E1 F0 0F 67 1B 1B A2 76 E9 3E 77 BF 7C 00 3D A2 91
3A 23 62 0A 4C DE 7A 52 E8 29 03 2A 93 B7 1F EC 5C A8 5C 84 7A 3F 45 A5 80 0A
0B B6 B5 DF E1 25 B0 DE CC 10 4D 46 45 EF 11 F7 CF 44 01 66 9D EC 36 BF CE 46
97 60 3D]

   SPRP_Decrypt(K,M): [F3 5E 91 70 2F 43 14 9F E0 A0 3B 18 8E A9 FC 17 0A 3A
3F C0 EB A5 18 F6 03 4E E3 88 F7 B7 C3 2E 01 80 E1 D7 A1 86 B5 7D D8 38 B8 4D
DD 3E 3D D2 D2 15 CA 31 71 DF F7 85 7C 1C 95 20 5A B6 19 22 16 54 F1 4E 09 8E
BC 8E C1 02 F6 F5 CE EB 34 53 7F 52 A1 7B 3A 04 78 D8 4C 9C 18 34 FD 5D 63 DD
F0 E4 FD]