source src/hash/sha1/sha1dc/ubc_check.c
Line | Flow | Count | Block(s) | Source |
---|---|---|---|---|
1 | - | /*** | ||
2 | - | * Copyright 2017 Marc Stevens <marc@marc-stevens.nl>, Dan Shumow <danshu@microsoft.com> | ||
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 <stdint.h> | ||
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 | 3328660 | 2 | void ubc_check(const uint32_t W[80], uint32_t dvmask[1]) | |
105 | - | { | ||
106 | 3328660 | 2 | uint32_t mask = ~((uint32_t)(0)); | |
107 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 3328660 | 2 | 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 | 2545667 | 3 | 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 | 3328660 | 4 | 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 | 3328660 | 4 | if (mask & (DV_I_52_0_bit|DV_II_48_0_bit|DV_II_51_0_bit|DV_II_56_0_bit)) | |
137 | 2499594 | 5 | 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 | 3328660 | 6 | if (mask & (DV_I_52_0_bit|DV_II_48_0_bit|DV_II_50_0_bit|DV_II_56_0_bit)) | |
139 | 2479987 | 7 | 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 | 3328660 | 8 | if (mask & (DV_I_51_0_bit|DV_II_47_0_bit|DV_II_49_0_bit|DV_II_55_0_bit)) | |
141 | 2489591 | 9 | 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 | 3328660 | 10 | if (mask & (DV_I_48_0_bit|DV_II_47_0_bit|DV_II_52_0_bit|DV_II_53_0_bit)) | |
143 | 2512665 | 11 | 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 | 3328660 | 12 | if (mask & (DV_I_46_0_bit|DV_I_49_0_bit|DV_II_45_0_bit|DV_II_48_0_bit)) | |
145 | 2488204 | 13 | 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 | 3328660 | 14 | if (mask & (DV_I_52_0_bit|DV_II_48_0_bit|DV_II_49_0_bit)) | |
147 | 2472184 | 15 | mask &= ((0-(((W[53]^W[56])>>29)&1)) | ~(DV_I_52_0_bit|DV_II_48_0_bit|DV_II_49_0_bit)); | |
148 | 3328660 | 16 | if (mask & (DV_I_50_0_bit|DV_II_46_0_bit|DV_II_47_0_bit)) | |
149 | 2473622 | 17 | mask &= ((0-(((W[51]^W[54])>>29)&1)) | ~(DV_I_50_0_bit|DV_II_46_0_bit|DV_II_47_0_bit)); | |
150 | 3328660 | 18 | if (mask & (DV_I_49_0_bit|DV_I_51_0_bit|DV_II_45_0_bit)) | |
151 | 2475078 | 19 | mask &= ((0-(((W[50]^W[52])>>29)&1)) | ~(DV_I_49_0_bit|DV_I_51_0_bit|DV_II_45_0_bit)); | |
152 | 3328660 | 20 | if (mask & (DV_I_48_0_bit|DV_I_50_0_bit|DV_I_52_0_bit)) | |
153 | 2472354 | 21 | mask &= ((0-(((W[49]^W[51])>>29)&1)) | ~(DV_I_48_0_bit|DV_I_50_0_bit|DV_I_52_0_bit)); | |
154 | 3328660 | 22 | if (mask & (DV_I_47_0_bit|DV_I_49_0_bit|DV_I_51_0_bit)) | |
155 | 2472880 | 23 | mask &= ((0-(((W[48]^W[50])>>29)&1)) | ~(DV_I_47_0_bit|DV_I_49_0_bit|DV_I_51_0_bit)); | |
156 | 3328660 | 24 | if (mask & (DV_I_46_0_bit|DV_I_48_0_bit|DV_I_50_0_bit)) | |
157 | 2477108 | 25 | mask &= ((0-(((W[47]^W[49])>>29)&1)) | ~(DV_I_46_0_bit|DV_I_48_0_bit|DV_I_50_0_bit)); | |
158 | 3328660 | 26 | if (mask & (DV_I_45_0_bit|DV_I_47_0_bit|DV_I_49_0_bit)) | |
159 | 2487629 | 27 | mask &= ((0-(((W[46]^W[48])>>29)&1)) | ~(DV_I_45_0_bit|DV_I_47_0_bit|DV_I_49_0_bit)); | |
160 | 3328660 | 28 | 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 | 3328660 | 28 | if (mask & (DV_I_44_0_bit|DV_I_46_0_bit|DV_I_48_0_bit)) | |
162 | 2497251 | 29 | mask &= ((0-(((W[45]^W[47])>>29)&1)) | ~(DV_I_44_0_bit|DV_I_46_0_bit|DV_I_48_0_bit)); | |
163 | 3328660 | 30 | mask &= (((((W[44]^W[46])>>6)&1)-1) | ~(DV_I_46_2_bit|DV_I_48_2_bit|DV_I_50_2_bit)); | |
164 | 3328660 | 30 | if (mask & (DV_I_43_0_bit|DV_I_45_0_bit|DV_I_47_0_bit)) | |
165 | 2495954 | 31 | mask &= ((0-(((W[44]^W[46])>>29)&1)) | ~(DV_I_43_0_bit|DV_I_45_0_bit|DV_I_47_0_bit)); | |
166 | 3328660 | 32 | 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 | 3328660 | 32 | 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 | 3328660 | 32 | if (mask & (DV_I_44_0_bit|DV_I_46_0_bit|DV_II_56_0_bit)) | |
169 | 2481079 | 33 | mask &= ((0-(((W[40]^W[42])>>4)&1)) | ~(DV_I_44_0_bit|DV_I_46_0_bit|DV_II_56_0_bit)); | |
170 | 3328660 | 34 | 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 | 3328660 | 34 | if (mask & (DV_I_43_0_bit|DV_I_45_0_bit|DV_II_55_0_bit)) | |
172 | 2485129 | 35 | mask &= ((0-(((W[39]^W[41])>>4)&1)) | ~(DV_I_43_0_bit|DV_I_45_0_bit|DV_II_55_0_bit)); | |
173 | 3328660 | 36 | if (mask & (DV_I_44_0_bit|DV_II_54_0_bit|DV_II_56_0_bit)) | |
174 | 2487235 | 37 | mask &= ((0-(((W[38]^W[40])>>4)&1)) | ~(DV_I_44_0_bit|DV_II_54_0_bit|DV_II_56_0_bit)); | |
175 | 3328660 | 38 | if (mask & (DV_I_43_0_bit|DV_II_53_0_bit|DV_II_55_0_bit)) | |
176 | 2480381 | 39 | mask &= ((0-(((W[37]^W[39])>>4)&1)) | ~(DV_I_43_0_bit|DV_II_53_0_bit|DV_II_55_0_bit)); | |
177 | 3328660 | 40 | 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 | 3328660 | 40 | if (mask & (DV_I_45_0_bit|DV_I_48_0_bit|DV_II_47_0_bit)) | |
179 | 4859 | 41 | 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 | 3328660 | 42 | if (mask & (DV_I_48_0_bit|DV_II_48_0_bit)) | |
181 | 2465 | 43 | mask &= ((0-((W[63]^(W[64]>>5))&(1<<0))) | ~(DV_I_48_0_bit|DV_II_48_0_bit)); | |
182 | 3328660 | 44 | if (mask & (DV_I_45_0_bit|DV_II_45_0_bit)) | |
183 | 1813 | 45 | mask &= ((0-((W[63]^(W[64]>>5))&(1<<1))) | ~(DV_I_45_0_bit|DV_II_45_0_bit)); | |
184 | 3328660 | 46 | if (mask & (DV_I_47_0_bit|DV_II_47_0_bit)) | |
185 | 543 | 47 | mask &= ((0-((W[62]^(W[63]>>5))&(1<<0))) | ~(DV_I_47_0_bit|DV_II_47_0_bit)); | |
186 | 3328660 | 48 | if (mask & (DV_I_46_0_bit|DV_II_46_0_bit)) | |
187 | 1048 | 49 | mask &= ((0-((W[61]^(W[62]>>5))&(1<<0))) | ~(DV_I_46_0_bit|DV_II_46_0_bit)); | |
188 | 3328660 | 50 | mask &= ((0-((W[61]^(W[62]>>5))&(1<<2))) | ~(DV_I_46_2_bit|DV_II_46_2_bit)); | |
189 | 3328660 | 50 | if (mask & (DV_I_45_0_bit|DV_II_45_0_bit)) | |
190 | 866 | 51 | mask &= ((0-((W[60]^(W[61]>>5))&(1<<0))) | ~(DV_I_45_0_bit|DV_II_45_0_bit)); | |
191 | 3328660 | 52 | if (mask & (DV_II_51_0_bit|DV_II_54_0_bit)) | |
192 | 2485201 | 53 | mask &= (((((W[58]^W[59])>>29)&1)-1) | ~(DV_II_51_0_bit|DV_II_54_0_bit)); | |
193 | 3328660 | 54 | if (mask & (DV_II_50_0_bit|DV_II_53_0_bit)) | |
194 | 2473691 | 55 | mask &= (((((W[57]^W[58])>>29)&1)-1) | ~(DV_II_50_0_bit|DV_II_53_0_bit)); | |
195 | 3328660 | 56 | if (mask & (DV_II_52_0_bit|DV_II_54_0_bit)) | |
196 | 2490716 | 57 | mask &= ((((W[56]^(W[59]>>25))&(1<<4))-(1<<4)) | ~(DV_II_52_0_bit|DV_II_54_0_bit)); | |
197 | 3328660 | 58 | if (mask & (DV_II_51_0_bit|DV_II_52_0_bit)) | |
198 | 2477756 | 59 | mask &= ((0-(((W[56]^W[59])>>29)&1)) | ~(DV_II_51_0_bit|DV_II_52_0_bit)); | |
199 | 3328660 | 60 | if (mask & (DV_II_49_0_bit|DV_II_52_0_bit)) | |
200 | 5331 | 61 | mask &= (((((W[56]^W[57])>>29)&1)-1) | ~(DV_II_49_0_bit|DV_II_52_0_bit)); | |
201 | 3328660 | 62 | if (mask & (DV_II_51_0_bit|DV_II_53_0_bit)) | |
202 | 2689 | 63 | mask &= ((((W[55]^(W[58]>>25))&(1<<4))-(1<<4)) | ~(DV_II_51_0_bit|DV_II_53_0_bit)); | |
203 | 3328660 | 64 | if (mask & (DV_II_50_0_bit|DV_II_52_0_bit)) | |
204 | 2472028 | 65 | mask &= ((((W[54]^(W[57]>>25))&(1<<4))-(1<<4)) | ~(DV_II_50_0_bit|DV_II_52_0_bit)); | |
205 | 3328660 | 66 | if (mask & (DV_II_49_0_bit|DV_II_51_0_bit)) | |
206 | 1304 | 67 | mask &= ((((W[53]^(W[56]>>25))&(1<<4))-(1<<4)) | ~(DV_II_49_0_bit|DV_II_51_0_bit)); | |
207 | 3328660 | 68 | mask &= ((((W[51]^(W[50]>>5))&(1<<1))-(1<<1)) | ~(DV_I_50_2_bit|DV_II_46_2_bit)); | |
208 | 3328660 | 68 | mask &= ((((W[48]^W[50])&(1<<6))-(1<<6)) | ~(DV_I_50_2_bit|DV_II_46_2_bit)); | |
209 | 3328660 | 68 | if (mask & (DV_I_51_0_bit|DV_I_52_0_bit)) | |
210 | 1666 | 69 | mask &= ((0-(((W[48]^W[55])>>29)&1)) | ~(DV_I_51_0_bit|DV_I_52_0_bit)); | |
211 | 3328660 | 70 | mask &= ((((W[47]^W[49])&(1<<6))-(1<<6)) | ~(DV_I_49_2_bit|DV_I_51_2_bit)); | |
212 | 3328660 | 70 | mask &= ((((W[48]^(W[47]>>5))&(1<<1))-(1<<1)) | ~(DV_I_47_2_bit|DV_II_51_2_bit)); | |
213 | 3328660 | 70 | mask &= ((((W[46]^W[48])&(1<<6))-(1<<6)) | ~(DV_I_48_2_bit|DV_I_50_2_bit)); | |
214 | 3328660 | 70 | mask &= ((((W[47]^(W[46]>>5))&(1<<1))-(1<<1)) | ~(DV_I_46_2_bit|DV_II_50_2_bit)); | |
215 | 3328660 | 70 | mask &= ((0-((W[44]^(W[45]>>5))&(1<<1))) | ~(DV_I_51_2_bit|DV_II_49_2_bit)); | |
216 | 3328660 | 70 | mask &= ((((W[43]^W[45])&(1<<6))-(1<<6)) | ~(DV_I_47_2_bit|DV_I_49_2_bit)); | |
217 | 3328660 | 70 | mask &= (((((W[42]^W[44])>>6)&1)-1) | ~(DV_I_46_2_bit|DV_I_48_2_bit)); | |
218 | 3328660 | 70 | mask &= ((((W[43]^(W[42]>>5))&(1<<1))-(1<<1)) | ~(DV_II_46_2_bit|DV_II_51_2_bit)); | |
219 | 3328660 | 70 | mask &= ((((W[42]^(W[41]>>5))&(1<<1))-(1<<1)) | ~(DV_I_51_2_bit|DV_II_50_2_bit)); | |
220 | 3328660 | 70 | mask &= ((((W[41]^(W[40]>>5))&(1<<1))-(1<<1)) | ~(DV_I_50_2_bit|DV_II_49_2_bit)); | |
221 | 3328660 | 70 | if (mask & (DV_I_52_0_bit|DV_II_51_0_bit)) | |
222 | 508 | 71 | mask &= ((((W[39]^(W[43]>>25))&(1<<4))-(1<<4)) | ~(DV_I_52_0_bit|DV_II_51_0_bit)); | |
223 | 3328660 | 72 | if (mask & (DV_I_51_0_bit|DV_II_50_0_bit)) | |
224 | 2468947 | 73 | mask &= ((((W[38]^(W[42]>>25))&(1<<4))-(1<<4)) | ~(DV_I_51_0_bit|DV_II_50_0_bit)); | |
225 | 3328660 | 74 | if (mask & (DV_I_48_2_bit|DV_I_51_2_bit)) | |
226 | 68332 | 75 | mask &= ((0-((W[37]^(W[38]>>5))&(1<<1))) | ~(DV_I_48_2_bit|DV_I_51_2_bit)); | |
227 | 3328660 | 76 | if (mask & (DV_I_50_0_bit|DV_II_49_0_bit)) | |
228 | 430 | 77 | mask &= ((((W[37]^(W[41]>>25))&(1<<4))-(1<<4)) | ~(DV_I_50_0_bit|DV_II_49_0_bit)); | |
229 | 3328660 | 78 | if (mask & (DV_II_52_0_bit|DV_II_54_0_bit)) | |
230 | 2344 | 79 | mask &= ((0-((W[36]^W[38])&(1<<4))) | ~(DV_II_52_0_bit|DV_II_54_0_bit)); | |
231 | 3328660 | 80 | mask &= ((0-((W[35]^(W[36]>>5))&(1<<1))) | ~(DV_I_46_2_bit|DV_I_49_2_bit)); | |
232 | 3328660 | 80 | if (mask & (DV_I_51_0_bit|DV_II_47_0_bit)) | |
233 | 69 | 81 | mask &= ((((W[35]^(W[39]>>25))&(1<<3))-(1<<3)) | ~(DV_I_51_0_bit|DV_II_47_0_bit)); | |
234 | 3328660 | 82 | if (mask) { | |
235 | - | |||
236 | 2838864 | 83 | if (mask & DV_I_43_0_bit) | |
237 | 2582 | 84 | if ( | |
238 | 2582 | 84 | !((W[61]^(W[62]>>5)) & (1<<1)) | |
239 | 1233 | 85 | || !(!((W[59]^(W[63]>>25)) & (1<<5))) | |
240 | 497 | 86 | || !((W[58]^(W[63]>>30)) & (1<<0)) | |
241 | 2346 | 87 | ) mask &= ~DV_I_43_0_bit; | |
242 | 2838864 | 88 | if (mask & DV_I_44_0_bit) | |
243 | 1966 | 89 | if ( | |
244 | 1966 | 89 | !((W[62]^(W[63]>>5)) & (1<<1)) | |
245 | 1194 | 90 | || !(!((W[60]^(W[64]>>25)) & (1<<5))) | |
246 | 744 | 91 | || !((W[59]^(W[64]>>30)) & (1<<0)) | |
247 | 1795 | 92 | ) mask &= ~DV_I_44_0_bit; | |
248 | 2838864 | 93 | if (mask & DV_I_46_2_bit) | |
249 | 11401 | 94 | mask &= ((~((W[40]^W[42])>>2)) | ~DV_I_46_2_bit); | |
250 | 2838864 | 95 | if (mask & DV_I_47_2_bit) | |
251 | 26738 | 96 | if ( | |
252 | 26738 | 96 | !((W[62]^(W[63]>>5)) & (1<<2)) | |
253 | 12374 | 97 | || !(!((W[41]^W[43]) & (1<<6))) | |
254 | 20131 | 98 | ) mask &= ~DV_I_47_2_bit; | |
255 | 2838864 | 99 | if (mask & DV_I_48_2_bit) | |
256 | 23452 | 100 | if ( | |
257 | 23452 | 100 | !((W[63]^(W[64]>>5)) & (1<<2)) | |
258 | 11330 | 101 | || !(!((W[48]^(W[49]<<5)) & (1<<6))) | |
259 | 18543 | 102 | ) mask &= ~DV_I_48_2_bit; | |
260 | 2838864 | 103 | if (mask & DV_I_49_2_bit) | |
261 | 51749 | 104 | if ( | |
262 | 51749 | 104 | !(!((W[49]^(W[50]<<5)) & (1<<6))) | |
263 | 25263 | 105 | || !((W[42]^W[50]) & (1<<1)) | |
264 | 12509 | 106 | || !(!((W[39]^(W[40]<<5)) & (1<<6))) | |
265 | 6525 | 107 | || !((W[38]^W[40]) & (1<<1)) | |
266 | 47456 | 108 | ) mask &= ~DV_I_49_2_bit; | |
267 | 2838864 | 109 | if (mask & DV_I_50_0_bit) | |
268 | 46 | 110 | mask &= ((((W[36]^W[37])<<7)) | ~DV_I_50_0_bit); | |
269 | 2838864 | 111 | if (mask & DV_I_50_2_bit) | |
270 | 5277 | 112 | mask &= ((((W[43]^W[51])<<11)) | ~DV_I_50_2_bit); | |
271 | 2838864 | 113 | if (mask & DV_I_51_0_bit) | |
272 | 13 | 114 | mask &= ((((W[37]^W[38])<<9)) | ~DV_I_51_0_bit); | |
273 | 2838864 | 115 | if (mask & DV_I_51_2_bit) | |
274 | 12211 | 116 | if ( | |
275 | 12211 | 116 | !(!((W[51]^(W[52]<<5)) & (1<<6))) | |
276 | 6173 | 117 | || !(!((W[49]^W[51]) & (1<<6))) | |
277 | 3517 | 118 | || !(!((W[37]^(W[37]>>5)) & (1<<1))) | |
278 | 2768 | 119 | || !(!((W[35]^(W[39]>>25)) & (1<<5))) | |
279 | 11620 | 120 | ) mask &= ~DV_I_51_2_bit; | |
280 | 2838864 | 121 | if (mask & DV_I_52_0_bit) | |
281 | 53 | 122 | mask &= ((((W[38]^W[39])<<11)) | ~DV_I_52_0_bit); | |
282 | 2838864 | 123 | if (mask & DV_II_46_2_bit) | |
283 | 9734 | 124 | mask &= ((((W[47]^W[51])<<17)) | ~DV_II_46_2_bit); | |
284 | 2838864 | 125 | if (mask & DV_II_48_0_bit) | |
285 | 42 | 126 | if ( | |
286 | 42 | 126 | !(!((W[36]^(W[40]>>25)) & (1<<3))) | |
287 | 26 | 127 | || !((W[35]^(W[40]<<2)) & (1<<30)) | |
288 | 32 | 128 | ) mask &= ~DV_II_48_0_bit; | |
289 | 2838864 | 129 | if (mask & DV_II_49_0_bit) | |
290 | 189 | 130 | if ( | |
291 | 189 | 130 | !(!((W[37]^(W[41]>>25)) & (1<<3))) | |
292 | 97 | 131 | || !((W[36]^(W[41]<<2)) & (1<<30)) | |
293 | 178 | 132 | ) mask &= ~DV_II_49_0_bit; | |
294 | 2838864 | 133 | if (mask & DV_II_49_2_bit) | |
295 | 126714 | 134 | if ( | |
296 | 126714 | 134 | !(!((W[53]^(W[54]<<5)) & (1<<6))) | |
297 | 62836 | 135 | || !(!((W[51]^W[53]) & (1<<6))) | |
298 | 30666 | 136 | || !((W[50]^W[54]) & (1<<1)) | |
299 | 17772 | 137 | || !(!((W[45]^(W[46]<<5)) & (1<<6))) | |
300 | 5493 | 138 | || !(!((W[37]^(W[41]>>25)) & (1<<5))) | |
301 | 2687 | 139 | || !((W[36]^(W[41]>>30)) & (1<<0)) | |
302 | 125842 | 140 | ) mask &= ~DV_II_49_2_bit; | |
303 | 2838864 | 141 | if (mask & DV_II_50_0_bit) | |
304 | 2467998 | 142 | if ( | |
305 | 2467998 | 142 | !((W[55]^W[58]) & (1<<29)) | |
306 | 72 | 143 | || !(!((W[38]^(W[42]>>25)) & (1<<3))) | |
307 | 28 | 144 | || !((W[37]^(W[42]<<2)) & (1<<30)) | |
308 | 2467988 | 145 | ) mask &= ~DV_II_50_0_bit; | |
309 | 2838864 | 146 | if (mask & DV_II_50_2_bit) | |
310 | 95048 | 147 | if ( | |
311 | 95048 | 147 | !(!((W[54]^(W[55]<<5)) & (1<<6))) | |
312 | 50156 | 148 | || !(!((W[52]^W[54]) & (1<<6))) | |
313 | 23119 | 149 | || !((W[51]^W[55]) & (1<<1)) | |
314 | 11711 | 150 | || !((W[45]^W[47]) & (1<<1)) | |
315 | 6130 | 151 | || !(!((W[38]^(W[42]>>25)) & (1<<5))) | |
316 | 3490 | 152 | || !((W[37]^(W[42]>>30)) & (1<<0)) | |
317 | 93741 | 153 | ) mask &= ~DV_II_50_2_bit; | |
318 | 2838864 | 154 | if (mask & DV_II_51_0_bit) | |
319 | 271 | 155 | if ( | |
320 | 271 | 155 | !(!((W[39]^(W[43]>>25)) & (1<<3))) | |
321 | 186 | 156 | || !((W[38]^(W[43]<<2)) & (1<<30)) | |
322 | 115 | 157 | ) mask &= ~DV_II_51_0_bit; | |
323 | 2838864 | 158 | if (mask & DV_II_51_2_bit) | |
324 | 99461 | 159 | if ( | |
325 | 99461 | 159 | !(!((W[55]^(W[56]<<5)) & (1<<6))) | |
326 | 47073 | 160 | || !(!((W[53]^W[55]) & (1<<6))) | |
327 | 21645 | 161 | || !((W[52]^W[56]) & (1<<1)) | |
328 | 10916 | 162 | || !((W[46]^W[48]) & (1<<1)) | |
329 | 5384 | 163 | || !(!((W[39]^(W[43]>>25)) & (1<<5))) | |
330 | 2454 | 164 | || !((W[38]^(W[43]>>30)) & (1<<0)) | |
331 | 98060 | 165 | ) mask &= ~DV_II_51_2_bit; | |
332 | 2838864 | 166 | if (mask & DV_II_52_0_bit) | |
333 | 303 | 167 | if ( | |
334 | 303 | 167 | !(!((W[59]^W[60]) & (1<<29))) | |
335 | 210 | 168 | || !(!((W[40]^(W[44]>>25)) & (1<<3))) | |
336 | 139 | 169 | || !(!((W[40]^(W[44]>>25)) & (1<<4))) | |
337 | 120 | 170 | || !((W[39]^(W[44]<<2)) & (1<<30)) | |
338 | 278 | 171 | ) mask &= ~DV_II_52_0_bit; | |
339 | 2838864 | 172 | if (mask & DV_II_53_0_bit) | |
340 | 692 | 173 | if ( | |
341 | 692 | 173 | !((W[58]^W[61]) & (1<<29)) | |
342 | 376 | 174 | || !(!((W[57]^(W[61]>>25)) & (1<<4))) | |
343 | 177 | 175 | || !(!((W[41]^(W[45]>>25)) & (1<<3))) | |
344 | 83 | 176 | || !(!((W[41]^(W[45]>>25)) & (1<<4))) | |
345 | 668 | 177 | ) mask &= ~DV_II_53_0_bit; | |
346 | 2838864 | 178 | if (mask & DV_II_54_0_bit) | |
347 | 1239 | 179 | if ( | |
348 | 1239 | 179 | !(!((W[58]^(W[62]>>25)) & (1<<4))) | |
349 | 93 | 180 | || !(!((W[42]^(W[46]>>25)) & (1<<3))) | |
350 | 33 | 181 | || !(!((W[42]^(W[46]>>25)) & (1<<4))) | |
351 | 1221 | 182 | ) mask &= ~DV_II_54_0_bit; | |
352 | 2838864 | 183 | if (mask & DV_II_55_0_bit) | |
353 | 530 | 184 | if ( | |
354 | 530 | 184 | !(!((W[59]^(W[63]>>25)) & (1<<4))) | |
355 | 318 | 185 | || !(!((W[57]^(W[59]>>25)) & (1<<4))) | |
356 | 228 | 186 | || !(!((W[43]^(W[47]>>25)) & (1<<3))) | |
357 | 70 | 187 | || !(!((W[43]^(W[47]>>25)) & (1<<4))) | |
358 | 484 | 188 | ) mask &= ~DV_II_55_0_bit; | |
359 | 2838864 | 189 | if (mask & DV_II_56_0_bit) | |
360 | 286 | 190 | if ( | |
361 | 286 | 190 | !(!((W[60]^(W[64]>>25)) & (1<<4))) | |
362 | 79 | 191 | || !(!((W[44]^(W[48]>>25)) & (1<<3))) | |
363 | 32 | 192 | || !(!((W[44]^(W[48]>>25)) & (1<<4))) | |
364 | 266 | 193 | ) mask &= ~DV_II_56_0_bit; | |
365 | - | } | ||
366 | - | |||
367 | 3328660 | 194 | dvmask[0]=mask; | |
368 | 3328660 | 194 | } | |
369 | - | |||
370 | - | #ifdef SHA1DC_CUSTOM_TRAILING_INCLUDE_UBC_CHECK_C | ||
371 | - | #include SHA1DC_CUSTOM_TRAILING_INCLUDE_UBC_CHECK_C | ||
372 | - | #endif |