line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
/*** |
2
|
|
|
|
|
|
|
* Copyright 2017 Marc Stevens , Dan Shumow |
3
|
|
|
|
|
|
|
* Distributed under the MIT Software License. |
4
|
|
|
|
|
|
|
* See accompanying file LICENSE.txt or copy at |
5
|
|
|
|
|
|
|
* https://opensource.org/licenses/MIT |
6
|
|
|
|
|
|
|
***/ |
7
|
|
|
|
|
|
|
|
8
|
|
|
|
|
|
|
/* |
9
|
|
|
|
|
|
|
// this file was generated by the 'parse_bitrel' program in the tools section |
10
|
|
|
|
|
|
|
// using the data files from directory 'tools/data/3565' |
11
|
|
|
|
|
|
|
// |
12
|
|
|
|
|
|
|
// sha1_dvs contains a list of SHA-1 Disturbance Vectors (DV) to check |
13
|
|
|
|
|
|
|
// dvType, dvK and dvB define the DV: I(K,B) or II(K,B) (see the paper) |
14
|
|
|
|
|
|
|
// dm[80] is the expanded message block XOR-difference defined by the DV |
15
|
|
|
|
|
|
|
// testt is the step to do the recompression from for collision detection |
16
|
|
|
|
|
|
|
// maski and maskb define the bit to check for each DV in the dvmask returned by ubc_check |
17
|
|
|
|
|
|
|
// |
18
|
|
|
|
|
|
|
// ubc_check takes as input an expanded message block and verifies the unavoidable bitconditions for all listed DVs |
19
|
|
|
|
|
|
|
// it returns a dvmask where each bit belonging to a DV is set if all unavoidable bitconditions for that DV have been met |
20
|
|
|
|
|
|
|
// thus one needs to do the recompression check for each DV that has its bit set |
21
|
|
|
|
|
|
|
// |
22
|
|
|
|
|
|
|
// ubc_check is programmatically generated and the unavoidable bitconditions have been hardcoded |
23
|
|
|
|
|
|
|
// a directly verifiable version named ubc_check_verify can be found in ubc_check_verify.c |
24
|
|
|
|
|
|
|
// ubc_check has been verified against ubc_check_verify using the 'ubc_check_test' program in the tools section |
25
|
|
|
|
|
|
|
*/ |
26
|
|
|
|
|
|
|
|
27
|
|
|
|
|
|
|
#ifndef SHA1DC_NO_STANDARD_INCLUDES |
28
|
|
|
|
|
|
|
#include |
29
|
|
|
|
|
|
|
#endif |
30
|
|
|
|
|
|
|
#ifdef SHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C |
31
|
|
|
|
|
|
|
#include SHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C |
32
|
|
|
|
|
|
|
#endif |
33
|
|
|
|
|
|
|
#include "ubc_check.h" |
34
|
|
|
|
|
|
|
|
35
|
|
|
|
|
|
|
static const uint32_t DV_I_43_0_bit = (uint32_t)(1) << 0; |
36
|
|
|
|
|
|
|
static const uint32_t DV_I_44_0_bit = (uint32_t)(1) << 1; |
37
|
|
|
|
|
|
|
static const uint32_t DV_I_45_0_bit = (uint32_t)(1) << 2; |
38
|
|
|
|
|
|
|
static const uint32_t DV_I_46_0_bit = (uint32_t)(1) << 3; |
39
|
|
|
|
|
|
|
static const uint32_t DV_I_46_2_bit = (uint32_t)(1) << 4; |
40
|
|
|
|
|
|
|
static const uint32_t DV_I_47_0_bit = (uint32_t)(1) << 5; |
41
|
|
|
|
|
|
|
static const uint32_t DV_I_47_2_bit = (uint32_t)(1) << 6; |
42
|
|
|
|
|
|
|
static const uint32_t DV_I_48_0_bit = (uint32_t)(1) << 7; |
43
|
|
|
|
|
|
|
static const uint32_t DV_I_48_2_bit = (uint32_t)(1) << 8; |
44
|
|
|
|
|
|
|
static const uint32_t DV_I_49_0_bit = (uint32_t)(1) << 9; |
45
|
|
|
|
|
|
|
static const uint32_t DV_I_49_2_bit = (uint32_t)(1) << 10; |
46
|
|
|
|
|
|
|
static const uint32_t DV_I_50_0_bit = (uint32_t)(1) << 11; |
47
|
|
|
|
|
|
|
static const uint32_t DV_I_50_2_bit = (uint32_t)(1) << 12; |
48
|
|
|
|
|
|
|
static const uint32_t DV_I_51_0_bit = (uint32_t)(1) << 13; |
49
|
|
|
|
|
|
|
static const uint32_t DV_I_51_2_bit = (uint32_t)(1) << 14; |
50
|
|
|
|
|
|
|
static const uint32_t DV_I_52_0_bit = (uint32_t)(1) << 15; |
51
|
|
|
|
|
|
|
static const uint32_t DV_II_45_0_bit = (uint32_t)(1) << 16; |
52
|
|
|
|
|
|
|
static const uint32_t DV_II_46_0_bit = (uint32_t)(1) << 17; |
53
|
|
|
|
|
|
|
static const uint32_t DV_II_46_2_bit = (uint32_t)(1) << 18; |
54
|
|
|
|
|
|
|
static const uint32_t DV_II_47_0_bit = (uint32_t)(1) << 19; |
55
|
|
|
|
|
|
|
static const uint32_t DV_II_48_0_bit = (uint32_t)(1) << 20; |
56
|
|
|
|
|
|
|
static const uint32_t DV_II_49_0_bit = (uint32_t)(1) << 21; |
57
|
|
|
|
|
|
|
static const uint32_t DV_II_49_2_bit = (uint32_t)(1) << 22; |
58
|
|
|
|
|
|
|
static const uint32_t DV_II_50_0_bit = (uint32_t)(1) << 23; |
59
|
|
|
|
|
|
|
static const uint32_t DV_II_50_2_bit = (uint32_t)(1) << 24; |
60
|
|
|
|
|
|
|
static const uint32_t DV_II_51_0_bit = (uint32_t)(1) << 25; |
61
|
|
|
|
|
|
|
static const uint32_t DV_II_51_2_bit = (uint32_t)(1) << 26; |
62
|
|
|
|
|
|
|
static const uint32_t DV_II_52_0_bit = (uint32_t)(1) << 27; |
63
|
|
|
|
|
|
|
static const uint32_t DV_II_53_0_bit = (uint32_t)(1) << 28; |
64
|
|
|
|
|
|
|
static const uint32_t DV_II_54_0_bit = (uint32_t)(1) << 29; |
65
|
|
|
|
|
|
|
static const uint32_t DV_II_55_0_bit = (uint32_t)(1) << 30; |
66
|
|
|
|
|
|
|
static const uint32_t DV_II_56_0_bit = (uint32_t)(1) << 31; |
67
|
|
|
|
|
|
|
|
68
|
|
|
|
|
|
|
dv_info_t sha1_dvs[] = |
69
|
|
|
|
|
|
|
{ |
70
|
|
|
|
|
|
|
{1,43,0,58,0,0, { 0x08000000,0x9800000c,0xd8000010,0x08000010,0xb8000010,0x98000000,0x60000000,0x00000008,0xc0000000,0x90000014,0x10000010,0xb8000014,0x28000000,0x20000010,0x48000000,0x08000018,0x60000000,0x90000010,0xf0000010,0x90000008,0xc0000000,0x90000010,0xf0000010,0xb0000008,0x40000000,0x90000000,0xf0000010,0x90000018,0x60000000,0x90000010,0x90000010,0x90000000,0x80000000,0x00000010,0xa0000000,0x20000000,0xa0000000,0x20000010,0x00000000,0x20000010,0x20000000,0x00000010,0x20000000,0x00000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000040,0x40000002,0x80000004,0x80000080,0x80000006,0x00000049,0x00000103,0x80000009,0x80000012,0x80000202,0x00000018,0x00000164,0x00000408,0x800000e6,0x8000004c,0x00000803,0x80000161,0x80000599 } } |
71
|
|
|
|
|
|
|
, {1,44,0,58,0,1, { 0xb4000008,0x08000000,0x9800000c,0xd8000010,0x08000010,0xb8000010,0x98000000,0x60000000,0x00000008,0xc0000000,0x90000014,0x10000010,0xb8000014,0x28000000,0x20000010,0x48000000,0x08000018,0x60000000,0x90000010,0xf0000010,0x90000008,0xc0000000,0x90000010,0xf0000010,0xb0000008,0x40000000,0x90000000,0xf0000010,0x90000018,0x60000000,0x90000010,0x90000010,0x90000000,0x80000000,0x00000010,0xa0000000,0x20000000,0xa0000000,0x20000010,0x00000000,0x20000010,0x20000000,0x00000010,0x20000000,0x00000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000040,0x40000002,0x80000004,0x80000080,0x80000006,0x00000049,0x00000103,0x80000009,0x80000012,0x80000202,0x00000018,0x00000164,0x00000408,0x800000e6,0x8000004c,0x00000803,0x80000161 } } |
72
|
|
|
|
|
|
|
, {1,45,0,58,0,2, { 0xf4000014,0xb4000008,0x08000000,0x9800000c,0xd8000010,0x08000010,0xb8000010,0x98000000,0x60000000,0x00000008,0xc0000000,0x90000014,0x10000010,0xb8000014,0x28000000,0x20000010,0x48000000,0x08000018,0x60000000,0x90000010,0xf0000010,0x90000008,0xc0000000,0x90000010,0xf0000010,0xb0000008,0x40000000,0x90000000,0xf0000010,0x90000018,0x60000000,0x90000010,0x90000010,0x90000000,0x80000000,0x00000010,0xa0000000,0x20000000,0xa0000000,0x20000010,0x00000000,0x20000010,0x20000000,0x00000010,0x20000000,0x00000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000040,0x40000002,0x80000004,0x80000080,0x80000006,0x00000049,0x00000103,0x80000009,0x80000012,0x80000202,0x00000018,0x00000164,0x00000408,0x800000e6,0x8000004c,0x00000803 } } |
73
|
|
|
|
|
|
|
, {1,46,0,58,0,3, { 0x2c000010,0xf4000014,0xb4000008,0x08000000,0x9800000c,0xd8000010,0x08000010,0xb8000010,0x98000000,0x60000000,0x00000008,0xc0000000,0x90000014,0x10000010,0xb8000014,0x28000000,0x20000010,0x48000000,0x08000018,0x60000000,0x90000010,0xf0000010,0x90000008,0xc0000000,0x90000010,0xf0000010,0xb0000008,0x40000000,0x90000000,0xf0000010,0x90000018,0x60000000,0x90000010,0x90000010,0x90000000,0x80000000,0x00000010,0xa0000000,0x20000000,0xa0000000,0x20000010,0x00000000,0x20000010,0x20000000,0x00000010,0x20000000,0x00000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000040,0x40000002,0x80000004,0x80000080,0x80000006,0x00000049,0x00000103,0x80000009,0x80000012,0x80000202,0x00000018,0x00000164,0x00000408,0x800000e6,0x8000004c } } |
74
|
|
|
|
|
|
|
, {1,46,2,58,0,4, { 0xb0000040,0xd0000053,0xd0000022,0x20000000,0x60000032,0x60000043,0x20000040,0xe0000042,0x60000002,0x80000001,0x00000020,0x00000003,0x40000052,0x40000040,0xe0000052,0xa0000000,0x80000040,0x20000001,0x20000060,0x80000001,0x40000042,0xc0000043,0x40000022,0x00000003,0x40000042,0xc0000043,0xc0000022,0x00000001,0x40000002,0xc0000043,0x40000062,0x80000001,0x40000042,0x40000042,0x40000002,0x00000002,0x00000040,0x80000002,0x80000000,0x80000002,0x80000040,0x00000000,0x80000040,0x80000000,0x00000040,0x80000000,0x00000040,0x80000002,0x00000000,0x80000000,0x80000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000004,0x00000080,0x00000004,0x00000009,0x00000101,0x00000009,0x00000012,0x00000202,0x0000001a,0x00000124,0x0000040c,0x00000026,0x0000004a,0x0000080a,0x00000060,0x00000590,0x00001020,0x0000039a,0x00000132 } } |
75
|
|
|
|
|
|
|
, {1,47,0,58,0,5, { 0xc8000010,0x2c000010,0xf4000014,0xb4000008,0x08000000,0x9800000c,0xd8000010,0x08000010,0xb8000010,0x98000000,0x60000000,0x00000008,0xc0000000,0x90000014,0x10000010,0xb8000014,0x28000000,0x20000010,0x48000000,0x08000018,0x60000000,0x90000010,0xf0000010,0x90000008,0xc0000000,0x90000010,0xf0000010,0xb0000008,0x40000000,0x90000000,0xf0000010,0x90000018,0x60000000,0x90000010,0x90000010,0x90000000,0x80000000,0x00000010,0xa0000000,0x20000000,0xa0000000,0x20000010,0x00000000,0x20000010,0x20000000,0x00000010,0x20000000,0x00000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000040,0x40000002,0x80000004,0x80000080,0x80000006,0x00000049,0x00000103,0x80000009,0x80000012,0x80000202,0x00000018,0x00000164,0x00000408,0x800000e6 } } |
76
|
|
|
|
|
|
|
, {1,47,2,58,0,6, { 0x20000043,0xb0000040,0xd0000053,0xd0000022,0x20000000,0x60000032,0x60000043,0x20000040,0xe0000042,0x60000002,0x80000001,0x00000020,0x00000003,0x40000052,0x40000040,0xe0000052,0xa0000000,0x80000040,0x20000001,0x20000060,0x80000001,0x40000042,0xc0000043,0x40000022,0x00000003,0x40000042,0xc0000043,0xc0000022,0x00000001,0x40000002,0xc0000043,0x40000062,0x80000001,0x40000042,0x40000042,0x40000002,0x00000002,0x00000040,0x80000002,0x80000000,0x80000002,0x80000040,0x00000000,0x80000040,0x80000000,0x00000040,0x80000000,0x00000040,0x80000002,0x00000000,0x80000000,0x80000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000004,0x00000080,0x00000004,0x00000009,0x00000101,0x00000009,0x00000012,0x00000202,0x0000001a,0x00000124,0x0000040c,0x00000026,0x0000004a,0x0000080a,0x00000060,0x00000590,0x00001020,0x0000039a } } |
77
|
|
|
|
|
|
|
, {1,48,0,58,0,7, { 0xb800000a,0xc8000010,0x2c000010,0xf4000014,0xb4000008,0x08000000,0x9800000c,0xd8000010,0x08000010,0xb8000010,0x98000000,0x60000000,0x00000008,0xc0000000,0x90000014,0x10000010,0xb8000014,0x28000000,0x20000010,0x48000000,0x08000018,0x60000000,0x90000010,0xf0000010,0x90000008,0xc0000000,0x90000010,0xf0000010,0xb0000008,0x40000000,0x90000000,0xf0000010,0x90000018,0x60000000,0x90000010,0x90000010,0x90000000,0x80000000,0x00000010,0xa0000000,0x20000000,0xa0000000,0x20000010,0x00000000,0x20000010,0x20000000,0x00000010,0x20000000,0x00000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000040,0x40000002,0x80000004,0x80000080,0x80000006,0x00000049,0x00000103,0x80000009,0x80000012,0x80000202,0x00000018,0x00000164,0x00000408 } } |
78
|
|
|
|
|
|
|
, {1,48,2,58,0,8, { 0xe000002a,0x20000043,0xb0000040,0xd0000053,0xd0000022,0x20000000,0x60000032,0x60000043,0x20000040,0xe0000042,0x60000002,0x80000001,0x00000020,0x00000003,0x40000052,0x40000040,0xe0000052,0xa0000000,0x80000040,0x20000001,0x20000060,0x80000001,0x40000042,0xc0000043,0x40000022,0x00000003,0x40000042,0xc0000043,0xc0000022,0x00000001,0x40000002,0xc0000043,0x40000062,0x80000001,0x40000042,0x40000042,0x40000002,0x00000002,0x00000040,0x80000002,0x80000000,0x80000002,0x80000040,0x00000000,0x80000040,0x80000000,0x00000040,0x80000000,0x00000040,0x80000002,0x00000000,0x80000000,0x80000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000004,0x00000080,0x00000004,0x00000009,0x00000101,0x00000009,0x00000012,0x00000202,0x0000001a,0x00000124,0x0000040c,0x00000026,0x0000004a,0x0000080a,0x00000060,0x00000590,0x00001020 } } |
79
|
|
|
|
|
|
|
, {1,49,0,58,0,9, { 0x18000000,0xb800000a,0xc8000010,0x2c000010,0xf4000014,0xb4000008,0x08000000,0x9800000c,0xd8000010,0x08000010,0xb8000010,0x98000000,0x60000000,0x00000008,0xc0000000,0x90000014,0x10000010,0xb8000014,0x28000000,0x20000010,0x48000000,0x08000018,0x60000000,0x90000010,0xf0000010,0x90000008,0xc0000000,0x90000010,0xf0000010,0xb0000008,0x40000000,0x90000000,0xf0000010,0x90000018,0x60000000,0x90000010,0x90000010,0x90000000,0x80000000,0x00000010,0xa0000000,0x20000000,0xa0000000,0x20000010,0x00000000,0x20000010,0x20000000,0x00000010,0x20000000,0x00000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000040,0x40000002,0x80000004,0x80000080,0x80000006,0x00000049,0x00000103,0x80000009,0x80000012,0x80000202,0x00000018,0x00000164 } } |
80
|
|
|
|
|
|
|
, {1,49,2,58,0,10, { 0x60000000,0xe000002a,0x20000043,0xb0000040,0xd0000053,0xd0000022,0x20000000,0x60000032,0x60000043,0x20000040,0xe0000042,0x60000002,0x80000001,0x00000020,0x00000003,0x40000052,0x40000040,0xe0000052,0xa0000000,0x80000040,0x20000001,0x20000060,0x80000001,0x40000042,0xc0000043,0x40000022,0x00000003,0x40000042,0xc0000043,0xc0000022,0x00000001,0x40000002,0xc0000043,0x40000062,0x80000001,0x40000042,0x40000042,0x40000002,0x00000002,0x00000040,0x80000002,0x80000000,0x80000002,0x80000040,0x00000000,0x80000040,0x80000000,0x00000040,0x80000000,0x00000040,0x80000002,0x00000000,0x80000000,0x80000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000004,0x00000080,0x00000004,0x00000009,0x00000101,0x00000009,0x00000012,0x00000202,0x0000001a,0x00000124,0x0000040c,0x00000026,0x0000004a,0x0000080a,0x00000060,0x00000590 } } |
81
|
|
|
|
|
|
|
, {1,50,0,65,0,11, { 0x0800000c,0x18000000,0xb800000a,0xc8000010,0x2c000010,0xf4000014,0xb4000008,0x08000000,0x9800000c,0xd8000010,0x08000010,0xb8000010,0x98000000,0x60000000,0x00000008,0xc0000000,0x90000014,0x10000010,0xb8000014,0x28000000,0x20000010,0x48000000,0x08000018,0x60000000,0x90000010,0xf0000010,0x90000008,0xc0000000,0x90000010,0xf0000010,0xb0000008,0x40000000,0x90000000,0xf0000010,0x90000018,0x60000000,0x90000010,0x90000010,0x90000000,0x80000000,0x00000010,0xa0000000,0x20000000,0xa0000000,0x20000010,0x00000000,0x20000010,0x20000000,0x00000010,0x20000000,0x00000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000040,0x40000002,0x80000004,0x80000080,0x80000006,0x00000049,0x00000103,0x80000009,0x80000012,0x80000202,0x00000018 } } |
82
|
|
|
|
|
|
|
, {1,50,2,65,0,12, { 0x20000030,0x60000000,0xe000002a,0x20000043,0xb0000040,0xd0000053,0xd0000022,0x20000000,0x60000032,0x60000043,0x20000040,0xe0000042,0x60000002,0x80000001,0x00000020,0x00000003,0x40000052,0x40000040,0xe0000052,0xa0000000,0x80000040,0x20000001,0x20000060,0x80000001,0x40000042,0xc0000043,0x40000022,0x00000003,0x40000042,0xc0000043,0xc0000022,0x00000001,0x40000002,0xc0000043,0x40000062,0x80000001,0x40000042,0x40000042,0x40000002,0x00000002,0x00000040,0x80000002,0x80000000,0x80000002,0x80000040,0x00000000,0x80000040,0x80000000,0x00000040,0x80000000,0x00000040,0x80000002,0x00000000,0x80000000,0x80000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000004,0x00000080,0x00000004,0x00000009,0x00000101,0x00000009,0x00000012,0x00000202,0x0000001a,0x00000124,0x0000040c,0x00000026,0x0000004a,0x0000080a,0x00000060 } } |
83
|
|
|
|
|
|
|
, {1,51,0,65,0,13, { 0xe8000000,0x0800000c,0x18000000,0xb800000a,0xc8000010,0x2c000010,0xf4000014,0xb4000008,0x08000000,0x9800000c,0xd8000010,0x08000010,0xb8000010,0x98000000,0x60000000,0x00000008,0xc0000000,0x90000014,0x10000010,0xb8000014,0x28000000,0x20000010,0x48000000,0x08000018,0x60000000,0x90000010,0xf0000010,0x90000008,0xc0000000,0x90000010,0xf0000010,0xb0000008,0x40000000,0x90000000,0xf0000010,0x90000018,0x60000000,0x90000010,0x90000010,0x90000000,0x80000000,0x00000010,0xa0000000,0x20000000,0xa0000000,0x20000010,0x00000000,0x20000010,0x20000000,0x00000010,0x20000000,0x00000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000040,0x40000002,0x80000004,0x80000080,0x80000006,0x00000049,0x00000103,0x80000009,0x80000012,0x80000202 } } |
84
|
|
|
|
|
|
|
, {1,51,2,65,0,14, { 0xa0000003,0x20000030,0x60000000,0xe000002a,0x20000043,0xb0000040,0xd0000053,0xd0000022,0x20000000,0x60000032,0x60000043,0x20000040,0xe0000042,0x60000002,0x80000001,0x00000020,0x00000003,0x40000052,0x40000040,0xe0000052,0xa0000000,0x80000040,0x20000001,0x20000060,0x80000001,0x40000042,0xc0000043,0x40000022,0x00000003,0x40000042,0xc0000043,0xc0000022,0x00000001,0x40000002,0xc0000043,0x40000062,0x80000001,0x40000042,0x40000042,0x40000002,0x00000002,0x00000040,0x80000002,0x80000000,0x80000002,0x80000040,0x00000000,0x80000040,0x80000000,0x00000040,0x80000000,0x00000040,0x80000002,0x00000000,0x80000000,0x80000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000004,0x00000080,0x00000004,0x00000009,0x00000101,0x00000009,0x00000012,0x00000202,0x0000001a,0x00000124,0x0000040c,0x00000026,0x0000004a,0x0000080a } } |
85
|
|
|
|
|
|
|
, {1,52,0,65,0,15, { 0x04000010,0xe8000000,0x0800000c,0x18000000,0xb800000a,0xc8000010,0x2c000010,0xf4000014,0xb4000008,0x08000000,0x9800000c,0xd8000010,0x08000010,0xb8000010,0x98000000,0x60000000,0x00000008,0xc0000000,0x90000014,0x10000010,0xb8000014,0x28000000,0x20000010,0x48000000,0x08000018,0x60000000,0x90000010,0xf0000010,0x90000008,0xc0000000,0x90000010,0xf0000010,0xb0000008,0x40000000,0x90000000,0xf0000010,0x90000018,0x60000000,0x90000010,0x90000010,0x90000000,0x80000000,0x00000010,0xa0000000,0x20000000,0xa0000000,0x20000010,0x00000000,0x20000010,0x20000000,0x00000010,0x20000000,0x00000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000040,0x40000002,0x80000004,0x80000080,0x80000006,0x00000049,0x00000103,0x80000009,0x80000012 } } |
86
|
|
|
|
|
|
|
, {2,45,0,58,0,16, { 0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b,0x80000107,0x00000089,0x00000014,0x8000024b,0x0000011b,0x8000016d,0x8000041a,0x000002e4,0x80000054,0x00000967 } } |
87
|
|
|
|
|
|
|
, {2,46,0,58,0,17, { 0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b,0x80000107,0x00000089,0x00000014,0x8000024b,0x0000011b,0x8000016d,0x8000041a,0x000002e4,0x80000054 } } |
88
|
|
|
|
|
|
|
, {2,46,2,58,0,18, { 0x90000070,0xb0000053,0x30000008,0x00000043,0xd0000072,0xb0000010,0xf0000062,0xc0000042,0x00000030,0xe0000042,0x20000060,0xe0000041,0x20000050,0xc0000041,0xe0000072,0xa0000003,0xc0000012,0x60000041,0xc0000032,0x20000001,0xc0000002,0xe0000042,0x60000042,0x80000002,0x00000000,0x00000000,0x80000000,0x00000002,0x00000040,0x00000000,0x80000040,0x80000000,0x00000040,0x80000001,0x00000060,0x80000003,0x40000002,0xc0000040,0xc0000002,0x80000000,0x80000000,0x80000002,0x00000040,0x00000002,0x80000000,0x80000000,0x80000000,0x00000002,0x00000040,0x00000000,0x80000040,0x80000002,0x00000000,0x80000000,0x80000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000004,0x00000080,0x00000004,0x00000009,0x00000105,0x00000089,0x00000016,0x0000020b,0x0000011b,0x0000012d,0x0000041e,0x00000224,0x00000050,0x0000092e,0x0000046c,0x000005b6,0x0000106a,0x00000b90,0x00000152 } } |
89
|
|
|
|
|
|
|
, {2,47,0,58,0,19, { 0x20000010,0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b,0x80000107,0x00000089,0x00000014,0x8000024b,0x0000011b,0x8000016d,0x8000041a,0x000002e4 } } |
90
|
|
|
|
|
|
|
, {2,48,0,58,0,20, { 0xbc00001a,0x20000010,0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b,0x80000107,0x00000089,0x00000014,0x8000024b,0x0000011b,0x8000016d,0x8000041a } } |
91
|
|
|
|
|
|
|
, {2,49,0,58,0,21, { 0x3c000004,0xbc00001a,0x20000010,0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b,0x80000107,0x00000089,0x00000014,0x8000024b,0x0000011b,0x8000016d } } |
92
|
|
|
|
|
|
|
, {2,49,2,58,0,22, { 0xf0000010,0xf000006a,0x80000040,0x90000070,0xb0000053,0x30000008,0x00000043,0xd0000072,0xb0000010,0xf0000062,0xc0000042,0x00000030,0xe0000042,0x20000060,0xe0000041,0x20000050,0xc0000041,0xe0000072,0xa0000003,0xc0000012,0x60000041,0xc0000032,0x20000001,0xc0000002,0xe0000042,0x60000042,0x80000002,0x00000000,0x00000000,0x80000000,0x00000002,0x00000040,0x00000000,0x80000040,0x80000000,0x00000040,0x80000001,0x00000060,0x80000003,0x40000002,0xc0000040,0xc0000002,0x80000000,0x80000000,0x80000002,0x00000040,0x00000002,0x80000000,0x80000000,0x80000000,0x00000002,0x00000040,0x00000000,0x80000040,0x80000002,0x00000000,0x80000000,0x80000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000004,0x00000080,0x00000004,0x00000009,0x00000105,0x00000089,0x00000016,0x0000020b,0x0000011b,0x0000012d,0x0000041e,0x00000224,0x00000050,0x0000092e,0x0000046c,0x000005b6 } } |
93
|
|
|
|
|
|
|
, {2,50,0,65,0,23, { 0xb400001c,0x3c000004,0xbc00001a,0x20000010,0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b,0x80000107,0x00000089,0x00000014,0x8000024b,0x0000011b } } |
94
|
|
|
|
|
|
|
, {2,50,2,65,0,24, { 0xd0000072,0xf0000010,0xf000006a,0x80000040,0x90000070,0xb0000053,0x30000008,0x00000043,0xd0000072,0xb0000010,0xf0000062,0xc0000042,0x00000030,0xe0000042,0x20000060,0xe0000041,0x20000050,0xc0000041,0xe0000072,0xa0000003,0xc0000012,0x60000041,0xc0000032,0x20000001,0xc0000002,0xe0000042,0x60000042,0x80000002,0x00000000,0x00000000,0x80000000,0x00000002,0x00000040,0x00000000,0x80000040,0x80000000,0x00000040,0x80000001,0x00000060,0x80000003,0x40000002,0xc0000040,0xc0000002,0x80000000,0x80000000,0x80000002,0x00000040,0x00000002,0x80000000,0x80000000,0x80000000,0x00000002,0x00000040,0x00000000,0x80000040,0x80000002,0x00000000,0x80000000,0x80000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000004,0x00000080,0x00000004,0x00000009,0x00000105,0x00000089,0x00000016,0x0000020b,0x0000011b,0x0000012d,0x0000041e,0x00000224,0x00000050,0x0000092e,0x0000046c } } |
95
|
|
|
|
|
|
|
, {2,51,0,65,0,25, { 0xc0000010,0xb400001c,0x3c000004,0xbc00001a,0x20000010,0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b,0x80000107,0x00000089,0x00000014,0x8000024b } } |
96
|
|
|
|
|
|
|
, {2,51,2,65,0,26, { 0x00000043,0xd0000072,0xf0000010,0xf000006a,0x80000040,0x90000070,0xb0000053,0x30000008,0x00000043,0xd0000072,0xb0000010,0xf0000062,0xc0000042,0x00000030,0xe0000042,0x20000060,0xe0000041,0x20000050,0xc0000041,0xe0000072,0xa0000003,0xc0000012,0x60000041,0xc0000032,0x20000001,0xc0000002,0xe0000042,0x60000042,0x80000002,0x00000000,0x00000000,0x80000000,0x00000002,0x00000040,0x00000000,0x80000040,0x80000000,0x00000040,0x80000001,0x00000060,0x80000003,0x40000002,0xc0000040,0xc0000002,0x80000000,0x80000000,0x80000002,0x00000040,0x00000002,0x80000000,0x80000000,0x80000000,0x00000002,0x00000040,0x00000000,0x80000040,0x80000002,0x00000000,0x80000000,0x80000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000004,0x00000080,0x00000004,0x00000009,0x00000105,0x00000089,0x00000016,0x0000020b,0x0000011b,0x0000012d,0x0000041e,0x00000224,0x00000050,0x0000092e } } |
97
|
|
|
|
|
|
|
, {2,52,0,65,0,27, { 0x0c000002,0xc0000010,0xb400001c,0x3c000004,0xbc00001a,0x20000010,0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b,0x80000107,0x00000089,0x00000014 } } |
98
|
|
|
|
|
|
|
, {2,53,0,65,0,28, { 0xcc000014,0x0c000002,0xc0000010,0xb400001c,0x3c000004,0xbc00001a,0x20000010,0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b,0x80000107,0x00000089 } } |
99
|
|
|
|
|
|
|
, {2,54,0,65,0,29, { 0x0400001c,0xcc000014,0x0c000002,0xc0000010,0xb400001c,0x3c000004,0xbc00001a,0x20000010,0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b,0x80000107 } } |
100
|
|
|
|
|
|
|
, {2,55,0,65,0,30, { 0x00000010,0x0400001c,0xcc000014,0x0c000002,0xc0000010,0xb400001c,0x3c000004,0xbc00001a,0x20000010,0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046,0x4000004b } } |
101
|
|
|
|
|
|
|
, {2,56,0,65,0,31, { 0x2600001a,0x00000010,0x0400001c,0xcc000014,0x0c000002,0xc0000010,0xb400001c,0x3c000004,0xbc00001a,0x20000010,0x2400001c,0xec000014,0x0c000002,0xc0000010,0xb400001c,0x2c000004,0xbc000018,0xb0000010,0x0000000c,0xb8000010,0x08000018,0x78000010,0x08000014,0x70000010,0xb800001c,0xe8000000,0xb0000004,0x58000010,0xb000000c,0x48000000,0xb0000000,0xb8000010,0x98000010,0xa0000000,0x00000000,0x00000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0x20000000,0x00000010,0x60000000,0x00000018,0xe0000000,0x90000000,0x30000010,0xb0000000,0x20000000,0x20000000,0xa0000000,0x00000010,0x80000000,0x20000000,0x20000000,0x20000000,0x80000000,0x00000010,0x00000000,0x20000010,0xa0000000,0x00000000,0x20000000,0x20000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000001,0x00000020,0x00000001,0x40000002,0x40000041,0x40000022,0x80000005,0xc0000082,0xc0000046 } } |
102
|
|
|
|
|
|
|
, {0,0,0,0,0,0, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}} |
103
|
|
|
|
|
|
|
}; |
104
|
4141
|
|
|
|
|
|
void ubc_check(const uint32_t W[80], uint32_t dvmask[1]) |
105
|
|
|
|
|
|
|
{ |
106
|
4141
|
|
|
|
|
|
uint32_t mask = ~((uint32_t)(0)); |
107
|
4141
|
|
|
|
|
|
mask &= (((((W[44]^W[45])>>29)&1)-1) | ~(DV_I_48_0_bit|DV_I_51_0_bit|DV_I_52_0_bit|DV_II_45_0_bit|DV_II_46_0_bit|DV_II_50_0_bit|DV_II_51_0_bit)); |
108
|
4141
|
|
|
|
|
|
mask &= (((((W[49]^W[50])>>29)&1)-1) | ~(DV_I_46_0_bit|DV_II_45_0_bit|DV_II_50_0_bit|DV_II_51_0_bit|DV_II_55_0_bit|DV_II_56_0_bit)); |
109
|
4141
|
|
|
|
|
|
mask &= (((((W[48]^W[49])>>29)&1)-1) | ~(DV_I_45_0_bit|DV_I_52_0_bit|DV_II_49_0_bit|DV_II_50_0_bit|DV_II_54_0_bit|DV_II_55_0_bit)); |
110
|
4141
|
|
|
|
|
|
mask &= ((((W[47]^(W[50]>>25))&(1<<4))-(1<<4)) | ~(DV_I_47_0_bit|DV_I_49_0_bit|DV_I_51_0_bit|DV_II_45_0_bit|DV_II_51_0_bit|DV_II_56_0_bit)); |
111
|
4141
|
|
|
|
|
|
mask &= (((((W[47]^W[48])>>29)&1)-1) | ~(DV_I_44_0_bit|DV_I_51_0_bit|DV_II_48_0_bit|DV_II_49_0_bit|DV_II_53_0_bit|DV_II_54_0_bit)); |
112
|
4141
|
|
|
|
|
|
mask &= (((((W[46]>>4)^(W[49]>>29))&1)-1) | ~(DV_I_46_0_bit|DV_I_48_0_bit|DV_I_50_0_bit|DV_I_52_0_bit|DV_II_50_0_bit|DV_II_55_0_bit)); |
113
|
4141
|
|
|
|
|
|
mask &= (((((W[46]^W[47])>>29)&1)-1) | ~(DV_I_43_0_bit|DV_I_50_0_bit|DV_II_47_0_bit|DV_II_48_0_bit|DV_II_52_0_bit|DV_II_53_0_bit)); |
114
|
4141
|
|
|
|
|
|
mask &= (((((W[45]>>4)^(W[48]>>29))&1)-1) | ~(DV_I_45_0_bit|DV_I_47_0_bit|DV_I_49_0_bit|DV_I_51_0_bit|DV_II_49_0_bit|DV_II_54_0_bit)); |
115
|
4141
|
|
|
|
|
|
mask &= (((((W[45]^W[46])>>29)&1)-1) | ~(DV_I_49_0_bit|DV_I_52_0_bit|DV_II_46_0_bit|DV_II_47_0_bit|DV_II_51_0_bit|DV_II_52_0_bit)); |
116
|
4141
|
|
|
|
|
|
mask &= (((((W[44]>>4)^(W[47]>>29))&1)-1) | ~(DV_I_44_0_bit|DV_I_46_0_bit|DV_I_48_0_bit|DV_I_50_0_bit|DV_II_48_0_bit|DV_II_53_0_bit)); |
117
|
4141
|
|
|
|
|
|
mask &= (((((W[43]>>4)^(W[46]>>29))&1)-1) | ~(DV_I_43_0_bit|DV_I_45_0_bit|DV_I_47_0_bit|DV_I_49_0_bit|DV_II_47_0_bit|DV_II_52_0_bit)); |
118
|
4141
|
|
|
|
|
|
mask &= (((((W[43]^W[44])>>29)&1)-1) | ~(DV_I_47_0_bit|DV_I_50_0_bit|DV_I_51_0_bit|DV_II_45_0_bit|DV_II_49_0_bit|DV_II_50_0_bit)); |
119
|
4141
|
|
|
|
|
|
mask &= (((((W[42]>>4)^(W[45]>>29))&1)-1) | ~(DV_I_44_0_bit|DV_I_46_0_bit|DV_I_48_0_bit|DV_I_52_0_bit|DV_II_46_0_bit|DV_II_51_0_bit)); |
120
|
4141
|
|
|
|
|
|
mask &= (((((W[41]>>4)^(W[44]>>29))&1)-1) | ~(DV_I_43_0_bit|DV_I_45_0_bit|DV_I_47_0_bit|DV_I_51_0_bit|DV_II_45_0_bit|DV_II_50_0_bit)); |
121
|
4141
|
|
|
|
|
|
mask &= (((((W[40]^W[41])>>29)&1)-1) | ~(DV_I_44_0_bit|DV_I_47_0_bit|DV_I_48_0_bit|DV_II_46_0_bit|DV_II_47_0_bit|DV_II_56_0_bit)); |
122
|
4141
|
|
|
|
|
|
mask &= (((((W[54]^W[55])>>29)&1)-1) | ~(DV_I_51_0_bit|DV_II_47_0_bit|DV_II_50_0_bit|DV_II_55_0_bit|DV_II_56_0_bit)); |
123
|
4141
|
|
|
|
|
|
mask &= (((((W[53]^W[54])>>29)&1)-1) | ~(DV_I_50_0_bit|DV_II_46_0_bit|DV_II_49_0_bit|DV_II_54_0_bit|DV_II_55_0_bit)); |
124
|
4141
|
|
|
|
|
|
mask &= (((((W[52]^W[53])>>29)&1)-1) | ~(DV_I_49_0_bit|DV_II_45_0_bit|DV_II_48_0_bit|DV_II_53_0_bit|DV_II_54_0_bit)); |
125
|
4141
|
|
|
|
|
|
mask &= ((((W[50]^(W[53]>>25))&(1<<4))-(1<<4)) | ~(DV_I_50_0_bit|DV_I_52_0_bit|DV_II_46_0_bit|DV_II_48_0_bit|DV_II_54_0_bit)); |
126
|
4141
|
|
|
|
|
|
mask &= (((((W[50]^W[51])>>29)&1)-1) | ~(DV_I_47_0_bit|DV_II_46_0_bit|DV_II_51_0_bit|DV_II_52_0_bit|DV_II_56_0_bit)); |
127
|
4141
|
|
|
|
|
|
mask &= ((((W[49]^(W[52]>>25))&(1<<4))-(1<<4)) | ~(DV_I_49_0_bit|DV_I_51_0_bit|DV_II_45_0_bit|DV_II_47_0_bit|DV_II_53_0_bit)); |
128
|
4141
|
|
|
|
|
|
mask &= ((((W[48]^(W[51]>>25))&(1<<4))-(1<<4)) | ~(DV_I_48_0_bit|DV_I_50_0_bit|DV_I_52_0_bit|DV_II_46_0_bit|DV_II_52_0_bit)); |
129
|
4141
|
|
|
|
|
|
mask &= (((((W[42]^W[43])>>29)&1)-1) | ~(DV_I_46_0_bit|DV_I_49_0_bit|DV_I_50_0_bit|DV_II_48_0_bit|DV_II_49_0_bit)); |
130
|
4141
|
|
|
|
|
|
mask &= (((((W[41]^W[42])>>29)&1)-1) | ~(DV_I_45_0_bit|DV_I_48_0_bit|DV_I_49_0_bit|DV_II_47_0_bit|DV_II_48_0_bit)); |
131
|
4141
|
|
|
|
|
|
mask &= (((((W[40]>>4)^(W[43]>>29))&1)-1) | ~(DV_I_44_0_bit|DV_I_46_0_bit|DV_I_50_0_bit|DV_II_49_0_bit|DV_II_56_0_bit)); |
132
|
4141
|
|
|
|
|
|
mask &= (((((W[39]>>4)^(W[42]>>29))&1)-1) | ~(DV_I_43_0_bit|DV_I_45_0_bit|DV_I_49_0_bit|DV_II_48_0_bit|DV_II_55_0_bit)); |
133
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_44_0_bit|DV_I_48_0_bit|DV_II_47_0_bit|DV_II_54_0_bit|DV_II_56_0_bit)) |
134
|
412
|
|
|
|
|
|
mask &= (((((W[38]>>4)^(W[41]>>29))&1)-1) | ~(DV_I_44_0_bit|DV_I_48_0_bit|DV_II_47_0_bit|DV_II_54_0_bit|DV_II_56_0_bit)); |
135
|
4141
|
|
|
|
|
|
mask &= (((((W[37]>>4)^(W[40]>>29))&1)-1) | ~(DV_I_43_0_bit|DV_I_47_0_bit|DV_II_46_0_bit|DV_II_53_0_bit|DV_II_55_0_bit)); |
136
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_52_0_bit|DV_II_48_0_bit|DV_II_51_0_bit|DV_II_56_0_bit)) |
137
|
311
|
|
|
|
|
|
mask &= (((((W[55]^W[56])>>29)&1)-1) | ~(DV_I_52_0_bit|DV_II_48_0_bit|DV_II_51_0_bit|DV_II_56_0_bit)); |
138
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_52_0_bit|DV_II_48_0_bit|DV_II_50_0_bit|DV_II_56_0_bit)) |
139
|
241
|
|
|
|
|
|
mask &= ((((W[52]^(W[55]>>25))&(1<<4))-(1<<4)) | ~(DV_I_52_0_bit|DV_II_48_0_bit|DV_II_50_0_bit|DV_II_56_0_bit)); |
140
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_51_0_bit|DV_II_47_0_bit|DV_II_49_0_bit|DV_II_55_0_bit)) |
141
|
321
|
|
|
|
|
|
mask &= ((((W[51]^(W[54]>>25))&(1<<4))-(1<<4)) | ~(DV_I_51_0_bit|DV_II_47_0_bit|DV_II_49_0_bit|DV_II_55_0_bit)); |
142
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_48_0_bit|DV_II_47_0_bit|DV_II_52_0_bit|DV_II_53_0_bit)) |
143
|
325
|
|
|
|
|
|
mask &= (((((W[51]^W[52])>>29)&1)-1) | ~(DV_I_48_0_bit|DV_II_47_0_bit|DV_II_52_0_bit|DV_II_53_0_bit)); |
144
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_46_0_bit|DV_I_49_0_bit|DV_II_45_0_bit|DV_II_48_0_bit)) |
145
|
256
|
|
|
|
|
|
mask &= (((((W[36]>>4)^(W[40]>>29))&1)-1) | ~(DV_I_46_0_bit|DV_I_49_0_bit|DV_II_45_0_bit|DV_II_48_0_bit)); |
146
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_52_0_bit|DV_II_48_0_bit|DV_II_49_0_bit)) |
147
|
204
|
|
|
|
|
|
mask &= ((0-(((W[53]^W[56])>>29)&1)) | ~(DV_I_52_0_bit|DV_II_48_0_bit|DV_II_49_0_bit)); |
148
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_50_0_bit|DV_II_46_0_bit|DV_II_47_0_bit)) |
149
|
212
|
|
|
|
|
|
mask &= ((0-(((W[51]^W[54])>>29)&1)) | ~(DV_I_50_0_bit|DV_II_46_0_bit|DV_II_47_0_bit)); |
150
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_49_0_bit|DV_I_51_0_bit|DV_II_45_0_bit)) |
151
|
194
|
|
|
|
|
|
mask &= ((0-(((W[50]^W[52])>>29)&1)) | ~(DV_I_49_0_bit|DV_I_51_0_bit|DV_II_45_0_bit)); |
152
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_48_0_bit|DV_I_50_0_bit|DV_I_52_0_bit)) |
153
|
222
|
|
|
|
|
|
mask &= ((0-(((W[49]^W[51])>>29)&1)) | ~(DV_I_48_0_bit|DV_I_50_0_bit|DV_I_52_0_bit)); |
154
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_47_0_bit|DV_I_49_0_bit|DV_I_51_0_bit)) |
155
|
188
|
|
|
|
|
|
mask &= ((0-(((W[48]^W[50])>>29)&1)) | ~(DV_I_47_0_bit|DV_I_49_0_bit|DV_I_51_0_bit)); |
156
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_46_0_bit|DV_I_48_0_bit|DV_I_50_0_bit)) |
157
|
193
|
|
|
|
|
|
mask &= ((0-(((W[47]^W[49])>>29)&1)) | ~(DV_I_46_0_bit|DV_I_48_0_bit|DV_I_50_0_bit)); |
158
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_45_0_bit|DV_I_47_0_bit|DV_I_49_0_bit)) |
159
|
382
|
|
|
|
|
|
mask &= ((0-(((W[46]^W[48])>>29)&1)) | ~(DV_I_45_0_bit|DV_I_47_0_bit|DV_I_49_0_bit)); |
160
|
4141
|
|
|
|
|
|
mask &= ((((W[45]^W[47])&(1<<6))-(1<<6)) | ~(DV_I_47_2_bit|DV_I_49_2_bit|DV_I_51_2_bit)); |
161
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_44_0_bit|DV_I_46_0_bit|DV_I_48_0_bit)) |
162
|
207
|
|
|
|
|
|
mask &= ((0-(((W[45]^W[47])>>29)&1)) | ~(DV_I_44_0_bit|DV_I_46_0_bit|DV_I_48_0_bit)); |
163
|
4141
|
|
|
|
|
|
mask &= (((((W[44]^W[46])>>6)&1)-1) | ~(DV_I_46_2_bit|DV_I_48_2_bit|DV_I_50_2_bit)); |
164
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_43_0_bit|DV_I_45_0_bit|DV_I_47_0_bit)) |
165
|
355
|
|
|
|
|
|
mask &= ((0-(((W[44]^W[46])>>29)&1)) | ~(DV_I_43_0_bit|DV_I_45_0_bit|DV_I_47_0_bit)); |
166
|
4141
|
|
|
|
|
|
mask &= ((0-((W[41]^(W[42]>>5))&(1<<1))) | ~(DV_I_48_2_bit|DV_II_46_2_bit|DV_II_51_2_bit)); |
167
|
4141
|
|
|
|
|
|
mask &= ((0-((W[40]^(W[41]>>5))&(1<<1))) | ~(DV_I_47_2_bit|DV_I_51_2_bit|DV_II_50_2_bit)); |
168
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_44_0_bit|DV_I_46_0_bit|DV_II_56_0_bit)) |
169
|
194
|
|
|
|
|
|
mask &= ((0-(((W[40]^W[42])>>4)&1)) | ~(DV_I_44_0_bit|DV_I_46_0_bit|DV_II_56_0_bit)); |
170
|
4141
|
|
|
|
|
|
mask &= ((0-((W[39]^(W[40]>>5))&(1<<1))) | ~(DV_I_46_2_bit|DV_I_50_2_bit|DV_II_49_2_bit)); |
171
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_43_0_bit|DV_I_45_0_bit|DV_II_55_0_bit)) |
172
|
310
|
|
|
|
|
|
mask &= ((0-(((W[39]^W[41])>>4)&1)) | ~(DV_I_43_0_bit|DV_I_45_0_bit|DV_II_55_0_bit)); |
173
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_44_0_bit|DV_II_54_0_bit|DV_II_56_0_bit)) |
174
|
189
|
|
|
|
|
|
mask &= ((0-(((W[38]^W[40])>>4)&1)) | ~(DV_I_44_0_bit|DV_II_54_0_bit|DV_II_56_0_bit)); |
175
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_43_0_bit|DV_II_53_0_bit|DV_II_55_0_bit)) |
176
|
217
|
|
|
|
|
|
mask &= ((0-(((W[37]^W[39])>>4)&1)) | ~(DV_I_43_0_bit|DV_II_53_0_bit|DV_II_55_0_bit)); |
177
|
4141
|
|
|
|
|
|
mask &= ((0-((W[36]^(W[37]>>5))&(1<<1))) | ~(DV_I_47_2_bit|DV_I_50_2_bit|DV_II_46_2_bit)); |
178
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_45_0_bit|DV_I_48_0_bit|DV_II_47_0_bit)) |
179
|
20
|
|
|
|
|
|
mask &= (((((W[35]>>4)^(W[39]>>29))&1)-1) | ~(DV_I_45_0_bit|DV_I_48_0_bit|DV_II_47_0_bit)); |
180
|
4141
|
50
|
|
|
|
|
if (mask & (DV_I_48_0_bit|DV_II_48_0_bit)) |
181
|
0
|
|
|
|
|
|
mask &= ((0-((W[63]^(W[64]>>5))&(1<<0))) | ~(DV_I_48_0_bit|DV_II_48_0_bit)); |
182
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_45_0_bit|DV_II_45_0_bit)) |
183
|
28
|
|
|
|
|
|
mask &= ((0-((W[63]^(W[64]>>5))&(1<<1))) | ~(DV_I_45_0_bit|DV_II_45_0_bit)); |
184
|
4141
|
50
|
|
|
|
|
if (mask & (DV_I_47_0_bit|DV_II_47_0_bit)) |
185
|
0
|
|
|
|
|
|
mask &= ((0-((W[62]^(W[63]>>5))&(1<<0))) | ~(DV_I_47_0_bit|DV_II_47_0_bit)); |
186
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_46_0_bit|DV_II_46_0_bit)) |
187
|
3
|
|
|
|
|
|
mask &= ((0-((W[61]^(W[62]>>5))&(1<<0))) | ~(DV_I_46_0_bit|DV_II_46_0_bit)); |
188
|
4141
|
|
|
|
|
|
mask &= ((0-((W[61]^(W[62]>>5))&(1<<2))) | ~(DV_I_46_2_bit|DV_II_46_2_bit)); |
189
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_45_0_bit|DV_II_45_0_bit)) |
190
|
28
|
|
|
|
|
|
mask &= ((0-((W[60]^(W[61]>>5))&(1<<0))) | ~(DV_I_45_0_bit|DV_II_45_0_bit)); |
191
|
4141
|
100
|
|
|
|
|
if (mask & (DV_II_51_0_bit|DV_II_54_0_bit)) |
192
|
237
|
|
|
|
|
|
mask &= (((((W[58]^W[59])>>29)&1)-1) | ~(DV_II_51_0_bit|DV_II_54_0_bit)); |
193
|
4141
|
100
|
|
|
|
|
if (mask & (DV_II_50_0_bit|DV_II_53_0_bit)) |
194
|
208
|
|
|
|
|
|
mask &= (((((W[57]^W[58])>>29)&1)-1) | ~(DV_II_50_0_bit|DV_II_53_0_bit)); |
195
|
4141
|
100
|
|
|
|
|
if (mask & (DV_II_52_0_bit|DV_II_54_0_bit)) |
196
|
284
|
|
|
|
|
|
mask &= ((((W[56]^(W[59]>>25))&(1<<4))-(1<<4)) | ~(DV_II_52_0_bit|DV_II_54_0_bit)); |
197
|
4141
|
100
|
|
|
|
|
if (mask & (DV_II_51_0_bit|DV_II_52_0_bit)) |
198
|
327
|
|
|
|
|
|
mask &= ((0-(((W[56]^W[59])>>29)&1)) | ~(DV_II_51_0_bit|DV_II_52_0_bit)); |
199
|
4141
|
100
|
|
|
|
|
if (mask & (DV_II_49_0_bit|DV_II_52_0_bit)) |
200
|
13
|
|
|
|
|
|
mask &= (((((W[56]^W[57])>>29)&1)-1) | ~(DV_II_49_0_bit|DV_II_52_0_bit)); |
201
|
4141
|
100
|
|
|
|
|
if (mask & (DV_II_51_0_bit|DV_II_53_0_bit)) |
202
|
44
|
|
|
|
|
|
mask &= ((((W[55]^(W[58]>>25))&(1<<4))-(1<<4)) | ~(DV_II_51_0_bit|DV_II_53_0_bit)); |
203
|
4141
|
100
|
|
|
|
|
if (mask & (DV_II_50_0_bit|DV_II_52_0_bit)) |
204
|
190
|
|
|
|
|
|
mask &= ((((W[54]^(W[57]>>25))&(1<<4))-(1<<4)) | ~(DV_II_50_0_bit|DV_II_52_0_bit)); |
205
|
4141
|
50
|
|
|
|
|
if (mask & (DV_II_49_0_bit|DV_II_51_0_bit)) |
206
|
0
|
|
|
|
|
|
mask &= ((((W[53]^(W[56]>>25))&(1<<4))-(1<<4)) | ~(DV_II_49_0_bit|DV_II_51_0_bit)); |
207
|
4141
|
|
|
|
|
|
mask &= ((((W[51]^(W[50]>>5))&(1<<1))-(1<<1)) | ~(DV_I_50_2_bit|DV_II_46_2_bit)); |
208
|
4141
|
|
|
|
|
|
mask &= ((((W[48]^W[50])&(1<<6))-(1<<6)) | ~(DV_I_50_2_bit|DV_II_46_2_bit)); |
209
|
4141
|
50
|
|
|
|
|
if (mask & (DV_I_51_0_bit|DV_I_52_0_bit)) |
210
|
0
|
|
|
|
|
|
mask &= ((0-(((W[48]^W[55])>>29)&1)) | ~(DV_I_51_0_bit|DV_I_52_0_bit)); |
211
|
4141
|
|
|
|
|
|
mask &= ((((W[47]^W[49])&(1<<6))-(1<<6)) | ~(DV_I_49_2_bit|DV_I_51_2_bit)); |
212
|
4141
|
|
|
|
|
|
mask &= ((((W[48]^(W[47]>>5))&(1<<1))-(1<<1)) | ~(DV_I_47_2_bit|DV_II_51_2_bit)); |
213
|
4141
|
|
|
|
|
|
mask &= ((((W[46]^W[48])&(1<<6))-(1<<6)) | ~(DV_I_48_2_bit|DV_I_50_2_bit)); |
214
|
4141
|
|
|
|
|
|
mask &= ((((W[47]^(W[46]>>5))&(1<<1))-(1<<1)) | ~(DV_I_46_2_bit|DV_II_50_2_bit)); |
215
|
4141
|
|
|
|
|
|
mask &= ((0-((W[44]^(W[45]>>5))&(1<<1))) | ~(DV_I_51_2_bit|DV_II_49_2_bit)); |
216
|
4141
|
|
|
|
|
|
mask &= ((((W[43]^W[45])&(1<<6))-(1<<6)) | ~(DV_I_47_2_bit|DV_I_49_2_bit)); |
217
|
4141
|
|
|
|
|
|
mask &= (((((W[42]^W[44])>>6)&1)-1) | ~(DV_I_46_2_bit|DV_I_48_2_bit)); |
218
|
4141
|
|
|
|
|
|
mask &= ((((W[43]^(W[42]>>5))&(1<<1))-(1<<1)) | ~(DV_II_46_2_bit|DV_II_51_2_bit)); |
219
|
4141
|
|
|
|
|
|
mask &= ((((W[42]^(W[41]>>5))&(1<<1))-(1<<1)) | ~(DV_I_51_2_bit|DV_II_50_2_bit)); |
220
|
4141
|
|
|
|
|
|
mask &= ((((W[41]^(W[40]>>5))&(1<<1))-(1<<1)) | ~(DV_I_50_2_bit|DV_II_49_2_bit)); |
221
|
4141
|
50
|
|
|
|
|
if (mask & (DV_I_52_0_bit|DV_II_51_0_bit)) |
222
|
0
|
|
|
|
|
|
mask &= ((((W[39]^(W[43]>>25))&(1<<4))-(1<<4)) | ~(DV_I_52_0_bit|DV_II_51_0_bit)); |
223
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_51_0_bit|DV_II_50_0_bit)) |
224
|
182
|
|
|
|
|
|
mask &= ((((W[38]^(W[42]>>25))&(1<<4))-(1<<4)) | ~(DV_I_51_0_bit|DV_II_50_0_bit)); |
225
|
4141
|
100
|
|
|
|
|
if (mask & (DV_I_48_2_bit|DV_I_51_2_bit)) |
226
|
339
|
|
|
|
|
|
mask &= ((0-((W[37]^(W[38]>>5))&(1<<1))) | ~(DV_I_48_2_bit|DV_I_51_2_bit)); |
227
|
4141
|
50
|
|
|
|
|
if (mask & (DV_I_50_0_bit|DV_II_49_0_bit)) |
228
|
0
|
|
|
|
|
|
mask &= ((((W[37]^(W[41]>>25))&(1<<4))-(1<<4)) | ~(DV_I_50_0_bit|DV_II_49_0_bit)); |
229
|
4141
|
50
|
|
|
|
|
if (mask & (DV_II_52_0_bit|DV_II_54_0_bit)) |
230
|
0
|
|
|
|
|
|
mask &= ((0-((W[36]^W[38])&(1<<4))) | ~(DV_II_52_0_bit|DV_II_54_0_bit)); |
231
|
4141
|
|
|
|
|
|
mask &= ((0-((W[35]^(W[36]>>5))&(1<<1))) | ~(DV_I_46_2_bit|DV_I_49_2_bit)); |
232
|
4141
|
50
|
|
|
|
|
if (mask & (DV_I_51_0_bit|DV_II_47_0_bit)) |
233
|
0
|
|
|
|
|
|
mask &= ((((W[35]^(W[39]>>25))&(1<<3))-(1<<3)) | ~(DV_I_51_0_bit|DV_II_47_0_bit)); |
234
|
4141
|
100
|
|
|
|
|
if (mask) { |
235
|
|
|
|
|
|
|
|
236
|
1798
|
100
|
|
|
|
|
if (mask & DV_I_43_0_bit) |
237
|
13
|
100
|
|
|
|
|
if ( |
238
|
13
|
|
|
|
|
|
!((W[61]^(W[62]>>5)) & (1<<1)) |
239
|
7
|
50
|
|
|
|
|
|| !(!((W[59]^(W[63]>>25)) & (1<<5))) |
240
|
0
|
0
|
|
|
|
|
|| !((W[58]^(W[63]>>30)) & (1<<0)) |
241
|
13
|
|
|
|
|
|
) mask &= ~DV_I_43_0_bit; |
242
|
1798
|
50
|
|
|
|
|
if (mask & DV_I_44_0_bit) |
243
|
0
|
0
|
|
|
|
|
if ( |
244
|
0
|
|
|
|
|
|
!((W[62]^(W[63]>>5)) & (1<<1)) |
245
|
0
|
0
|
|
|
|
|
|| !(!((W[60]^(W[64]>>25)) & (1<<5))) |
246
|
0
|
0
|
|
|
|
|
|| !((W[59]^(W[64]>>30)) & (1<<0)) |
247
|
0
|
|
|
|
|
|
) mask &= ~DV_I_44_0_bit; |
248
|
1798
|
100
|
|
|
|
|
if (mask & DV_I_46_2_bit) |
249
|
91
|
|
|
|
|
|
mask &= ((~((W[40]^W[42])>>2)) | ~DV_I_46_2_bit); |
250
|
1798
|
100
|
|
|
|
|
if (mask & DV_I_47_2_bit) |
251
|
124
|
100
|
|
|
|
|
if ( |
252
|
124
|
|
|
|
|
|
!((W[62]^(W[63]>>5)) & (1<<2)) |
253
|
52
|
100
|
|
|
|
|
|| !(!((W[41]^W[43]) & (1<<6))) |
254
|
87
|
|
|
|
|
|
) mask &= ~DV_I_47_2_bit; |
255
|
1798
|
100
|
|
|
|
|
if (mask & DV_I_48_2_bit) |
256
|
116
|
100
|
|
|
|
|
if ( |
257
|
116
|
|
|
|
|
|
!((W[63]^(W[64]>>5)) & (1<<2)) |
258
|
30
|
100
|
|
|
|
|
|| !(!((W[48]^(W[49]<<5)) & (1<<6))) |
259
|
96
|
|
|
|
|
|
) mask &= ~DV_I_48_2_bit; |
260
|
1798
|
100
|
|
|
|
|
if (mask & DV_I_49_2_bit) |
261
|
221
|
100
|
|
|
|
|
if ( |
262
|
221
|
|
|
|
|
|
!(!((W[49]^(W[50]<<5)) & (1<<6))) |
263
|
112
|
100
|
|
|
|
|
|| !((W[42]^W[50]) & (1<<1)) |
264
|
72
|
100
|
|
|
|
|
|| !(!((W[39]^(W[40]<<5)) & (1<<6))) |
265
|
46
|
100
|
|
|
|
|
|| !((W[38]^W[40]) & (1<<1)) |
266
|
188
|
|
|
|
|
|
) mask &= ~DV_I_49_2_bit; |
267
|
1798
|
50
|
|
|
|
|
if (mask & DV_I_50_0_bit) |
268
|
0
|
|
|
|
|
|
mask &= ((((W[36]^W[37])<<7)) | ~DV_I_50_0_bit); |
269
|
1798
|
100
|
|
|
|
|
if (mask & DV_I_50_2_bit) |
270
|
31
|
|
|
|
|
|
mask &= ((((W[43]^W[51])<<11)) | ~DV_I_50_2_bit); |
271
|
1798
|
50
|
|
|
|
|
if (mask & DV_I_51_0_bit) |
272
|
0
|
|
|
|
|
|
mask &= ((((W[37]^W[38])<<9)) | ~DV_I_51_0_bit); |
273
|
1798
|
100
|
|
|
|
|
if (mask & DV_I_51_2_bit) |
274
|
16
|
100
|
|
|
|
|
if ( |
275
|
16
|
|
|
|
|
|
!(!((W[51]^(W[52]<<5)) & (1<<6))) |
276
|
10
|
50
|
|
|
|
|
|| !(!((W[49]^W[51]) & (1<<6))) |
277
|
0
|
0
|
|
|
|
|
|| !(!((W[37]^(W[37]>>5)) & (1<<1))) |
278
|
0
|
0
|
|
|
|
|
|| !(!((W[35]^(W[39]>>25)) & (1<<5))) |
279
|
16
|
|
|
|
|
|
) mask &= ~DV_I_51_2_bit; |
280
|
1798
|
50
|
|
|
|
|
if (mask & DV_I_52_0_bit) |
281
|
0
|
|
|
|
|
|
mask &= ((((W[38]^W[39])<<11)) | ~DV_I_52_0_bit); |
282
|
1798
|
100
|
|
|
|
|
if (mask & DV_II_46_2_bit) |
283
|
83
|
|
|
|
|
|
mask &= ((((W[47]^W[51])<<17)) | ~DV_II_46_2_bit); |
284
|
1798
|
50
|
|
|
|
|
if (mask & DV_II_48_0_bit) |
285
|
0
|
0
|
|
|
|
|
if ( |
286
|
0
|
|
|
|
|
|
!(!((W[36]^(W[40]>>25)) & (1<<3))) |
287
|
0
|
0
|
|
|
|
|
|| !((W[35]^(W[40]<<2)) & (1<<30)) |
288
|
0
|
|
|
|
|
|
) mask &= ~DV_II_48_0_bit; |
289
|
1798
|
50
|
|
|
|
|
if (mask & DV_II_49_0_bit) |
290
|
0
|
0
|
|
|
|
|
if ( |
291
|
0
|
|
|
|
|
|
!(!((W[37]^(W[41]>>25)) & (1<<3))) |
292
|
0
|
0
|
|
|
|
|
|| !((W[36]^(W[41]<<2)) & (1<<30)) |
293
|
0
|
|
|
|
|
|
) mask &= ~DV_II_49_0_bit; |
294
|
1798
|
100
|
|
|
|
|
if (mask & DV_II_49_2_bit) |
295
|
353
|
100
|
|
|
|
|
if ( |
296
|
353
|
|
|
|
|
|
!(!((W[53]^(W[54]<<5)) & (1<<6))) |
297
|
202
|
100
|
|
|
|
|
|| !(!((W[51]^W[53]) & (1<<6))) |
298
|
152
|
100
|
|
|
|
|
|| !((W[50]^W[54]) & (1<<1)) |
299
|
34
|
100
|
|
|
|
|
|| !(!((W[45]^(W[46]<<5)) & (1<<6))) |
300
|
26
|
100
|
|
|
|
|
|| !(!((W[37]^(W[41]>>25)) & (1<<5))) |
301
|
18
|
100
|
|
|
|
|
|| !((W[36]^(W[41]>>30)) & (1<<0)) |
302
|
345
|
|
|
|
|
|
) mask &= ~DV_II_49_2_bit; |
303
|
1798
|
100
|
|
|
|
|
if (mask & DV_II_50_0_bit) |
304
|
180
|
50
|
|
|
|
|
if ( |
305
|
180
|
|
|
|
|
|
!((W[55]^W[58]) & (1<<29)) |
306
|
0
|
0
|
|
|
|
|
|| !(!((W[38]^(W[42]>>25)) & (1<<3))) |
307
|
0
|
0
|
|
|
|
|
|| !((W[37]^(W[42]<<2)) & (1<<30)) |
308
|
180
|
|
|
|
|
|
) mask &= ~DV_II_50_0_bit; |
309
|
1798
|
100
|
|
|
|
|
if (mask & DV_II_50_2_bit) |
310
|
459
|
100
|
|
|
|
|
if ( |
311
|
459
|
|
|
|
|
|
!(!((W[54]^(W[55]<<5)) & (1<<6))) |
312
|
361
|
100
|
|
|
|
|
|| !(!((W[52]^W[54]) & (1<<6))) |
313
|
94
|
100
|
|
|
|
|
|| !((W[51]^W[55]) & (1<<1)) |
314
|
46
|
100
|
|
|
|
|
|| !((W[45]^W[47]) & (1<<1)) |
315
|
7
|
50
|
|
|
|
|
|| !(!((W[38]^(W[42]>>25)) & (1<<5))) |
316
|
0
|
0
|
|
|
|
|
|| !((W[37]^(W[42]>>30)) & (1<<0)) |
317
|
459
|
|
|
|
|
|
) mask &= ~DV_II_50_2_bit; |
318
|
1798
|
50
|
|
|
|
|
if (mask & DV_II_51_0_bit) |
319
|
0
|
0
|
|
|
|
|
if ( |
320
|
0
|
|
|
|
|
|
!(!((W[39]^(W[43]>>25)) & (1<<3))) |
321
|
0
|
0
|
|
|
|
|
|| !((W[38]^(W[43]<<2)) & (1<<30)) |
322
|
0
|
|
|
|
|
|
) mask &= ~DV_II_51_0_bit; |
323
|
1798
|
100
|
|
|
|
|
if (mask & DV_II_51_2_bit) |
324
|
530
|
100
|
|
|
|
|
if ( |
325
|
530
|
|
|
|
|
|
!(!((W[55]^(W[56]<<5)) & (1<<6))) |
326
|
317
|
100
|
|
|
|
|
|| !(!((W[53]^W[55]) & (1<<6))) |
327
|
152
|
100
|
|
|
|
|
|| !((W[52]^W[56]) & (1<<1)) |
328
|
9
|
50
|
|
|
|
|
|| !((W[46]^W[48]) & (1<<1)) |
329
|
9
|
50
|
|
|
|
|
|| !(!((W[39]^(W[43]>>25)) & (1<<5))) |
330
|
0
|
0
|
|
|
|
|
|| !((W[38]^(W[43]>>30)) & (1<<0)) |
331
|
530
|
|
|
|
|
|
) mask &= ~DV_II_51_2_bit; |
332
|
1798
|
50
|
|
|
|
|
if (mask & DV_II_52_0_bit) |
333
|
0
|
0
|
|
|
|
|
if ( |
334
|
0
|
|
|
|
|
|
!(!((W[59]^W[60]) & (1<<29))) |
335
|
0
|
0
|
|
|
|
|
|| !(!((W[40]^(W[44]>>25)) & (1<<3))) |
336
|
0
|
0
|
|
|
|
|
|| !(!((W[40]^(W[44]>>25)) & (1<<4))) |
337
|
0
|
0
|
|
|
|
|
|| !((W[39]^(W[44]<<2)) & (1<<30)) |
338
|
0
|
|
|
|
|
|
) mask &= ~DV_II_52_0_bit; |
339
|
1798
|
100
|
|
|
|
|
if (mask & DV_II_53_0_bit) |
340
|
7
|
100
|
|
|
|
|
if ( |
341
|
7
|
|
|
|
|
|
!((W[58]^W[61]) & (1<<29)) |
342
|
5
|
50
|
|
|
|
|
|| !(!((W[57]^(W[61]>>25)) & (1<<4))) |
343
|
5
|
50
|
|
|
|
|
|| !(!((W[41]^(W[45]>>25)) & (1<<3))) |
344
|
5
|
50
|
|
|
|
|
|| !(!((W[41]^(W[45]>>25)) & (1<<4))) |
345
|
2
|
|
|
|
|
|
) mask &= ~DV_II_53_0_bit; |
346
|
1798
|
50
|
|
|
|
|
if (mask & DV_II_54_0_bit) |
347
|
0
|
0
|
|
|
|
|
if ( |
348
|
0
|
|
|
|
|
|
!(!((W[58]^(W[62]>>25)) & (1<<4))) |
349
|
0
|
0
|
|
|
|
|
|| !(!((W[42]^(W[46]>>25)) & (1<<3))) |
350
|
0
|
0
|
|
|
|
|
|| !(!((W[42]^(W[46]>>25)) & (1<<4))) |
351
|
0
|
|
|
|
|
|
) mask &= ~DV_II_54_0_bit; |
352
|
1798
|
100
|
|
|
|
|
if (mask & DV_II_55_0_bit) |
353
|
3
|
50
|
|
|
|
|
if ( |
354
|
3
|
|
|
|
|
|
!(!((W[59]^(W[63]>>25)) & (1<<4))) |
355
|
0
|
0
|
|
|
|
|
|| !(!((W[57]^(W[59]>>25)) & (1<<4))) |
356
|
0
|
0
|
|
|
|
|
|| !(!((W[43]^(W[47]>>25)) & (1<<3))) |
357
|
0
|
0
|
|
|
|
|
|| !(!((W[43]^(W[47]>>25)) & (1<<4))) |
358
|
3
|
|
|
|
|
|
) mask &= ~DV_II_55_0_bit; |
359
|
1798
|
50
|
|
|
|
|
if (mask & DV_II_56_0_bit) |
360
|
0
|
0
|
|
|
|
|
if ( |
361
|
0
|
|
|
|
|
|
!(!((W[60]^(W[64]>>25)) & (1<<4))) |
362
|
0
|
0
|
|
|
|
|
|| !(!((W[44]^(W[48]>>25)) & (1<<3))) |
363
|
0
|
0
|
|
|
|
|
|| !(!((W[44]^(W[48]>>25)) & (1<<4))) |
364
|
0
|
|
|
|
|
|
) mask &= ~DV_II_56_0_bit; |
365
|
|
|
|
|
|
|
} |
366
|
|
|
|
|
|
|
|
367
|
4141
|
|
|
|
|
|
dvmask[0]=mask; |
368
|
4141
|
|
|
|
|
|
} |
369
|
|
|
|
|
|
|
|
370
|
|
|
|
|
|
|
#ifdef SHA1DC_CUSTOM_TRAILING_INCLUDE_UBC_CHECK_C |
371
|
|
|
|
|
|
|
#include SHA1DC_CUSTOM_TRAILING_INCLUDE_UBC_CHECK_C |
372
|
|
|
|
|
|
|
#endif |