Line | Branch | Exec | Source |
---|---|---|---|
1 | #include "gate/tests.hpp" | ||
2 | #include "gate/encode/blockciphers.hpp" | ||
3 | |||
4 | using namespace gate; | ||
5 | using namespace gate::enc; | ||
6 | |||
7 | static char const key[] = "abcdefghijklmnopqrstuvwxyz"; | ||
8 | static String const content = String::createStaticFrom("Hello World, World of hellos, Hell of Worlds ..."); | ||
9 | |||
10 |
2/7✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
|
6 | GATEXX_TEST_UNIT(Blowfish) |
11 | { | ||
12 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | MemStream encoded; |
13 | { | ||
14 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | Blowfish encoder(key, sizeof(key)); |
15 | |||
16 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | StringStream original(content); |
17 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | encoder.encrypt(original, encoded); |
18 | |||
19 |
5/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
|
2 | GATEXX_TEST_CHECK(encoded.size() >= content.size()); |
20 | } | ||
21 | |||
22 | 4 | String plaintext; | |
23 | { | ||
24 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | Blowfish decoder(key, sizeof(key)); |
25 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | StringStream decoded; |
26 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | decoder.decrypt(encoded, decoded); |
27 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | plaintext = decoded.toString(); |
28 | } | ||
29 | |||
30 |
4/12✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
2 | GATEXX_TEST_CHECK_EQUAL(content, plaintext); |
31 | |||
32 | { | ||
33 | char buffer[256]; | ||
34 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | gate::size_t buffer_used = content.copyTo(buffer, sizeof(buffer)); |
35 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | Blowfish encoder(key, sizeof(key)); |
36 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | Blowfish decoder(key, sizeof(key)); |
37 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | encoder.encrypt(buffer, buffer_used); |
38 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | decoder.decrypt(buffer, buffer_used); |
39 | |||
40 | 4 | String output = String::createStatic(buffer, buffer_used); | |
41 |
4/12✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
2 | GATEXX_TEST_CHECK_EQUAL(output, content); |
42 | } | ||
43 | 2 | } | |
44 | |||
45 |
2/7✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
|
6 | GATEXX_TEST_UNIT(BlowfishCBC) |
46 | { | ||
47 |
3/8✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
|
2 | static const Blowfish::Block iv(1, 2); |
48 | |||
49 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | MemStream encoded; |
50 | { | ||
51 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | Blowfish encoder(key, sizeof(key), iv); |
52 | |||
53 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | StringStream original(content); |
54 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | encoder.encrypt(original, encoded); |
55 | |||
56 |
5/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
|
2 | GATEXX_TEST_CHECK(encoded.size() >= content.size()); |
57 | } | ||
58 | |||
59 | 4 | String plaintext; | |
60 | { | ||
61 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | Blowfish decoder(key, sizeof(key), iv); |
62 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | StringStream decoded; |
63 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | decoder.decrypt(encoded, decoded); |
64 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | plaintext = decoded.toString(); |
65 | } | ||
66 | |||
67 |
4/12✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
2 | GATEXX_TEST_CHECK_EQUAL(content, plaintext); |
68 | |||
69 | { | ||
70 | char buffer[256]; | ||
71 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | gate::size_t buffer_used = content.copyTo(buffer, sizeof(buffer)); |
72 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | Blowfish encoder(key, sizeof(key), iv); |
73 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | Blowfish decoder(key, sizeof(key), iv); |
74 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | encoder.encrypt(buffer, buffer_used); |
75 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | decoder.decrypt(buffer, buffer_used); |
76 | |||
77 | 4 | String output = String::createStatic(buffer, buffer_used); | |
78 |
4/12✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
2 | GATEXX_TEST_CHECK_EQUAL(output, content); |
79 | } | ||
80 | 2 | } | |
81 | |||
82 | |||
83 |
2/7✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
|
6 | GATEXX_TEST_UNIT(Xtea) |
84 | { | ||
85 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | MemStream encoded; |
86 | { | ||
87 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | Xtea encoder(key, sizeof(key)); |
88 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | StringStream original(content); |
89 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | encoder.encrypt(original, encoded); |
90 | |||
91 |
5/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
|
2 | GATEXX_TEST_CHECK(encoded.size() >= content.size()); |
92 | } | ||
93 | |||
94 | 4 | String plaintext; | |
95 | { | ||
96 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | Xtea decoder(key, sizeof(key)); |
97 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | StringStream decoded; |
98 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | decoder.decrypt(encoded, decoded); |
99 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | plaintext = decoded.toString(); |
100 | } | ||
101 | |||
102 |
4/12✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
2 | GATEXX_TEST_CHECK_EQUAL(content, plaintext); |
103 | |||
104 | { | ||
105 | char buffer[256]; | ||
106 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | gate::size_t buffer_used = content.copyTo(buffer, sizeof(buffer)); |
107 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | Xtea codec(key, sizeof(key)); |
108 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | gate::size_t buffer_processed = codec.encrypt(buffer, buffer, buffer_used); |
109 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | codec.decrypt(buffer, buffer, buffer_processed); |
110 | 4 | String output = String::createStatic(buffer, buffer_processed); | |
111 |
4/12✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
2 | GATEXX_TEST_CHECK_EQUAL(output, content); |
112 | } | ||
113 | |||
114 | 2 | } | |
115 | |||
116 |
2/7✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
|
6 | GATEXX_TEST_UNIT(Xxtea) |
117 | { | ||
118 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | MemStream encoded; |
119 | { | ||
120 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | Xxtea encoder(key, sizeof(key)); |
121 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | StringStream original(content); |
122 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | encoder.encrypt(original, encoded); |
123 | |||
124 |
5/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
|
2 | GATEXX_TEST_CHECK(encoded.size() >= content.size()); |
125 | } | ||
126 | |||
127 | 4 | String plaintext; | |
128 | { | ||
129 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | Xxtea decoder(key, sizeof(key)); |
130 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | StringStream decoded; |
131 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | decoder.decrypt(encoded, decoded); |
132 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | plaintext = decoded.toString(); |
133 | } | ||
134 | |||
135 |
4/12✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
2 | GATEXX_TEST_CHECK_EQUAL(content, plaintext); |
136 | |||
137 | { | ||
138 | char buffer[256]; | ||
139 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | gate::size_t buffer_used = content.copyTo(buffer, sizeof(buffer)); |
140 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | Xxtea codec(key, sizeof(key)); |
141 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | gate::size_t buffer_processed = codec.encrypt(buffer, buffer, buffer_used); |
142 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | codec.decrypt(buffer, buffer, buffer_processed); |
143 | 4 | String output = String::createStatic(buffer, buffer_processed); | |
144 |
4/12✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
|
2 | GATEXX_TEST_CHECK_EQUAL(output, content); |
145 | } | ||
146 | 2 | } | |
147 |