SHA-256 後半部分にも存在

bitcoin

反転率が0になるのは、前半部分だけではなく後半部分にもあります。
つまり、このように攪拌しないビットを基準に、どの程度を左右へと攪拌させるのか。それが調整可能となっている構造でした。

=== Avalanche Analysis SHA256 Custom
(Tuning auxiliary functions to force the bit-flip probability of specific bits to zero)
===
Pairs : 600000
Hash bits : 256
Mean distance : 123.989577 (expected 128.000000)
Variance : 90.040435 (expected 64.000000)
Chi^2 (Binom 0.5) : 9860273881.010845 dof=122 approx p=0.000e+00

— Hamming distance histogram (k : count) —
0 : 0
1 : 0
2 : 0
3 : 0
4 : 0
5 : 0
6 : 0
7 : 0
125 : 26744
126 : 26451
127 : 25803
128 : 25289
129 : 24307
130 : 22592
131 : 21019

249 : 0
250 : 0
251 : 0
252 : 0
253 : 0
254 : 0
255 : 0
256 : 0

— Per-bit flip rate (MSB-first) —
bit[0] : 0.499810
bit[1] : 0.500292
bit[2] : 0.499900
bit[3] : 0.499610
bit[4] : 0.500570
bit[5] : 0.499510
bit[6] : 0.499638
bit[7] : 0.500705
bit[8] : 0.501530
bit[9] : 0.499012
bit[10] : 0.499897
bit[11] : 0.499180
bit[12] : 0.500272
bit[13] : 0.499447
bit[14] : 0.498328
bit[15] : 0.500622
bit[16] : 0.500170
bit[17] : 0.499872
bit[18] : 0.499562
bit[19] : 0.500280
bit[20] : 0.500002
bit[21] : 0.499793
bit[22] : 0.500305
bit[23] : 0.499928
bit[24] : 0.500342
bit[25] : 0.499422
bit[26] : 0.499515
bit[27] : 0.500423
bit[28] : 0.500062
bit[29] : 0.500848
bit[30] : 0.500463
bit[31] : 0.498918
bit[32] : 0.500152
bit[33] : 0.499672
bit[34] : 0.498793
bit[35] : 0.499993
bit[36] : 0.500110
bit[37] : 0.499662
bit[38] : 0.499957
bit[39] : 0.500617
bit[40] : 0.500760
bit[41] : 0.499192
bit[42] : 0.500062
bit[43] : 0.499675
bit[44] : 0.499605
bit[45] : 0.500395
bit[46] : 0.498620
bit[47] : 0.501228
bit[48] : 0.499565
bit[49] : 0.501097
bit[50] : 0.500432
bit[51] : 0.501067
bit[52] : 0.499843
bit[53] : 0.499927
bit[54] : 0.499797
bit[55] : 0.500037
bit[56] : 0.500257
bit[57] : 0.500517
bit[58] : 0.500045
bit[59] : 0.499563
bit[60] : 0.500623
bit[61] : 0.499452
bit[62] : 0.498918
bit[63] : 0.000000
bit[64] : 0.499330
bit[65] : 0.500472
bit[66] : 0.499785
bit[67] : 0.499445
bit[68] : 0.500548
bit[69] : 0.501247
bit[70] : 0.500135
bit[71] : 0.499255
bit[72] : 0.500135
bit[73] : 0.499992
bit[74] : 0.499918
bit[75] : 0.499938
bit[76] : 0.499848
bit[77] : 0.499083
bit[78] : 0.501013
bit[79] : 0.500133
bit[80] : 0.500590
bit[81] : 0.500388
bit[82] : 0.499783
bit[83] : 0.499310
bit[84] : 0.500907
bit[85] : 0.500842
bit[86] : 0.499610
bit[87] : 0.499645
bit[88] : 0.500562
bit[89] : 0.499015
bit[90] : 0.499927
bit[91] : 0.499000
bit[92] : 0.499698
bit[93] : 0.499452
bit[94] : 0.498918
bit[95] : 0.000000
bit[96] : 0.500402
bit[97] : 0.499447
bit[98] : 0.500275
bit[99] : 0.499950
bit[100] : 0.499648
bit[101] : 0.501275
bit[102] : 0.500838
bit[103] : 0.500018
bit[104] : 0.501110
bit[105] : 0.500087
bit[106] : 0.499390
bit[107] : 0.499740
bit[108] : 0.498855
bit[109] : 0.500920
bit[110] : 0.499952
bit[111] : 0.499607
bit[112] : 0.499775
bit[113] : 0.499953
bit[114] : 0.499710
bit[115] : 0.500607
bit[116] : 0.500052
bit[117] : 0.500418
bit[118] : 0.498833
bit[119] : 0.499977
bit[120] : 0.500210
bit[121] : 0.498178
bit[122] : 0.500203
bit[123] : 0.499425
bit[124] : 0.500448
bit[125] : 0.500848
bit[126] : 0.500463
bit[127] : 0.498918
bit[128] : 0.500455
bit[129] : 0.500017
bit[130] : 0.498867
bit[131] : 0.500007
bit[132] : 0.499765
bit[133] : 0.500543
bit[134] : 0.500935
bit[135] : 0.498168
bit[136] : 0.499598
bit[137] : 0.500152
bit[138] : 0.500955
bit[139] : 0.501043
bit[140] : 0.499437
bit[141] : 0.499897
bit[142] : 0.500607
bit[143] : 0.499572
bit[144] : 0.500997
bit[145] : 0.499520
bit[146] : 0.499007
bit[147] : 0.499265
bit[148] : 0.500627
bit[149] : 0.500240
bit[150] : 0.500323
bit[151] : 0.500325
bit[152] : 0.500643
bit[153] : 0.500613
bit[154] : 0.499688
bit[155] : 0.499710
bit[156] : 0.499285
bit[157] : 0.499767
bit[158] : 0.499452
bit[159] : 0.498918
bit[160] : 0.499637
bit[161] : 0.498075
bit[162] : 0.500728
bit[163] : 0.499782
bit[164] : 0.500413
bit[165] : 0.500217
bit[166] : 0.499522
bit[167] : 0.499703
bit[168] : 0.499388
bit[169] : 0.499838
bit[170] : 0.499738
bit[171] : 0.499285
bit[172] : 0.501357
bit[173] : 0.498373
bit[174] : 0.500673
bit[175] : 0.499723
bit[176] : 0.499758
bit[177] : 0.501100
bit[178] : 0.500273
bit[179] : 0.500795
bit[180] : 0.499672
bit[181] : 0.499943
bit[182] : 0.500587
bit[183] : 0.500502
bit[184] : 0.500450
bit[185] : 0.499978
bit[186] : 0.499728
bit[187] : 0.500605
bit[188] : 0.499492
bit[189] : 0.499452
bit[190] : 0.498918
bit[191] : 0.000000
bit[192] : 0.499588
bit[193] : 0.500503
bit[194] : 0.501675
bit[195] : 0.500517
bit[196] : 0.500312
bit[197] : 0.499857
bit[198] : 0.498658
bit[199] : 0.500390
bit[200] : 0.500082
bit[201] : 0.500643
bit[202] : 0.500122
bit[203] : 0.498587
bit[204] : 0.500508
bit[205] : 0.499555
bit[206] : 0.498893
bit[207] : 0.499968
bit[208] : 0.499313
bit[209] : 0.500737
bit[210] : 0.500163
bit[211] : 0.501095
bit[212] : 0.498988
bit[213] : 0.499782
bit[214] : 0.500527
bit[215] : 0.498570
bit[216] : 0.500062
bit[217] : 0.500848
bit[218] : 0.500463
bit[219] : 0.498918
bit[220] : 0.000000
bit[221] : 0.000000
bit[222] : 0.000000
bit[223] : 0.000000

bit[224] : 0.499767
bit[225] : 0.500050
bit[226] : 0.500850
bit[227] : 0.499405
bit[228] : 0.500222
bit[229] : 0.500395
bit[230] : 0.499903
bit[231] : 0.500433
bit[232] : 0.499372
bit[233] : 0.499845
bit[234] : 0.501040
bit[235] : 0.499942
bit[236] : 0.500177
bit[237] : 0.499895
bit[238] : 0.499222
bit[239] : 0.499857
bit[240] : 0.499507
bit[241] : 0.500525
bit[242] : 0.500557
bit[243] : 0.500260
bit[244] : 0.499440
bit[245] : 0.499702
bit[246] : 0.500010
bit[247] : 0.500452
bit[248] : 0.499850
bit[249] : 0.499607
bit[250] : 0.500233
bit[251] : 0.500457
bit[252] : 0.499492
bit[253] : 0.499452
bit[254] : 0.498918
bit[255] : 0.000000

タイトルとURLをコピーしました