v

Зеркало из https://github.com/vlang/v
Форк
0
/
sha512_shavs_monte_test.v 
551 строка · 20.6 Кб
1
// These tests are derived from the Secure Hash Algorithm Validation System
2
// test vectors contained in:
3
// https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Algorithm-Validation-Program/documents/shs/shabytetestvectors.zip
4
//
5
// For SHA512, the test vectors come from:
6
//     SHA512Monte.rsp
7
import crypto.sha512
8
import encoding.hex
9

10
const seed = '5c337de5caf35d18ed90b5cddfce001ca1b8ee8602f367e7c24ccca6f893802fb1aca7a3dae32dcd60800a59959bc540d63237876b799229ae71a2526fbc52cd'
11

12
struct MonteTestCase {
13
	name   string
14
	count  int
15
	digest string
16
}
17

18
const monte_cases = [
19
	MonteTestCase{
20
		name:   'checkpoint 0'
21
		count:  0
22
		digest: 'ada69add0071b794463c8806a177326735fa624b68ab7bcab2388b9276c036e4eaaff87333e83c81c0bca0359d4aeebcbcfd314c0630e0c2af68c1fb19cc470e'
23
	},
24
	MonteTestCase{
25
		name:   'checkpoint 1'
26
		count:  1
27
		digest: 'ef219b37c24ae507a2b2b26d1add51b31fb5327eb8c3b19b882fe38049433dbeccd63b3d5b99ba2398920bcefb8aca98cd28a1ee5d2aaf139ce58a15d71b06b4'
28
	},
29
	MonteTestCase{
30
		name:   'checkpoint 2'
31
		count:  2
32
		digest: 'c3d5087a62db0e5c6f5755c417f69037308cbce0e54519ea5be8171496cc6d18023ba15768153cfd74c7e7dc103227e9eed4b0f82233362b2a7b1a2cbcda9daf'
33
	},
34
	MonteTestCase{
35
		name:   'checkpoint 3'
36
		count:  3
37
		digest: 'bb3a58f71148116e377505461d65d6c89906481fedfbcfe481b7aa8ceb977d252b3fe21bfff6e7fbf7575ceecf5936bd635e1cf52698c36ef6908ddbd5b6ae05'
38
	},
39
	MonteTestCase{
40
		name:   'checkpoint 4'
41
		count:  4
42
		digest: 'b68f0cd2d63566b3934a50666dec6d62ca1db98e49d7733084c1f86d91a8a08c756fa7ece815e20930dd7cb66351bad8c087c2f94e8757cb98e7f4b86b21a8a8'
43
	},
44
	MonteTestCase{
45
		name:   'checkpoint 5'
46
		count:  5
47
		digest: '937d7856a82a84c163c79417d0540c47daaf9ffe662c843737dbbcbe5f865bf6f47a9d2bd10129a4f498073094653c324a2519a1c71ac1279b1623ff7d24647a'
48
	},
49
	MonteTestCase{
50
		name:   'checkpoint 6'
51
		count:  6
52
		digest: 'f8fbc058c2b9f84131c9decfa543a35ade41581f670398efd61b3abfced9c1cfcb5324f2370487f9c59a65bc668ea596c8d22ce8a33014dfad28357fa7d05f04'
53
	},
54
	MonteTestCase{
55
		name:   'checkpoint 7'
56
		count:  7
57
		digest: '4ab0c9484ff5c30fa64ae6e81510c5fea566eafb88f175f8bc19109f40fe80014c8b77fff10b8750778429bf3c5497e4cb92d9b30014f4cb975dff2a45244c28'
58
	},
59
	MonteTestCase{
60
		name:   'checkpoint 8'
61
		count:  8
62
		digest: '685179397554d276513d630234a03419808c698abf2600d7490aabb8e455c6ab6ea412c7729dc140a79dff66533c6946cbe90f9da9ed16e2e629db1651bea870'
63
	},
64
	MonteTestCase{
65
		name:   'checkpoint 9'
66
		count:  9
67
		digest: '335e6e941ab7dadfecdb74ea6cb4e8584b6e3408841a33a6cf7fd6a63294b1930a60983240311672acac3840a90e64cc366ce75081b2252627e9c31197ebad03'
68
	},
69
	MonteTestCase{
70
		name:   'checkpoint 10'
71
		count:  10
72
		digest: 'e3217f6af6e279e9445dc3738cbf9ba0e9edba0455844a73648139777afdea2c4d8032e214f541bf92675fb23f24df8e4fe98e0003aadfb6d8f9cc2cd799bbf7'
73
	},
74
	MonteTestCase{
75
		name:   'checkpoint 11'
76
		count:  11
77
		digest: 'ee2fdfb3ae630613b7d890977cf2515deac272a37f27e4a01961ecf103d4ff5b45cc8aef53b635dd75aa51aabf71c0642555ccd3281e0388f8ca09d83258cf30'
78
	},
79
	MonteTestCase{
80
		name:   'checkpoint 12'
81
		count:  12
82
		digest: '6a30d97cc98af6a25b673dce7aeab8d762bf2e55ea0c6dc899179281f84dd02a2896f77e9c106b472f55f7adbef7b1157be567ee1236ebdac2a3c5d8cb133eb5'
83
	},
84
	MonteTestCase{
85
		name:   'checkpoint 13'
86
		count:  13
87
		digest: 'ac1176abdc5f71170183d92ae55856221b0d95590af11d9d72ba605ec026bbec52d6974bc43a1efb125ff2b161fbdc616fda00f04193a0bc26aacdfa052a5741'
88
	},
89
	MonteTestCase{
90
		name:   'checkpoint 14'
91
		count:  14
92
		digest: '59fa909480620ecc08d34531a6da1b55158b74fc93ddf68e1d242615b6f3843a7952e63e798c6445cde1b07e0be09d0d711cb7b42a0e7760a593b08acfceb63d'
93
	},
94
	MonteTestCase{
95
		name:   'checkpoint 15'
96
		count:  15
97
		digest: '9eb253319efa61b864f27bd334d7dd78b38d3265fb544e0c8edee950a547e1d8db921a285774ab94d66beae933298d20f2a5aa87c62fe1e383cc3b18e7af18ac'
98
	},
99
	MonteTestCase{
100
		name:   'checkpoint 16'
101
		count:  16
102
		digest: '81735324005671f7bdad9e685ee8257f5e0622b9fcb5d38dbdfb2df27258c3e1d46d76e24c0c92c744e1b50a2b4b0d31525b3af83cc80a75722d921bdeef59c4'
103
	},
104
	MonteTestCase{
105
		name:   'checkpoint 17'
106
		count:  17
107
		digest: '17498cdff4323bb8021e44eca6559e05d8ff9a0ef2ee9d4ba0ac6e73f83972a0dfbb6d47728fa70311d7c82e154966e1b7678263b0f65133e9116969193d429b'
108
	},
109
	MonteTestCase{
110
		name:   'checkpoint 18'
111
		count:  18
112
		digest: '228c4574d7c45eb9ba9240722133fce74abe00c7328ab30b4bde373dc79afdd6e0569d36268cd5eaa2f27205fc00512577bcbb6699e1d66ed85eafaba7548afb'
113
	},
114
	MonteTestCase{
115
		name:   'checkpoint 19'
116
		count:  19
117
		digest: '3d40ccd9cc445bbecca9227c67fe455d89e0b7c1c858d32f30e2b544ca9a5a606535aea2e59fec6ec4d1ba898cc4338c6eadef9c0884bcf56aca2f481a2d7d3e'
118
	},
119
	MonteTestCase{
120
		name:   'checkpoint 20'
121
		count:  20
122
		digest: 'e1e577aeac92e3a2b7f8a262bf2ac9c037d2274ca6618fbe4cc21db7c699e9946b6671ae45ea433a1e392a5bc9eec96fd641ba8f4a047f022a04a337227004df'
123
	},
124
	MonteTestCase{
125
		name:   'checkpoint 21'
126
		count:  21
127
		digest: '5e4424c0bcb2f0f7a2428821a9d5840a82401f4440ae6bed25c53cd9e71cf9d39904d6a375bd721f4332ab0202529c91feb9c094c3e6d34ca4f66649ee6fa212'
128
	},
129
	MonteTestCase{
130
		name:   'checkpoint 22'
131
		count:  22
132
		digest: '56b199d63ca37189d5ca0d40006ac7bcb9f39cbdc00ef7b8a5697caa7d81d05b645a146995b1151d01958f1589337e14afc6e7dd10a815170e527a398e6ce8c3'
133
	},
134
	MonteTestCase{
135
		name:   'checkpoint 23'
136
		count:  23
137
		digest: 'd2d498ff93fb03013a64f295b5bc68e57d2fb5600da578aa011d43ff432eae3e0c800f9e2a53155e56fdbf5e068fe2b4beb3e42b2585531b8b16c4d8ca3356c6'
138
	},
139
	MonteTestCase{
140
		name:   'checkpoint 24'
141
		count:  24
142
		digest: '3d3875489903710f17cf4247b5842ace6f017b1a3b99e9ee5fbc04fc7898e78b12693879878028ca40c63cd0f6925fb7d0ca0412e4f06619e3ace223690f03b8'
143
	},
144
	MonteTestCase{
145
		name:   'checkpoint 25'
146
		count:  25
147
		digest: 'a013e21cd1234483c95c2ea2757be949bc79401ba39b09c316a1612d594642be65ca106e12695ac3808c57c6f2980e895fd1fe188946562afc238414e1e43649'
148
	},
149
	MonteTestCase{
150
		name:   'checkpoint 26'
151
		count:  26
152
		digest: 'c5f6367d7195489e16242f912fbe0d8002e947de3a7e9c53f77b1e5e90e05bd7ca395e787e34cb5f500c02da59c9d83de35601de7ae80dae74a0d6b4a292d43b'
153
	},
154
	MonteTestCase{
155
		name:   'checkpoint 27'
156
		count:  27
157
		digest: '7c28c44c6aaba83c122f24d68273e28a5afd65b4071d02b7ea3300478d5118971e1356ae57cbc70d2a177ea464a1c2c50d4297b933e789c63b1481797ae8f08c'
158
	},
159
	MonteTestCase{
160
		name:   'checkpoint 28'
161
		count:  28
162
		digest: 'af7cb42b1c70a85ac1ae1c2991b25b657c19f4fcf83af7f7dc0ae1028c1452a6a17dc98929634fe6ed3855b70b96bc2caa93d82037b94ebeddc77e4c1a7cc563'
163
	},
164
	MonteTestCase{
165
		name:   'checkpoint 29'
166
		count:  29
167
		digest: 'bd56ad4c0cbd162706053da929d667253aadcf417affb483fff4f2699bf406d128cfdf5196dfbb05bb89ccbf04c5147bd2ebb3156b0bc1768ca6faa171c91c01'
168
	},
169
	MonteTestCase{
170
		name:   'checkpoint 30'
171
		count:  30
172
		digest: '004d7b0fff9bcddf4b3913ae190a76728705a3d23874d92a8b7ff246c8fcad46623cb04723c8aded0cba4968d1a8cc1375b99005786c1bcb7ae4bf13325c3ae0'
173
	},
174
	MonteTestCase{
175
		name:   'checkpoint 31'
176
		count:  31
177
		digest: '8299a5bf5ed64f525c4eebbeca969fc1b91a81adb58c584bdd2d7676386a31fa546643a3cf505007584f02fb712d708cab645bf078a1b9339f5a76aee985d017'
178
	},
179
	MonteTestCase{
180
		name:   'checkpoint 32'
181
		count:  32
182
		digest: 'ce7100f3455db1a9776a9f40d562ea998afca1f9fee7e0d81c8db34cf68ad23a8bfa6fc04774703e1e56d5196b66966158fcf2a8335a58c6ba7ba1af756ba1dc'
183
	},
184
	MonteTestCase{
185
		name:   'checkpoint 33'
186
		count:  33
187
		digest: '90aaabcb655ee921b8350229efe6064a60051cf0cac858fa3d43afd5b97cc82301bd1b8cc1f874022e5af948185638783a13ca1bbd5049ace7fbf4f6d90c201f'
188
	},
189
	MonteTestCase{
190
		name:   'checkpoint 34'
191
		count:  34
192
		digest: '3cf0a25b33ded3e0806dfe603b9987f1d6f2b3fdcb1ec7f8566828c00e17e8f59e38b3bca302396c7525ca194e6cc8501369059e2e34ae21e3141215876847c4'
193
	},
194
	MonteTestCase{
195
		name:   'checkpoint 35'
196
		count:  35
197
		digest: 'bdc5266aee339a1ff13fcf5229773cd3d14b47101e83076927c160bb71bf7445590525a2012d52af008e118e16df1b6bfcaf8f22b4e45f9e749f3c20625a2bc8'
198
	},
199
	MonteTestCase{
200
		name:   'checkpoint 36'
201
		count:  36
202
		digest: 'ef8d2ba885381ab97756d59dbbbf53a1ea35d152b2d8f82c3518430aa34e708359194ea43950d032e151f576d343a5c3cfe6b71d4ed0ead9d3a107402589bad0'
203
	},
204
	MonteTestCase{
205
		name:   'checkpoint 37'
206
		count:  37
207
		digest: '194ea5324c4179998dd7057755f255fdea04dadf533f7851e3e9718b610948e32fd28323077d9421142ac808978adfa325b668c8599a2e01c757a5a14ed2dd37'
208
	},
209
	MonteTestCase{
210
		name:   'checkpoint 38'
211
		count:  38
212
		digest: '106984d2f0087e621dae760552bc6279072267883c204079481af6034354f1a2b77c17e6c039a1063e479342aa3ccd90330dd3fb5a7d5e976619497e2d3326cd'
213
	},
214
	MonteTestCase{
215
		name:   'checkpoint 39'
216
		count:  39
217
		digest: 'a1347216f1a6db47b90c4ded3c5c75440f54c22c87d538314d1340f86f88acba01378acb933ddad0adc6b75d55bfb7e8efc9c4a531b2a410610b7515b6dac66a'
218
	},
219
	MonteTestCase{
220
		name:   'checkpoint 40'
221
		count:  40
222
		digest: 'b76e4db147e0eaa4f04880654088b9d0fce518c8c377d92c846345604dc6b2b18d377fdb8e30f06d9bcfe6d7dacc07d6adff73d98d49f8f132b80f3084390830'
223
	},
224
	MonteTestCase{
225
		name:   'checkpoint 41'
226
		count:  41
227
		digest: 'acd4e527763dfd4513f0def0b1edf8ea12dc78d336b7b796f3dcc32e1068725443a2f55ab4f666b27d6bf2ab39669c98293f0a9108051fd3144d31a1ed171ddd'
228
	},
229
	MonteTestCase{
230
		name:   'checkpoint 42'
231
		count:  42
232
		digest: '10128c15494bc87a87374f676ef9fe2df20b36ffcca41a80bd40b216637b3de710efd070e277827820a7bba3cceb7b21f8fe7f9775d6c4df4d3da5349434ec49'
233
	},
234
	MonteTestCase{
235
		name:   'checkpoint 43'
236
		count:  43
237
		digest: '2632dd5c188c6ed3a4610405fdda704add752f5424d9de65a51400fe478e26cd0412e5f91ca4b744c34f4954f40a3a4254431d21954623208b527b7b4daa687e'
238
	},
239
	MonteTestCase{
240
		name:   'checkpoint 44'
241
		count:  44
242
		digest: '45707f5b6fc5ccd1f78d77f177d10fb8b462c74cc821518cd5cfa4b5d6b40b418044900693c37abbb82367d340fec67f800d74072935da1706b4d90ae26099c7'
243
	},
244
	MonteTestCase{
245
		name:   'checkpoint 45'
246
		count:  45
247
		digest: '56c37f31220b5b3040373d91b2c5e42fe9e601a12f7f8dc4534459bf28e484b8713db243c5782c031e674003a3c14c42fd152e7188789065e82795e10f87d54b'
248
	},
249
	MonteTestCase{
250
		name:   'checkpoint 46'
251
		count:  46
252
		digest: '5da94c899d48bd8299fee3d81662f8d6c5f8f8bc54d18cb0368b13cebaee7ad71e74ea80f34974ad166f04f9a0602809166fe4085a475a8ca86cade12b6754c4'
253
	},
254
	MonteTestCase{
255
		name:   'checkpoint 47'
256
		count:  47
257
		digest: '0664363f97ba910760b0922e31ca880ca97469506cb007e3108c36c3ce3ce1801fb4197609479339e8820632b6a38bffffee05a9adc11cc544b9aa6f5b95cc6f'
258
	},
259
	MonteTestCase{
260
		name:   'checkpoint 48'
261
		count:  48
262
		digest: '732c41a1edaa727c04f627ff158aaff67c18efd667216132b99ab84d108996a10bb008b5d803b22ed1aa78bb0d10f8a762fd34777d7dccce8e84827ba88d4193'
263
	},
264
	MonteTestCase{
265
		name:   'checkpoint 49'
266
		count:  49
267
		digest: 'fc9c21d67e393a2b05a23a17d8db630cbaebaa3def211181749f1bcad181560627fb60ee20fae2e5980cbf50fce0a19dce807e7fb75c4da0ef008bc75d413a65'
268
	},
269
	MonteTestCase{
270
		name:   'checkpoint 50'
271
		count:  50
272
		digest: '0453b765afc1edffa595efe345177f5805ed3abc1297ceab757ae7161723a6144cb543299f418049276d16b7896662631634fab9549127c10f27505b7dee8665'
273
	},
274
	MonteTestCase{
275
		name:   'checkpoint 51'
276
		count:  51
277
		digest: '3853f3bf024e0668e8d1ea53733a97537f97d9307c5f3a19864ab4eeb1654710693bb961a344dec8a758f5e64b26fcb6dd423419c4a114fa749211a9de06c281'
278
	},
279
	MonteTestCase{
280
		name:   'checkpoint 52'
281
		count:  52
282
		digest: '240137f0dd57beb3f7fc283bb3ead423c67883fd46f4e27471d7be57ad469a49bad03a3658418bd55614678f3a463bceff85291314b90ef43ccbcb028f0a7a07'
283
	},
284
	MonteTestCase{
285
		name:   'checkpoint 53'
286
		count:  53
287
		digest: 'f9050a5271edbe4cfdb9520ec05bbdc3cbcb9bce36fd212338d3e7028a39b9ab30793e561d75a2e424193264c7f0775e65599ef0c94e0ad24dbfe18252364267'
288
	},
289
	MonteTestCase{
290
		name:   'checkpoint 54'
291
		count:  54
292
		digest: '47caa7a5862fad837aaa409a4a9df2575e645528c35159115911b7c4e2f08ae49d68de97249b31b83ce2c163f649cad4559dc6e6a7191f2922d79a5fd6af167b'
293
	},
294
	MonteTestCase{
295
		name:   'checkpoint 55'
296
		count:  55
297
		digest: '13f5825c41fa49edf6104e3e35c9c224eba93e37374f730004c39c54e7391e4a847fd61865235a3fe32224c96fbe86f7e14c3d5df496e83ec989a71b4f293a44'
298
	},
299
	MonteTestCase{
300
		name:   'checkpoint 56'
301
		count:  56
302
		digest: 'e5b55e05efe1ca6b9a96a57e3a1523d610d70f837e93b31fa98c2736d3e114d238d46ec6b6e3d19e774b253f6b0c7a2ebe69b7e60fc0874444806b2a2278df45'
303
	},
304
	MonteTestCase{
305
		name:   'checkpoint 57'
306
		count:  57
307
		digest: 'f14a586ac30f0af255f597a9aef9abba5e99c04d17b01f24427c4ee2c196b52acb1ceefc9b15cb822b3ecffdc2f7c49e11d3fc0769acee33361537d379c62e0c'
308
	},
309
	MonteTestCase{
310
		name:   'checkpoint 58'
311
		count:  58
312
		digest: '7e2d3398807195c48e6ec52d20710bbf8b21ea8de4d1abc197897ccc58aeff40259edc67270cdae0edcc686c0d0dccc5760c1495ab1cf48482dc2000ae2d42ad'
313
	},
314
	MonteTestCase{
315
		name:   'checkpoint 59'
316
		count:  59
317
		digest: '2f3d5c5f990bf615d5e8b396ccbd0337da39fad09b059f955a431db76a9dc720dffc4e02c0be397c7e0463799cd75fd6ab7c52bec66c8df5ef0d47e14a4c5927'
318
	},
319
	MonteTestCase{
320
		name:   'checkpoint 60'
321
		count:  60
322
		digest: '483a1764d308cc494a2b543d29ba616483aefdf91c7769fd084eedaac1add1891df95d317a47430b2bf73e4081f86597020e28afe2d34a22b77ea62b6112d09a'
323
	},
324
	MonteTestCase{
325
		name:   'checkpoint 61'
326
		count:  61
327
		digest: 'bfa88691ec951511651c6f14af100eeb26d87729e18ac3ef49a80d73ffeaeea53e97c4a7277a7ee9f2fba070b1c9720d6cdba407dd82267019e3f0f5662b2f2b'
328
	},
329
	MonteTestCase{
330
		name:   'checkpoint 62'
331
		count:  62
332
		digest: '4c17c8e2e7132dbf82afebc40efc77926d16f4d2c082d846dac28733aa767e2840ebf04f2563df75933466a36e11968d342e4157827605d04d9627ce9b5216c8'
333
	},
334
	MonteTestCase{
335
		name:   'checkpoint 63'
336
		count:  63
337
		digest: '70bbfc29a2a765220af84e7bb10d759a3152ad4b5643ef6b89966950ec7ef9503d57bc0a28c4ee789a60bf9dcac59139e15241d73b990410cf92eff213da9eca'
338
	},
339
	MonteTestCase{
340
		name:   'checkpoint 64'
341
		count:  64
342
		digest: '8d1d56f37fc19b84984a6fa33aa9c2dbdbf79a29c04ad0b4cf20333e6bec943447be2416242f8cd2f9732e79bb925cc5a61a80c5fc9c079961243fd1c1f5900e'
343
	},
344
	MonteTestCase{
345
		name:   'checkpoint 65'
346
		count:  65
347
		digest: '492fd0171f4dcd5d20ea6c0d34b5576c8894664ae5955e6737f5e3b711c2804d99ccca065b7ec18c82da98b18a3029b765c51ebc7c433b36492e0ed6b8511bb6'
348
	},
349
	MonteTestCase{
350
		name:   'checkpoint 66'
351
		count:  66
352
		digest: '7f49e8e54db7e5b4323cae2db71f3e8b8eba172dcad3602e9b7b058007a5589358732d5afffa56072a46e89b1ea27ef8d556deb86b569c635d394f15d99d8a15'
353
	},
354
	MonteTestCase{
355
		name:   'checkpoint 67'
356
		count:  67
357
		digest: '56884a6a9210d5f371e25823efb2511a9c410c26a441e07c1bdffe8605084267d49c315baf6a692d7d97844b2714b4930877a5d7f52cf6fa151700fcb6980546'
358
	},
359
	MonteTestCase{
360
		name:   'checkpoint 68'
361
		count:  68
362
		digest: '6aaef8284eef221ecb17ea3c9596f075b5155fe7b925d737ed3c6543c761c28c7cd9d9d4b5e2a37b2f183a2a367bbd34b633497bc7a1737d61c8c1f3ef295062'
363
	},
364
	MonteTestCase{
365
		name:   'checkpoint 69'
366
		count:  69
367
		digest: '38ef178f5688e59d47c375252db7b39f40c0c84169878ee7ba5086e4b25fea81076b9c37847e9e6bf24ae0b343689c265ec5ca7469e619acd61b0276721efb1b'
368
	},
369
	MonteTestCase{
370
		name:   'checkpoint 70'
371
		count:  70
372
		digest: 'e3fe1aabad120777cf24eaae289b486632ca46ceb89afae73dbae5fa87c767879369355a9cc5c21ca604ed91d0f2f58c466573f3e6d88e52c62c0d3cb188e141'
373
	},
374
	MonteTestCase{
375
		name:   'checkpoint 71'
376
		count:  71
377
		digest: '82f5bd920457bb2763a0da031a7fed47b236951b1ea420c20fd2b6de1dbfbb9c4600ea7092788493e2d4be6ee24b6dba04e57af3e8f2f14d9837295420ac7631'
378
	},
379
	MonteTestCase{
380
		name:   'checkpoint 72'
381
		count:  72
382
		digest: '6d0b26208ba9b1615067bb3ff97b292fe67e4c02d240d649c32370e0a4cd22d03bdf864be4d24a3f5f51aeccfd1afd5191e590edeb5f7bec323b0506c3104b89'
383
	},
384
	MonteTestCase{
385
		name:   'checkpoint 73'
386
		count:  73
387
		digest: 'd081083158054d08371ec84f4d3aa5aa761734ac6091a30330a861fda056f835c750bf4f7981af1693ff28545366bd05cec47bccd77a7d237befb0135c534138'
388
	},
389
	MonteTestCase{
390
		name:   'checkpoint 74'
391
		count:  74
392
		digest: '6ba8b52780b8a07a2a2015dd8f0c5e7437b8e024c4ee428f7ba91dfea118cb72a939872550983317132b841b7cbc29a22b8f1cfea0c55203cafc69b55ed6244a'
393
	},
394
	MonteTestCase{
395
		name:   'checkpoint 75'
396
		count:  75
397
		digest: '312692b0a51f002b7f06d05b39d15a5637dbddd2f4f1a73e6c88a4c841cdba5cd8e69c0939ab39bb1a9c54fa35402143c97edb9704a0e9e1a98701710f6a5dad'
398
	},
399
	MonteTestCase{
400
		name:   'checkpoint 76'
401
		count:  76
402
		digest: 'aaee960de201a8dcccff95b834fccf0dafc03fe6cffc0429162bf4aff01165ab07a0c9435e9cb412121b7ba010657ccc3152118602b665072136317d92fd4262'
403
	},
404
	MonteTestCase{
405
		name:   'checkpoint 77'
406
		count:  77
407
		digest: '21fdff552e08c86c07f080cefacaaaf31846eb893bfe2e4f88c3c3cd8cbf592a84500942695a5e5ae971ab343ce2695dd1baeb1f94dd4b53d678e14265e421ae'
408
	},
409
	MonteTestCase{
410
		name:   'checkpoint 78'
411
		count:  78
412
		digest: 'ca8f1a5b2172f6adb474da53b35e3f73ffd88263d3eecde72e48b16e1a0658015b555ee319005a1d82802e91431ee777610f9b1028d819921e1044ad426b0270'
413
	},
414
	MonteTestCase{
415
		name:   'checkpoint 79'
416
		count:  79
417
		digest: 'ce5ab25eff9c1ddc569a1eaaa66b689109ee269db7066e0b02d39b3564fd14ca6249987b7791e203d3d7c2ebf18558d2f23f94c03dd1d03aa63849e4d2889a76'
418
	},
419
	MonteTestCase{
420
		name:   'checkpoint 80'
421
		count:  80
422
		digest: 'a6f8b0561000dd4ae8b828c5f676e8c1a6474c4a042a645f1815bd52e9ff53c97dc36d5d8997f8ce332185feead76267f5b2e63f597fb3345ca0046e58fc0f24'
423
	},
424
	MonteTestCase{
425
		name:   'checkpoint 81'
426
		count:  81
427
		digest: 'fec86794bad4106c5ad1c1a2d9a1b7aae480396ec231eb5cac21c4077d17a0b652da0037363399a5a1dababa4a40e4c54b9124167580dee9108c4dbb24c57512'
428
	},
429
	MonteTestCase{
430
		name:   'checkpoint 82'
431
		count:  82
432
		digest: '594f5dd3f4c87bdc0d81309386e9163a9718e34c7b0dcb4613f8487aa786f9d211cfb61bb247fa9f5ecef042e710f192850f5571807294bfd8a54397850e5773'
433
	},
434
	MonteTestCase{
435
		name:   'checkpoint 83'
436
		count:  83
437
		digest: 'd81ad866f25ef6a0a6431d267114da564513e5ebdcf48db7e95db8cf32a89f0ab107874d796035db97420ffcf1db5f04dc1a52ddbbb960fc63b7f3f835cc8be6'
438
	},
439
	MonteTestCase{
440
		name:   'checkpoint 84'
441
		count:  84
442
		digest: '431d537e098e9949f6a68108d55d20952e3bfcdeb7273bac3917e37790a84fa5db04c33a79c113a06cf333e831d7702a00853a93fd0aa5146d934f4f71242a6a'
443
	},
444
	MonteTestCase{
445
		name:   'checkpoint 85'
446
		count:  85
447
		digest: '4ed95636c6885ae4e63d042e82f4da830c702dbf3b9746d64770a64dd666b33208315f3a947c4dff790771ef283788a9c74da83e22b97f750286a820ee46698c'
448
	},
449
	MonteTestCase{
450
		name:   'checkpoint 86'
451
		count:  86
452
		digest: 'a9bcb60b4d7724cdddddbc232b4ac70b94d0d7e9f0724b1222d918930cbb9bdbb04b3ad43e3c8caf3bf8b004ee4aec6bd527ff8eb6189b44827f7ba7057f6a90'
453
	},
454
	MonteTestCase{
455
		name:   'checkpoint 87'
456
		count:  87
457
		digest: 'd6d5e44d5bb07fc4144ab6ab309f048968f73f7992beb326047e9e2cd7af6240bc8abf46703c32fdb58fb2a8672594a660ef855be74f24cec09d4fb00219de82'
458
	},
459
	MonteTestCase{
460
		name:   'checkpoint 88'
461
		count:  88
462
		digest: 'dfda9ac0c7147530da97715ccf47814182255f2f2cf40287db97a4c63b43fcd39e6d41e560921492badb253a7dea0aba863c7c33b912bb59d1ff4de03a4f03bb'
463
	},
464
	MonteTestCase{
465
		name:   'checkpoint 89'
466
		count:  89
467
		digest: '0395faaaf2e907f27779d6f1cc9c9db68ec390a38fbb0702c6475b46f7a399498d46fd8014f834b131e1e83abba0359b1f16d8fc0a393580615def2ad0caba73'
468
	},
469
	MonteTestCase{
470
		name:   'checkpoint 90'
471
		count:  90
472
		digest: '41cb98f09029abe85d24a0f131f116c7f69f54f7e91c250642606512bf3da4ca89ba70a4714a5f66d9ae81ff09317dadaff12a02057074c970f0f02a52bfafd2'
473
	},
474
	MonteTestCase{
475
		name:   'checkpoint 91'
476
		count:  91
477
		digest: '8e8f161d48e306c5533ed614b8ef3a1979df6db7e13d0780a73c4a3980ddf0a95f93941d412c93683e39915a660c3fbec0dbb1bb6beea2e2099cd968011535c0'
478
	},
479
	MonteTestCase{
480
		name:   'checkpoint 92'
481
		count:  92
482
		digest: '789593f0b8fb83ef9b3ec50ab8f6e1e47344f763d4f7ceab5600989e7b6fd5fef6ee5e487975f64474af6cd71ae4d9ecce8f009edea0227c7ebe73080b8f961b'
483
	},
484
	MonteTestCase{
485
		name:   'checkpoint 93'
486
		count:  93
487
		digest: 'f37e1449e0b313d9537a6177f7a31158d353e5b79c781facf02526ec94e0c6cfda37105bac67098b194ea82efb307c2929a9ab8aca0e76c53e829e3f901cd245'
488
	},
489
	MonteTestCase{
490
		name:   'checkpoint 94'
491
		count:  94
492
		digest: '2e74e745caaf2d449ab3b031dd214b48616853a512cf2e95c40cb8e7594fe5e4879ac8a26d02eb35b3b96a5c9e7dcae3e15fd050a0bcc1fb3b9cb9c4df0fad3e'
493
	},
494
	MonteTestCase{
495
		name:   'checkpoint 95'
496
		count:  95
497
		digest: '6eac7069c26082e52574ca6a58abb9b1b9faf452e8cca9f1c7023679ce192ca554892f30e38104d39088a24df35612444a0fc90084af7535fd9344fa51dded84'
498
	},
499
	MonteTestCase{
500
		name:   'checkpoint 96'
501
		count:  96
502
		digest: 'ada6caf30c4f6e3644d952366e01519af6771b406e2c447552f0c597b8dd10e9e9b4e699c9a835de03f422be8980538d9786172dfd2fe511db272a1543d5aa35'
503
	},
504
	MonteTestCase{
505
		name:   'checkpoint 97'
506
		count:  97
507
		digest: '4d4b0086b2cb05d713f2805caa7e6605c8f7dbbb2e0f92aa159aebdcd63060305f47b748f1bca6e0b6e11cf8f9697fcccb6584b878c4b54a699290728a40aa1b'
508
	},
509
	MonteTestCase{
510
		name:   'checkpoint 98'
511
		count:  98
512
		digest: '97420b8a0ad102aeb92139da2c052d2748dd7d2dbb93a9ea79dc15b520d0ca7cab8cb7a00f5b5aebcb49d7e7f52a27180935ce617aeecdecba04064c668edd37'
513
	},
514
	MonteTestCase{
515
		name:   'checkpoint 99'
516
		count:  99
517
		digest: '4aa7dad74eb51d09a6ae7735c4b795b078f51c314f14f42a0d63071e13bdc5fd9f51612e77b36d44567502a3b5eb66c609ec017e51d8df93e58d1a44f3c1e375'
518
	},
519
]
520

521
fn test_monte_messages() {
522
	mut msg_seed := hex.decode(seed)!
523

524
	for c in monte_cases {
525
		mut md0 := msg_seed.clone()
526
		mut md1 := msg_seed.clone()
527
		mut md2 := msg_seed.clone()
528
		mut md3 := msg_seed.clone()
529

530
		mut mi := []u8{len: 0, cap: 64}
531

532
		for _ in 0 .. 1000 {
533
			mi.clear()
534
			mi << md0
535
			mi << md1
536
			mi << md2
537

538
			md3 = sha512.sum512(mi)
539

540
			md0 = md1.clone()
541
			md1 = md2.clone()
542
			md2 = md3.clone()
543
		}
544

545
		msg_seed = md3.clone()
546

547
		expected_result := hex.decode(c.digest)!
548

549
		assert md3 == expected_result, 'failed ${c.name}'
550
	}
551
}
552

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.