summaryrefslogtreecommitdiff
path: root/lib/.lib6.c.swp
blob: 50e56d4ade8af434fb0592826f0524abbe9bb7f0 (plain)
ofshex dumpascii
0000 62 30 56 49 4d 20 38 2e 30 00 00 00 00 10 00 00 44 cb 83 58 3f 12 24 00 46 28 00 00 62 65 6e 65 b0VIM.8.0.......D..X?.$.F(..bene
0020 64 69 63 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dict............................
0040 00 00 00 00 73 75 70 65 72 2d 64 75 70 65 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ....super-duper.................
0060 00 00 00 00 00 00 00 00 00 00 00 00 7e 62 65 6e 65 64 69 63 74 2f 6d 61 74 61 6e 73 6f 5f 63 68 ............~benedict/matanso_ch
0080 61 6c 6c 61 6e 67 65 2f 6d 79 2f 6c 69 62 2f 6c 69 62 36 2e 63 00 00 00 00 00 00 00 00 00 00 00 allange/my/lib/lib6.c...........
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 75 74 66 2d 38 0d 55 33 32 31 30 00 00 00 00 23 22 21 20 13 12 55 00 .........utf-8.U3210....#"!...U.
0400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1000 74 70 04 00 7f 00 00 00 02 00 00 00 00 00 00 00 8c 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 tp..............................
1020 01 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 82 00 00 00 00 00 00 00 8c 00 00 00 00 00 00 00 ................................
1040 01 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 86 00 00 00 00 00 00 00 0e 01 00 00 00 00 00 00 ................................
1060 01 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 29 00 00 00 00 00 00 00 97 01 00 00 00 00 00 00 ................)...............
1080 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2000 61 64 00 00 02 00 00 00 4e 02 00 00 00 10 00 00 8c 00 00 00 00 00 00 00 ee 0f 00 00 dc 0f 00 00 ad......N.......................
2020 ca 0f 00 00 b8 0f 00 00 a6 0f 00 00 95 0f 00 00 7f 0f 00 00 66 0f 00 00 65 0f 00 00 64 0f 00 00 ....................f...e...d...
2040 07 0f 00 00 05 0f 00 00 ce 0e 00 00 cc 0e 00 00 cb 0e 00 00 69 0e 00 00 67 0e 00 00 4e 0e 00 00 ....................i...g...N...
2060 3f 0e 00 00 3e 0e 00 00 0c 0e 00 00 eb 0d 00 00 b7 0d 00 00 a2 0d 00 00 93 0d 00 00 84 0d 00 00 ?...>...........................
2080 83 0d 00 00 71 0d 00 00 6f 0d 00 00 6b 0d 00 00 48 0d 00 00 42 0d 00 00 ef 0c 00 00 ed 0c 00 00 ....q...o...k...H...B...........
20a0 de 0c 00 00 c9 0c 00 00 c1 0c 00 00 c0 0c 00 00 95 0c 00 00 82 0c 00 00 6f 0c 00 00 47 0c 00 00 ........................o...G...
20c0 46 0c 00 00 30 0c 00 00 2f 0c 00 00 1c 0c 00 00 ed 0b 00 00 ce 0b 00 00 cd 0b 00 00 b8 0b 00 00 F...0.../.......................
20e0 86 0b 00 00 84 0b 00 00 83 0b 00 00 3f 0b 00 00 3d 0b 00 00 27 0b 00 00 1f 0b 00 00 1e 0b 00 00 ............?...=...'...........
2100 e1 0a 00 00 b6 0a 00 00 9d 0a 00 00 86 0a 00 00 5a 0a 00 00 31 0a 00 00 05 0a 00 00 e9 09 00 00 ................Z...1...........
2120 e8 09 00 00 bb 09 00 00 b9 09 00 00 b8 09 00 00 6d 09 00 00 6b 09 00 00 5f 09 00 00 4c 09 00 00 ................m...k..._...L...
2140 37 09 00 00 36 09 00 00 f8 08 00 00 ec 08 00 00 eb 08 00 00 b2 08 00 00 95 08 00 00 8e 08 00 00 7...6...........................
2160 8d 08 00 00 87 08 00 00 6b 08 00 00 57 08 00 00 44 08 00 00 17 08 00 00 03 08 00 00 d3 07 00 00 ........k...W...D...............
2180 d1 07 00 00 c9 07 00 00 af 07 00 00 8b 07 00 00 7e 07 00 00 7b 07 00 00 7a 07 00 00 63 07 00 00 ................~...{...z...c...
21a0 37 07 00 00 1b 07 00 00 10 07 00 00 0e 07 00 00 0d 07 00 00 d8 06 00 00 d6 06 00 00 93 06 00 00 7...............................
21c0 5e 06 00 00 29 06 00 00 f4 05 00 00 bf 05 00 00 af 05 00 00 ae 05 00 00 73 05 00 00 72 05 00 00 ^...)...................s...r...
21e0 2f 05 00 00 fa 04 00 00 c5 04 00 00 90 04 00 00 5b 04 00 00 4b 04 00 00 4a 04 00 00 38 04 00 00 /...............[...K...J...8...
2200 26 04 00 00 14 04 00 00 13 04 00 00 f9 03 00 00 df 03 00 00 c5 03 00 00 a3 03 00 00 a1 03 00 00 &...............................
2220 a0 03 00 00 55 03 00 00 33 03 00 00 31 03 00 00 f1 02 00 00 ab 02 00 00 68 02 00 00 51 02 00 00 ....U...3...1...........h...Q...
2240 4f 02 00 00 4e 02 00 00 00 00 00 00 00 00 00 7d 00 09 09 09 70 75 62 5f 70 61 72 61 6d 2d 3e 70 O...N..........}....pub_param->p
2260 2c 20 63 74 78 29 3b 00 09 42 4e 5f 6d 6f 64 5f 65 78 70 28 70 72 69 76 5f 70 61 72 61 6d 2d 3e ,.ctx);..BN_mod_exp(priv_param->
2280 70 75 62 6c 69 63 2c 20 70 75 62 5f 70 61 72 61 6d 2d 3e 67 2c 20 70 72 69 76 5f 70 61 72 61 6d public,.pub_param->g,.priv_param
22a0 2d 3e 70 72 69 76 61 74 65 2c 00 09 42 4e 5f 6d 6f 64 28 70 72 69 76 5f 70 61 72 61 6d 2d 3e 70 ->private,..BN_mod(priv_param->p
22c0 72 69 76 61 74 65 2c 20 70 72 69 76 5f 70 61 72 61 6d 2d 3e 70 72 69 76 61 74 65 2c 20 70 75 62 rivate,.priv_param->private,.pub
22e0 5f 70 61 72 61 6d 2d 3e 71 2c 20 63 74 78 29 3b 00 09 42 4e 5f 70 73 65 75 64 6f 5f 72 61 6e 64 _param->q,.ctx);..BN_pseudo_rand
2300 28 70 72 69 76 5f 70 61 72 61 6d 2d 3e 70 72 69 76 61 74 65 2c 20 70 75 62 5f 70 61 72 61 6d 2d (priv_param->private,.pub_param-
2320 3e 62 69 74 73 2c 20 2d 31 2c 20 2d 31 29 3b 09 00 7b 00 09 09 64 73 61 5f 70 65 72 5f 75 73 65 >bits,.-1,.-1);..{...dsa_per_use
2340 72 5f 70 61 72 61 6d 20 2a 70 72 69 76 5f 70 61 72 61 6d 29 00 76 6f 69 64 20 64 73 61 5f 63 6f r_param.*priv_param).void.dsa_co
2360 6d 70 75 74 65 5f 70 65 72 5f 75 73 65 72 5f 6b 65 79 73 28 73 74 72 75 63 74 20 64 73 61 5f 70 mpute_per_user_keys(struct.dsa_p
2380 75 62 6c 69 63 5f 70 61 72 61 6d 73 20 2a 70 75 62 5f 70 61 72 61 6d 2c 20 73 74 72 75 63 74 00 ublic_params.*pub_param,.struct.
23a0 00 7d 00 09 70 2d 3e 62 69 74 73 20 3d 20 42 4e 5f 6e 75 6d 5f 62 79 74 65 73 28 70 2d 3e 71 29 .}..p->bits.=.BN_num_bytes(p->q)
23c0 2a 31 36 3b 00 09 42 4e 5f 68 65 78 32 62 6e 28 26 70 2d 3e 67 2c 20 67 5f 73 74 72 29 3b 00 09 *16;..BN_hex2bn(&p->g,.g_str);..
23e0 42 4e 5f 68 65 78 32 62 6e 28 26 70 2d 3e 71 2c 20 71 5f 73 74 72 29 3b 00 09 42 4e 5f 68 65 78 BN_hex2bn(&p->q,.q_str);..BN_hex
2400 32 62 6e 28 26 70 2d 3e 70 2c 20 70 5f 73 74 72 29 3b 00 00 09 70 2d 3e 67 20 3d 20 42 4e 5f 6e 2bn(&p->p,.p_str);...p->g.=.BN_n
2420 65 77 28 29 3b 00 09 70 2d 3e 71 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 09 70 2d 3e 70 20 3d 20 ew();..p->q.=.BN_new();..p->p.=.
2440 42 4e 5f 6e 65 77 28 29 3b 00 00 09 22 39 66 63 39 35 33 30 32 32 39 31 22 3b 00 09 22 38 37 38 BN_new();..."9fc95302291";.."878
2460 34 38 30 65 39 39 30 34 31 62 65 36 30 31 61 36 32 31 36 36 63 61 36 38 39 34 62 64 64 34 31 61 480e99041be601a62166ca6894bdd41a
2480 37 30 35 34 65 63 38 39 66 37 35 36 62 61 22 00 09 22 30 66 35 62 36 34 63 33 36 62 36 32 35 61 7054ec89f756ba".."0f5b64c36b625a
24a0 30 39 37 66 31 36 35 31 66 65 37 37 35 33 32 33 35 35 36 66 65 30 30 62 33 36 30 38 63 38 38 37 097f1651fe775323556fe00b3608c887
24c0 38 39 32 22 00 09 22 33 32 32 61 35 35 39 39 34 36 61 37 31 39 30 33 66 39 39 30 66 31 66 37 65 892".."322a559946a71903f990f1f7e
24e0 30 65 30 32 35 65 32 64 37 66 37 63 66 34 39 34 61 66 66 31 61 30 34 37 22 00 09 22 34 35 38 66 0e025e2d7f7cf494aff1a047".."458f
2500 65 66 35 33 38 62 38 66 61 34 30 34 36 63 38 64 62 35 33 30 33 39 64 62 36 32 30 63 30 39 34 63 ef538b8fa4046c8db53039db620c094c
2520 39 66 61 30 37 37 65 66 33 38 39 62 35 22 00 09 63 68 61 72 20 2a 67 5f 73 74 72 20 3d 20 22 35 9fa077ef389b5"..char.*g_str.=."5
2540 39 35 38 63 39 64 33 38 39 38 62 32 32 34 62 31 32 36 37 32 63 30 62 39 38 65 30 36 63 36 30 64 958c9d3898b224b12672c0b98e06c60d
2560 66 39 32 33 63 62 38 62 63 39 39 39 64 31 31 39 22 00 00 09 63 68 61 72 20 2a 71 5f 73 74 72 20 f923cb8bc999d119"...char.*q_str.
2580 3d 20 22 66 34 66 34 37 66 30 35 37 39 34 62 32 35 36 31 37 34 62 62 61 36 65 39 62 33 39 36 61 =."f4f47f05794b256174bba6e9b396a
25a0 37 37 30 37 65 35 36 33 63 35 62 22 3b 00 00 09 22 31 61 35 38 34 34 37 31 62 62 31 22 3b 00 09 7707e563c5b";..."1a584471bb1";..
25c0 22 62 34 64 65 62 35 30 61 61 31 38 65 65 39 65 31 33 32 62 66 61 38 35 61 63 34 33 37 34 64 37 "b4deb50aa18ee9e132bfa85ac4374d7
25e0 66 39 30 39 31 61 62 63 33 64 30 31 35 65 66 63 38 37 22 00 09 22 61 63 30 34 66 34 38 63 33 63 f9091abc3d015efc87".."ac04f48c3c
2600 38 34 61 66 62 37 39 36 64 36 31 65 35 61 34 66 39 61 38 66 64 61 38 31 32 61 62 35 39 34 39 34 84afb796d61e5a4f9a8fda812ab59494
2620 32 33 32 63 37 64 32 22 00 09 22 32 64 33 37 34 64 38 33 38 39 65 61 35 61 65 66 66 64 33 32 32 232c7d2".."2d374d8389ea5aeffd322
2640 36 61 30 35 33 30 63 63 35 36 35 66 33 62 66 36 62 35 30 39 32 39 31 33 39 65 62 65 22 00 09 22 6a0530cc565f3bf6b50929139ebe".."
2660 38 35 39 66 32 31 37 31 65 32 35 65 36 35 65 61 63 36 39 38 63 31 37 30 32 35 37 38 62 30 37 64 859f2171e25e65eac698c1702578b07d
2680 63 32 61 31 30 37 36 64 61 32 34 31 63 37 36 63 36 22 00 09 63 68 61 72 20 2a 70 5f 73 74 72 20 c2a1076da241c76c6"..char.*p_str.
26a0 3d 20 22 38 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 38 39 65 31 38 35 35 32 31 38 61 30 65 =."800000000000000089e1855218a0e
26c0 37 64 61 63 33 38 31 33 36 66 66 61 66 61 37 32 65 64 61 37 22 00 7b 00 76 6f 69 64 20 69 6e 69 7dac38136ffafa72eda7".{.void.ini
26e0 74 5f 64 73 61 5f 70 75 62 5f 70 61 72 61 6d 28 73 74 72 75 63 74 20 64 73 61 5f 70 75 62 6c 69 t_dsa_pub_param(struct.dsa_publi
2700 63 5f 70 61 72 61 6d 73 20 2a 70 29 00 00 7d 00 09 72 65 74 75 72 6e 20 31 3b 00 09 70 72 69 6e c_params.*p)..}..return.1;..prin
2720 74 66 28 22 67 6f 74 3a 5c 6e 25 73 5c 6e 22 2c 20 62 75 66 29 3b 00 09 68 65 78 5f 62 69 6e 61 tf("got:\n%s\n",.buf);..hex_bina
2740 72 79 5f 74 6f 5f 73 74 72 69 6e 67 28 74 6f 5f 76 65 72 69 66 79 2c 20 62 75 66 2c 20 6c 65 6e ry_to_string(to_verify,.buf,.len
2760 29 3b 00 09 63 68 61 72 20 62 75 66 5b 28 31 30 32 34 2f 38 29 2a 32 5d 3b 00 00 09 7d 00 09 09 );..char.buf[(1024/8)*2];...}...
2780 09 72 65 74 75 72 6e 20 30 3b 00 09 09 69 66 20 28 74 6f 5f 76 65 72 69 66 79 5b 69 5d 20 21 3d .return.0;...if.(to_verify[i].!=
27a0 20 73 68 61 31 5f 68 61 73 68 5b 6a 5d 29 00 09 66 6f 72 28 6a 3d 30 3b 6a 3c 32 30 3b 6a 2b 2b .sha1_hash[j])..for(j=0;j<20;j++
27c0 2c 20 69 2b 2b 29 20 7b 00 09 69 6e 74 20 6a 3b 00 09 00 09 6d 65 6d 63 70 79 28 73 68 61 31 5f ,.i++).{..int.j;....memcpy(sha1_
27e0 68 61 73 68 2c 20 26 28 73 68 61 31 2e 4d 65 73 73 61 67 65 5f 44 69 67 65 73 74 29 2c 20 32 30 hash,.&(sha1.Message_Digest),.20
2800 29 3b 00 09 53 48 41 31 52 65 73 75 6c 74 28 26 73 68 61 31 29 3b 00 09 53 48 41 31 49 6e 70 75 );..SHA1Result(&sha1);..SHA1Inpu
2820 74 28 26 73 68 61 31 2c 20 6d 65 73 73 61 67 65 2c 20 73 74 72 6c 65 6e 28 6d 65 73 73 61 67 65 t(&sha1,.message,.strlen(message
2840 29 29 3b 00 09 53 48 41 31 52 65 73 65 74 28 26 73 68 61 31 29 3b 00 09 2f 2f 20 76 65 72 66 69 ));..SHA1Reset(&sha1);..//.verfi
2860 79 20 74 68 65 20 68 61 73 68 00 09 2f 2f 20 54 4f 44 4f 20 63 68 65 63 6b 20 61 73 6e 2e 31 20 y.the.hash..//.TODO.check.asn.1.
2880 74 68 69 6e 67 73 00 09 69 2b 2b 3b 00 00 09 09 69 2b 2b 3b 00 09 77 68 69 6c 65 28 74 6f 5f 76 things..i++;....i++;..while(to_v
28a0 65 72 69 66 79 5b 69 5d 20 21 3d 20 30 78 30 30 29 00 09 2f 2f 20 73 65 61 72 63 68 20 66 6f 72 erify[i].!=.0x00)..//.search.for
28c0 20 74 68 65 20 6e 65 78 74 20 30 78 30 30 20 6e 6f 20 6d 61 74 74 65 72 20 77 68 61 74 27 73 20 .the.next.0x00.no.matter.what's.
28e0 69 6e 20 62 65 74 77 65 65 6e 00 00 09 09 72 65 74 75 72 6e 20 30 3b 00 09 69 66 20 28 6c 65 6e in.between....return.0;..if.(len
2900 20 3c 20 32 20 26 26 20 74 6f 5f 76 65 72 69 66 79 5b 30 5d 20 21 3d 20 30 78 30 30 20 26 26 20 .<.2.&&.to_verify[0].!=.0x00.&&.
2920 74 6f 5f 76 65 72 69 66 79 5b 31 5d 20 21 3d 20 30 78 30 31 29 00 00 09 63 68 61 72 20 73 68 61 to_verify[1].!=.0x01)...char.sha
2940 31 5f 68 61 73 68 5b 32 30 5d 3b 00 09 53 48 41 31 43 6f 6e 74 65 78 74 20 73 68 61 31 3b 00 09 1_hash[20];..SHA1Context.sha1;..
2960 69 6e 74 20 69 20 3d 20 32 3b 00 7b 00 69 6e 74 20 73 68 69 74 74 79 5f 70 6b 63 73 31 5f 35 5f int.i.=.2;.{.int.shitty_pkcs1_5_
2980 70 61 64 64 69 6e 67 5f 76 65 72 69 66 79 28 63 68 61 72 20 2a 74 6f 5f 76 65 72 69 66 79 2c 20 padding_verify(char.*to_verify,.
29a0 69 6e 74 20 6c 65 6e 2c 20 63 68 61 72 20 2a 6d 65 73 73 61 67 65 29 00 00 7d 00 09 72 65 74 75 int.len,.char.*message)..}..retu
29c0 72 6e 20 6d 65 6d 63 6d 70 28 74 6f 5f 76 65 72 69 66 79 2c 20 72 65 73 75 6c 74 2c 20 31 32 38 rn.memcmp(to_verify,.result,.128
29e0 29 20 3d 3d 20 30 3b 00 00 09 70 72 69 6e 74 66 28 22 67 6f 74 3a 5c 6e 25 73 5c 6e 22 2c 20 62 ).==.0;...printf("got:\n%s\n",.b
2a00 75 66 29 3b 00 09 68 65 78 5f 62 69 6e 61 72 79 5f 74 6f 5f 73 74 72 69 6e 67 28 74 6f 5f 76 65 uf);..hex_binary_to_string(to_ve
2a20 72 69 66 79 2c 20 62 75 66 2c 20 6c 65 6e 29 3b 00 09 70 72 69 6e 74 66 28 22 65 78 70 65 63 74 rify,.buf,.len);..printf("expect
2a40 65 64 20 70 61 64 64 69 6e 67 3a 5c 6e 25 73 5c 6e 22 2c 20 62 75 66 29 3b 00 09 68 65 78 5f 62 ed.padding:\n%s\n",.buf);..hex_b
2a60 69 6e 61 72 79 5f 74 6f 5f 73 74 72 69 6e 67 28 72 65 73 75 6c 74 2c 20 62 75 66 2c 20 31 30 32 inary_to_string(result,.buf,.102
2a80 34 2f 38 29 3b 00 09 63 68 61 72 20 62 75 66 5b 28 31 30 32 34 2f 38 29 2a 32 5d 3b 00 09 2f 2f 4/8);..char.buf[(1024/8)*2];..//
2aa0 20 70 72 69 6e 74 66 20 62 6f 74 68 20 70 61 64 64 69 6e 67 73 00 09 70 6b 63 73 31 5f 35 5f 70 .printf.both.paddings..pkcs1_5_p
2ac0 61 64 64 69 6e 67 28 6d 65 73 73 61 67 65 2c 20 72 65 73 75 6c 74 2c 20 31 30 32 34 2f 38 29 3b adding(message,.result,.1024/8);
2ae0 00 09 2f 2f 20 63 6f 6e 73 74 72 75 63 74 20 74 68 65 20 70 61 64 64 69 6e 67 20 68 6f 77 20 74 ..//.construct.the.padding.how.t
2b00 68 65 20 65 78 70 65 63 74 20 69 74 20 61 6e 64 20 74 68 61 6e 20 63 6f 6d 70 61 72 65 00 00 09 he.expect.it.and.than.compare...
2b20 69 6e 74 20 69 3b 00 09 63 68 61 72 20 72 65 73 75 6c 74 5b 31 30 32 34 2f 38 5d 3b 00 7b 00 69 int.i;..char.result[1024/8];.{.i
2b40 6e 74 20 70 6b 63 73 31 5f 35 5f 70 61 64 64 69 6e 67 5f 76 65 72 69 66 79 28 63 68 61 72 20 2a nt.pkcs1_5_padding_verify(char.*
2b60 74 6f 5f 76 65 72 69 66 79 2c 20 69 6e 74 20 6c 65 6e 2c 20 63 68 61 72 20 2a 6d 65 73 73 61 67 to_verify,.int.len,.char.*messag
2b80 65 29 00 00 7d 00 09 09 72 65 73 75 6c 74 5b 74 61 72 67 65 74 5f 6c 65 6e 67 74 68 5f 62 79 74 e)..}...result[target_length_byt
2ba0 65 2d 69 5d 20 3d 20 73 68 61 31 5f 68 61 73 68 5b 32 30 2d 69 5d 3b 00 09 66 6f 72 28 69 20 3d e-i].=.sha1_hash[20-i];..for(i.=
2bc0 20 32 30 3b 69 3e 30 3b 69 2d 2d 29 00 00 09 53 48 41 31 5f 46 69 6e 61 6c 28 73 68 61 31 5f 68 .20;i>0;i--)...SHA1_Final(sha1_h
2be0 61 73 68 2c 20 26 73 68 61 31 29 3b 00 09 53 48 41 31 5f 55 70 64 61 74 65 28 26 73 68 61 31 2c ash,.&sha1);..SHA1_Update(&sha1,
2c00 20 6d 65 73 73 61 67 65 2c 20 73 74 72 6c 65 6e 28 6d 65 73 73 61 67 65 29 29 3b 00 09 53 48 41 .message,.strlen(message));..SHA
2c20 31 5f 49 6e 69 74 28 26 73 68 61 31 29 3b 00 00 09 2f 2f 20 54 4f 44 4f 20 41 53 4e 2e 31 20 74 1_Init(&sha1);...//.TODO.ASN.1.t
2c40 68 69 6e 67 73 00 00 09 72 65 73 75 6c 74 5b 74 61 72 67 65 74 5f 6c 65 6e 67 74 68 5f 62 79 74 hings...result[target_length_byt
2c60 65 2d 32 31 5d 20 3d 20 30 78 30 30 3b 09 00 09 72 65 73 75 6c 74 5b 31 5d 20 3d 20 30 78 30 32 e-21].=.0x00;...result[1].=.0x02
2c80 3b 00 09 72 65 73 75 6c 74 5b 30 5d 20 3d 20 30 78 30 30 3b 00 09 6d 65 6d 73 65 74 28 72 65 73 ;..result[0].=.0x00;..memset(res
2ca0 75 6c 74 2c 20 30 78 66 66 2c 20 74 61 72 67 65 74 5f 6c 65 6e 67 74 68 5f 62 79 74 65 29 3b 00 ult,.0xff,.target_length_byte);.
2cc0 00 09 69 6e 74 20 69 3b 00 09 63 68 61 72 20 73 68 61 31 5f 68 61 73 68 5b 32 30 5d 3b 00 09 53 ..int.i;..char.sha1_hash[20];..S
2ce0 48 41 5f 43 54 58 20 73 68 61 31 3b 00 7b 00 76 6f 69 64 20 70 6b 63 73 31 5f 35 5f 70 61 64 64 HA_CTX.sha1;.{.void.pkcs1_5_padd
2d00 69 6e 67 28 63 68 61 72 20 2a 6d 65 73 73 61 67 65 2c 20 63 68 61 72 20 2a 72 65 73 75 6c 74 2c ing(char.*message,.char.*result,
2d20 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 74 61 72 67 65 74 5f 6c 65 6e 67 74 68 5f 62 79 74 65 .unsigned.int.target_length_byte
2d40 29 00 20 20 2a 2a 2f 00 20 20 2a 20 63 6f 6e 73 74 72 75 63 74 20 61 20 56 41 4c 49 44 20 70 6b )...**/...*.construct.a.VALID.pk
2d60 63 73 5f 70 61 64 64 69 6e 67 00 2f 2a 2a 00 7d 00 09 72 65 74 75 72 6e 20 72 65 74 20 3d 3d 20 cs_padding./**.}..return.ret.==.
2d80 30 3b 00 00 09 42 4e 5f 66 72 65 65 28 72 65 73 29 3b 00 09 70 72 69 6e 74 66 28 22 5c 6e 22 29 0;...BN_free(res);..printf("\n")
2da0 3b 00 09 42 4e 5f 70 72 69 6e 74 28 6f 75 74 2c 20 72 65 73 29 3b 00 09 70 72 69 6e 74 66 28 22 ;..BN_print(out,.res);..printf("
2dc0 5c 6e 76 65 72 66 69 65 64 20 6d 65 73 73 20 72 65 74 3a 20 25 69 2c 20 6d 65 73 73 61 67 65 3a \nverfied.mess.ret:.%i,.message:
2de0 5c 6e 22 2c 20 72 65 74 29 3b 00 09 72 65 74 20 3d 20 42 4e 5f 63 6d 70 28 72 65 73 2c 20 6f 72 \n",.ret);..ret.=.BN_cmp(res,.or
2e00 67 5f 6d 65 73 73 61 67 65 29 3b 00 09 72 73 61 5f 64 65 63 72 79 70 74 5f 62 69 67 6e 75 6d 28 g_message);..rsa_decrypt_bignum(
2e20 73 69 67 6e 65 64 5f 6d 65 73 73 61 67 65 2c 20 72 65 73 2c 20 70 75 62 6c 69 63 29 3b 00 00 09 signed_message,.res,.public);...
2e40 69 6e 74 20 72 65 74 20 3d 20 2d 31 3b 00 09 42 49 47 4e 55 4d 20 2a 72 65 73 20 3d 20 42 4e 5f int.ret.=.-1;..BIGNUM.*res.=.BN_
2e60 6e 65 77 28 29 3b 00 7b 00 69 6e 74 20 72 73 61 5f 76 65 72 69 66 79 5f 62 69 67 6e 75 6d 28 42 new();.{.int.rsa_verify_bignum(B
2e80 49 47 4e 55 4d 20 2a 73 69 67 6e 65 64 5f 6d 65 73 73 61 67 65 2c 20 42 49 47 4e 55 4d 20 2a 6f IGNUM.*signed_message,.BIGNUM.*o
2ea0 72 67 5f 6d 65 73 73 61 67 65 2c 20 73 74 72 75 63 74 20 72 73 61 5f 6b 65 79 5f 62 69 67 6e 75 rg_message,.struct.rsa_key_bignu
2ec0 6d 20 2a 70 75 62 6c 69 63 29 00 00 7d 00 09 72 73 61 5f 65 6e 63 72 79 70 74 5f 62 69 67 6e 75 m.*public)..}..rsa_encrypt_bignu
2ee0 6d 28 6d 65 73 73 61 67 65 2c 20 73 69 67 6e 65 64 5f 6d 65 73 73 61 67 65 2c 20 70 72 69 76 61 m(message,.signed_message,.priva
2f00 74 65 29 3b 00 7b 00 69 6e 74 20 72 73 61 5f 73 69 67 6e 5f 62 69 67 6e 75 6d 28 42 49 47 4e 55 te);.{.int.rsa_sign_bignum(BIGNU
2f20 4d 20 2a 6d 65 73 73 61 67 65 2c 20 42 49 47 4e 55 4d 20 2a 73 69 67 6e 65 64 5f 6d 65 73 73 61 M.*message,.BIGNUM.*signed_messa
2f40 67 65 2c 20 73 74 72 75 63 74 20 72 73 61 5f 6b 65 79 5f 62 69 67 6e 75 6d 20 2a 70 72 69 76 61 ge,.struct.rsa_key_bignum.*priva
2f60 74 65 29 00 00 00 23 69 6e 63 6c 75 64 65 20 3c 6f 70 65 6e 73 73 6c 2f 73 68 61 2e 68 3e 00 23 te)...#include.<openssl/sha.h>.#
2f80 69 6e 63 6c 75 64 65 20 22 75 74 69 6c 2f 73 65 74 2e 68 22 00 23 69 6e 63 6c 75 64 65 20 22 6c include."util/set.h".#include."l
2fa0 69 62 2e 68 22 00 23 69 6e 63 6c 75 64 65 20 22 6c 69 62 32 2e 68 22 00 23 69 6e 63 6c 75 64 65 ib.h".#include."lib2.h".#include
2fc0 20 22 6c 69 62 33 2e 68 22 00 23 69 6e 63 6c 75 64 65 20 22 6c 69 62 34 2e 68 22 00 23 69 6e 63 ."lib3.h".#include."lib4.h".#inc
2fe0 6c 75 64 65 20 22 6c 69 62 35 2e 68 22 00 23 69 6e 63 6c 75 64 65 20 22 6c 69 62 36 2e 68 22 00 lude."lib5.h".#include."lib6.h".
3000 61 64 00 00 e2 0b 00 00 a2 0c 00 00 00 10 00 00 29 00 00 00 00 00 00 00 fe 0f 00 00 cc 0f 00 00 ad..............)...............
3020 91 0f 00 00 85 0f 00 00 82 0f 00 00 81 0f 00 00 76 0f 00 00 74 0f 00 00 73 0f 00 00 6f 0f 00 00 ................v...t...s...o...
3040 29 0f 00 00 d7 0e 00 00 b0 0e 00 00 5a 0e 00 00 56 0e 00 00 50 0e 00 00 4f 0e 00 00 f9 0d 00 00 )...........Z...V...P...O.......
3060 f7 0d 00 00 d3 0d 00 00 b0 0d 00 00 a3 0d 00 00 9c 0d 00 00 8f 0d 00 00 85 0d 00 00 61 0d 00 00 ............................a...
3080 54 0d 00 00 4d 0d 00 00 40 0d 00 00 3d 0d 00 00 3a 0d 00 00 38 0d 00 00 37 0d 00 00 13 0d 00 00 T...M...@...=...:...8...7.......
30a0 11 0d 00 00 fe 0c 00 00 e3 0c 00 00 ce 0c 00 00 b3 0c 00 00 a4 0c 00 00 a2 0c 00 00 a1 0c 00 00 ................................
30c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
34a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
34c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
34e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
35a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
35c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
35e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ca0 00 00 7d 00 09 70 72 69 6e 74 66 28 22 5c 6e 22 29 3b 00 09 42 4e 5f 70 72 69 6e 74 28 6f 75 74 ..}..printf("\n");..BN_print(out
3cc0 2c 20 65 31 2d 3e 75 70 70 65 72 29 3b 00 09 70 72 69 6e 74 66 28 22 5c 6e 75 70 70 65 72 3a 22 ,.e1->upper);..printf("\nupper:"
3ce0 29 3b 00 09 42 4e 5f 70 72 69 6e 74 28 6f 75 74 2c 20 65 31 2d 3e 6c 6f 77 65 72 29 3b 00 09 70 );..BN_print(out,.e1->lower);..p
3d00 72 69 6e 74 66 28 22 6c 6f 77 65 72 3a 22 29 3b 00 7b 00 76 6f 69 64 20 69 76 5f 70 72 69 6e 74 rintf("lower:");.{.void.iv_print
3d20 66 28 73 74 72 75 63 74 20 69 6e 74 65 72 76 61 6c 20 2a 65 31 29 00 00 7d 00 09 09 00 09 7d 00 f(struct.interval.*e1)..}.....}.
3d40 09 09 09 72 65 74 75 72 6e 20 33 3b 00 09 09 65 6c 73 65 00 09 09 09 72 65 74 75 72 6e 20 34 3b ...return.3;...else....return.4;
3d60 00 09 09 69 66 28 69 76 5f 6d 65 72 67 65 32 28 6d 69 64 64 6c 65 2c 20 72 69 67 74 68 29 20 3d ...if(iv_merge2(middle,.rigth).=
3d80 3d 20 31 29 00 09 7d 20 65 6c 73 65 20 7b 00 09 09 09 72 65 74 75 72 6e 20 32 3b 00 09 09 65 6c =.1)..}.else.{....return.2;...el
3da0 73 65 00 09 09 09 72 65 74 75 72 6e 20 31 3b 00 09 09 69 66 20 28 69 76 5f 6d 65 72 67 65 32 28 se....return.1;...if.(iv_merge2(
3dc0 6c 65 66 74 2c 20 72 69 67 74 68 29 20 3d 3d 20 31 29 00 09 69 66 28 69 76 5f 6d 65 72 67 65 32 left,.rigth).==.1)..if(iv_merge2
3de0 28 6c 65 66 74 2c 20 6d 69 64 64 6c 65 29 20 3d 3d 20 31 29 20 7b 00 7b 00 69 6e 74 20 69 76 5f (left,.middle).==.1).{.{.int.iv_
3e00 6d 65 72 67 65 33 28 73 74 72 75 63 74 20 69 6e 74 65 72 76 61 6c 20 2a 6c 65 66 74 2c 20 73 74 merge3(struct.interval.*left,.st
3e20 72 75 63 74 20 69 6e 74 65 72 76 61 6c 20 2a 6d 69 64 64 6c 65 2c 20 73 74 72 75 63 74 20 69 6e ruct.interval.*middle,.struct.in
3e40 74 65 72 76 61 6c 20 2a 72 69 67 74 68 29 00 00 20 20 2a 2a 2f 00 20 20 2a 00 20 20 2a 20 72 65 terval.*rigth)....**/...*...*.re
3e60 74 75 65 72 6e 20 34 20 69 66 20 74 68 65 20 6d 69 64 64 6c 65 20 61 6e 64 20 74 68 65 20 72 69 tuern.4.if.the.middle.and.the.ri
3e80 67 68 74 20 68 61 73 20 62 65 65 6e 20 6d 65 72 67 65 64 20 61 6e 64 20 6c 65 66 74 20 6e 6f 74 ght.has.been.merged.and.left.not
3ea0 2c 20 72 65 73 20 69 6e 20 6d 69 64 64 6c 65 00 20 20 2a 20 72 65 74 75 72 6e 73 20 33 20 69 66 ,.res.in.middle...*.returns.3.if
3ec0 20 6e 6f 6e 65 20 68 61 76 65 20 62 65 65 6e 20 6d 65 72 67 65 64 00 20 20 2a 20 72 65 74 75 72 .none.have.been.merged...*.retur
3ee0 6e 73 20 32 20 69 66 20 74 68 65 20 6c 65 66 74 20 2b 20 6d 69 64 64 6c 65 20 68 61 73 20 62 65 ns.2.if.the.left.+.middle.has.be
3f00 65 6e 20 6d 65 72 67 65 64 20 61 6e 64 20 74 68 65 20 72 69 67 68 74 20 6e 6f 74 2c 20 72 65 73 en.merged.and.the.right.not,.res
3f20 20 69 6e 20 6c 65 66 74 00 20 20 2a 20 72 65 74 75 72 6e 73 20 31 20 69 66 20 61 6c 6c 20 74 68 .in.left...*.returns.1.if.all.th
3f40 72 65 65 20 69 6e 74 65 72 76 61 6c 6c 73 20 68 61 76 65 20 6d 65 72 67 65 64 20 74 6f 20 6f 6e ree.intervalls.have.merged.to.on
3f60 65 2c 20 72 65 73 20 69 6e 20 6c 65 66 74 00 2f 2a 2a 00 00 7d 00 09 72 65 74 75 72 6e 20 32 3b e,.res.in.left./**..}..return.2;
3f80 00 00 09 7d 00 09 09 72 65 74 75 72 6e 20 31 3b 00 09 09 42 4e 5f 63 6f 70 79 28 6c 65 66 74 2d ...}...return.1;...BN_copy(left-
3fa0 3e 75 70 70 65 72 2c 20 42 4e 5f 6d 61 78 28 6c 65 66 74 2d 3e 75 70 70 65 72 2c 20 72 69 67 68 >upper,.BN_max(left->upper,.righ
3fc0 74 2d 3e 75 70 70 65 72 29 29 3b 00 09 69 66 28 21 28 42 4e 5f 63 6d 70 28 6c 65 66 74 2d 3e 75 t->upper));..if(!(BN_cmp(left->u
3fe0 70 70 65 72 2c 20 72 69 67 68 74 2d 3e 6c 6f 77 65 72 29 20 3d 3d 20 2d 31 29 29 20 7b 00 7b 00 pper,.right->lower).==.-1)).{.{.
4000 61 64 00 00 3a 00 00 00 6e 02 00 00 00 10 00 00 86 00 00 00 00 00 00 00 ec 0f 00 00 d8 0f 00 00 ad..:...n.......................
4020 c4 0f 00 00 ae 0f 00 00 9c 0f 00 00 88 0f 00 00 74 0f 00 00 60 0f 00 00 46 0f 00 00 45 0f 00 00 ................t...`...F...E...
4040 2c 0f 00 00 13 0f 00 00 f8 0e 00 00 e1 0e 00 00 e0 0e 00 00 a0 0e 00 00 89 0e 00 00 53 0e 00 00 ,...........................S...
4060 19 0e 00 00 e1 0d 00 00 ad 0d 00 00 9a 0d 00 00 82 0d 00 00 73 0d 00 00 71 0d 00 00 70 0d 00 00 ....................s...q...p...
4080 29 0d 00 00 f2 0c 00 00 f0 0c 00 00 c3 0c 00 00 a8 0c 00 00 a7 0c 00 00 8c 0c 00 00 75 0c 00 00 )...........................u...
40a0 57 0c 00 00 42 0c 00 00 41 0c 00 00 35 0c 00 00 1c 0c 00 00 db 0b 00 00 a2 0b 00 00 6d 0b 00 00 W...B...A...5...............m...
40c0 3b 0b 00 00 31 0b 00 00 2d 0b 00 00 18 0b 00 00 e3 0a 00 00 e0 0a 00 00 be 0a 00 00 a9 0a 00 00 ;...1...-.......................
40e0 a7 0a 00 00 a3 0a 00 00 73 0a 00 00 6d 0a 00 00 12 0a 00 00 dc 09 00 00 da 09 00 00 c1 09 00 00 ........s...m...................
4100 a2 09 00 00 87 09 00 00 6f 09 00 00 51 09 00 00 33 09 00 00 18 09 00 00 17 09 00 00 01 09 00 00 ........o...Q...3...............
4120 c5 08 00 00 a9 08 00 00 8d 08 00 00 8c 08 00 00 68 08 00 00 4d 08 00 00 2d 08 00 00 f9 07 00 00 ................h...M...-.......
4140 e6 07 00 00 d1 07 00 00 d0 07 00 00 b2 07 00 00 97 07 00 00 96 07 00 00 7a 07 00 00 44 07 00 00 ........................z...D...
4160 38 07 00 00 0f 07 00 00 ee 06 00 00 bb 06 00 00 9a 06 00 00 67 06 00 00 4d 06 00 00 32 06 00 00 8...................g...M...2...
4180 18 06 00 00 fd 05 00 00 d4 05 00 00 ae 05 00 00 7f 05 00 00 3f 05 00 00 07 05 00 00 e0 04 00 00 ....................?...........
41a0 af 04 00 00 9c 04 00 00 9b 04 00 00 7e 04 00 00 7a 04 00 00 77 04 00 00 74 04 00 00 73 04 00 00 ............~...z...w...t...s...
41c0 69 04 00 00 45 04 00 00 30 04 00 00 2e 04 00 00 2d 04 00 00 29 04 00 00 09 04 00 00 04 04 00 00 i...E...0.......-...)...........
41e0 d0 03 00 00 ce 03 00 00 ae 03 00 00 93 03 00 00 92 03 00 00 90 03 00 00 8f 03 00 00 68 03 00 00 ............................h...
4200 66 03 00 00 4d 03 00 00 40 03 00 00 3a 03 00 00 2d 03 00 00 2b 03 00 00 2a 03 00 00 26 03 00 00 f...M...@...:...-...+...*...&...
4220 e5 02 00 00 b1 02 00 00 ab 02 00 00 6e 02 00 00 6b 02 00 00 68 02 00 00 48 02 00 00 00 00 00 00 ............n...k...h...H.......
4240 00 00 69 6e 74 20 69 69 69 6e 74 20 69 76 5f 6d 65 72 67 65 32 28 73 74 72 75 63 74 20 69 6e 74 ..int.iiint.iv_merge2(struct.int
4260 65 72 76 61 6c 20 2a 6c 69 6e 74 69 6e 74 69 6e 74 20 69 76 5f 6d 65 72 67 65 32 28 73 74 72 75 erval.*lintintint.iv_merge2(stru
4280 63 74 20 69 6e 74 65 72 76 61 6c 20 2a 6c 65 66 74 2c 20 73 74 72 75 63 74 20 69 6e 74 65 72 76 ct.interval.*left,.struct.interv
42a0 61 6c 20 2a 72 69 67 68 74 29 00 20 20 2a 2a 2f 00 20 20 2a 20 32 20 69 66 20 69 6e 74 65 76 61 al.*right)...**/...*.2.if.inteva
42c0 6c 6c 73 20 6e 6f 74 20 6f 76 65 72 6c 61 70 70 69 6e 67 20 28 74 77 6f 20 69 6e 74 65 72 76 61 lls.not.overlapping.(two.interva
42e0 6c 6c 73 29 00 20 20 2a 20 72 65 74 75 72 6e 73 20 31 20 69 66 20 74 68 65 20 69 6e 74 65 72 76 lls)...*.returns.1.if.the.interv
4300 61 6c 6c 20 68 61 76 65 20 62 65 65 6e 20 6d 65 72 67 65 64 20 28 6f 6e 65 20 69 6e 74 65 72 76 all.have.been.merged.(one.interv
4320 61 6c 6c 29 2c 00 2f 2a 2a 00 00 7d 00 09 09 72 65 74 75 72 6e 20 65 32 3b 00 09 65 6c 73 65 00 all),./**..}...return.e2;..else.
4340 09 09 72 65 74 75 72 6e 20 65 31 3b 00 09 69 66 28 42 4e 5f 63 6d 70 28 65 31 2c 20 65 32 29 20 ..return.e1;..if(BN_cmp(e1,.e2).
4360 3d 3d 20 31 29 00 7b 00 42 49 47 4e 55 4d 20 2a 42 4e 5f 6d 61 78 28 42 49 47 4e 55 4d 20 2a 65 ==.1).{.BIGNUM.*BN_max(BIGNUM.*e
4380 31 2c 20 42 49 47 4e 55 4d 20 2a 65 32 29 00 00 7d 00 00 09 2f 2f 20 63 6f 6d 70 75 74 65 20 6d 1,.BIGNUM.*e2)..}...//.compute.m
43a0 5f 69 20 66 72 6f 6d 20 6d 5f 69 2d 31 00 09 73 74 72 75 63 74 20 6c 69 73 74 20 2a 69 6e 74 65 _i.from.m_i-1..struct.list.*inte
43c0 72 76 61 6c 6c 2c 20 2a 68 65 61 64 3b 00 7b 00 69 6e 74 20 62 6c 65 69 63 68 65 6e 62 61 63 68 rvall,.*head;.{.int.bleichenbach
43e0 65 72 5f 73 74 65 70 5f 33 28 42 49 47 4e 55 4d 20 2a 73 5f 69 2c 20 73 65 74 5f 74 20 2a 6d 5f er_step_3(BIGNUM.*s_i,.set_t.*m_
4400 69 31 29 00 20 2a 2a 2f 00 20 20 2a 20 4e 61 72 72 6f 77 69 6e 67 20 64 6f 77 6e 20 74 68 65 20 i1)..**/...*.Narrowing.down.the.
4420 73 6f 6c 75 74 69 6f 6e 00 2f 2a 2a 00 00 7d 00 09 42 4e 5f 70 72 69 6e 74 28 6f 75 74 2c 20 73 solution./**..}..BN_print(out,.s
4440 5f 69 29 3b 00 09 70 72 69 6e 74 66 28 22 66 6f 75 6e 64 20 73 5f 69 20 69 6e 20 73 74 65 70 20 _i);..printf("found.s_i.in.step.
4460 32 63 3a 5c 6e 22 29 3b 00 66 6f 75 6e 64 5f 73 69 3a 00 00 09 09 00 09 7d 00 09 09 7d 00 09 09 2c:\n");.found_si:......}...}...
4480 09 42 4e 5f 61 64 64 28 73 5f 69 2c 20 73 5f 69 2c 20 62 2d 3e 6f 6e 65 29 3b 00 00 09 09 09 09 .BN_add(s_i,.s_i,.b->one);......
44a0 67 6f 74 6f 20 66 6f 75 6e 64 5f 73 69 3b 00 09 09 09 69 66 28 72 73 61 5f 62 6c 65 69 63 68 65 goto.found_si;....if(rsa_bleiche
44c0 6e 62 61 63 68 65 72 5f 6f 72 63 61 6c 65 28 6e 65 77 5f 63 2c 20 70 72 69 76 61 74 65 29 29 00 nbacher_orcale(new_c,.private)).
44e0 09 09 09 2f 2f 20 74 72 79 20 69 66 20 77 65 20 67 65 74 20 76 61 6c 69 64 20 70 6b 63 73 20 70 ...//.try.if.we.get.valid.pkcs.p
4500 61 64 64 69 6e 67 00 09 09 09 42 4e 5f 6d 6f 64 5f 6d 75 6c 28 6e 65 77 5f 63 2c 20 74 6d 70 2c adding....BN_mod_mul(new_c,.tmp,
4520 20 62 2d 3e 63 5f 30 2c 20 70 75 62 6c 69 63 2d 3e 6d 6f 64 75 6c 6f 2c 20 63 74 78 29 3b 00 09 .b->c_0,.public->modulo,.ctx);..
4540 09 09 42 4e 5f 6d 6f 64 5f 65 78 70 28 74 6d 70 2c 20 73 5f 69 2c 20 70 75 62 6c 69 63 2d 3e 65 ..BN_mod_exp(tmp,.s_i,.public->e
4560 78 70 6f 6e 65 6e 74 2c 20 70 75 62 6c 69 63 2d 3e 6d 6f 64 75 6c 6f 2c 20 63 74 78 29 3b 00 09 xponent,.public->modulo,.ctx);..
4580 09 09 2f 2f 20 66 6f 72 20 61 6c 6c 20 73 5f 69 20 62 65 74 77 65 65 6e 20 5b 73 69 5f 6c 6f 77 ..//.for.all.s_i.between.[si_low
45a0 65 72 2c 20 73 69 5f 75 70 70 65 72 5d 00 09 09 77 68 69 6c 65 28 42 4e 5f 63 6d 70 28 73 5f 69 er,.si_upper]...while(BN_cmp(s_i
45c0 2c 20 73 69 5f 75 70 70 65 72 29 20 21 3d 20 31 29 20 7b 00 09 09 2f 2f 20 74 72 79 20 61 6c 6c ,.si_upper).!=.1).{...//.try.all
45e0 20 73 5f 69 20 69 6e 20 5b 73 69 5f 6c 6f 77 65 72 2c 20 73 69 5f 75 70 70 65 72 5d 00 09 09 42 .s_i.in.[si_lower,.si_upper]...B
4600 4e 5f 70 72 69 6e 74 28 6f 75 74 2c 20 73 69 5f 75 70 70 65 72 29 3b 00 09 09 70 72 69 6e 74 66 N_print(out,.si_upper);...printf
4620 28 22 5c 6e 73 69 5f 75 70 70 65 72 5c 6e 22 29 3b 00 09 09 42 4e 5f 70 72 69 6e 74 28 6f 75 74 ("\nsi_upper\n");...BN_print(out
4640 2c 20 73 69 5f 6c 6f 77 65 72 29 3b 00 09 09 70 72 69 6e 74 66 28 22 5c 6e 73 69 5f 6c 6f 77 65 ,.si_lower);...printf("\nsi_lowe
4660 72 5c 6e 22 29 3b 00 09 09 42 4e 5f 64 69 76 28 73 69 5f 75 70 70 65 72 2c 20 4e 55 4c 4c 2c 20 r\n");...BN_div(si_upper,.NULL,.
4680 73 69 5f 75 70 70 65 72 2c 20 6d 2d 3e 6c 6f 77 65 72 2c 20 63 74 78 29 3b 00 09 09 42 4e 5f 61 si_upper,.m->lower,.ctx);...BN_a
46a0 64 64 28 73 69 5f 75 70 70 65 72 2c 20 62 2d 3e 5f 33 42 2c 20 74 6d 70 29 3b 00 09 09 42 4e 5f dd(si_upper,.b->_3B,.tmp);...BN_
46c0 64 69 76 28 73 69 5f 6c 6f 77 65 72 2c 20 4e 55 4c 4c 2c 20 73 69 5f 6c 6f 77 65 72 2c 20 6d 2d div(si_lower,.NULL,.si_lower,.m-
46e0 3e 75 70 70 65 72 2c 20 63 74 78 29 3b 00 09 09 42 4e 5f 61 64 64 28 73 69 5f 6c 6f 77 65 72 2c >upper,.ctx);...BN_add(si_lower,
4700 20 62 2d 3e 5f 32 42 2c 20 74 6d 70 29 3b 00 09 09 42 4e 5f 6d 75 6c 28 74 6d 70 2c 20 72 5f 69 .b->_2B,.tmp);...BN_mul(tmp,.r_i
4720 2c 20 70 75 62 6c 69 63 2d 3e 6d 6f 64 75 6c 6f 2c 20 63 74 78 29 3b 00 09 77 68 69 6c 65 28 31 ,.public->modulo,.ctx);..while(1
4740 29 20 7b 00 09 2f 2f 20 63 6f 6d 70 75 74 65 20 73 5f 69 20 69 6e 74 65 72 76 61 6c 6c 2c 20 69 ).{..//.compute.s_i.intervall,.i
4760 6e 63 72 65 6d 65 6e 74 20 72 5f 69 20 69 6e 20 74 68 69 73 20 6c 6f 6f 70 00 09 70 72 69 6e 74 ncrement.r_i.in.this.loop..print
4780 66 28 22 5c 6e 6f 75 74 20 6f 75 74 20 6f 75 74 5c 6e 22 29 3b 00 00 09 42 4e 5f 70 72 69 6e 74 f("\nout.out.out\n");...BN_print
47a0 28 6f 75 74 2c 20 72 5f 69 5f 73 74 61 72 74 29 3b 00 09 70 72 69 6e 74 66 28 22 5c 6e 72 5f 69 (out,.r_i_start);..printf("\nr_i
47c0 20 73 74 61 72 74 20 69 73 3a 5c 6e 22 29 3b 00 00 09 42 4e 5f 70 72 69 6e 74 28 6f 75 74 2c 20 .start.is:\n");...BN_print(out,.
47e0 74 6d 70 29 3b 00 09 70 72 69 6e 74 66 28 22 74 6d 70 3a 5c 6e 22 29 3b 00 09 42 4e 5f 64 69 76 tmp);..printf("tmp:\n");..BN_div
4800 28 72 5f 69 5f 73 74 61 72 74 2c 20 4e 55 4c 4c 2c 20 74 6d 70 2c 20 70 75 62 6c 69 63 2d 3e 6d (r_i_start,.NULL,.tmp,.public->m
4820 6f 64 75 6c 6f 2c 20 63 74 78 29 3b 00 09 42 4e 5f 6d 75 6c 28 74 6d 70 2c 20 74 6d 70 2c 20 62 odulo,.ctx);..BN_mul(tmp,.tmp,.b
4840 2d 3e 74 77 6f 2c 20 63 74 78 29 3b 00 09 42 4e 5f 73 75 62 28 74 6d 70 2c 20 74 6d 70 2c 20 62 ->two,.ctx);..BN_sub(tmp,.tmp,.b
4860 2d 3e 5f 32 42 29 3b 00 09 42 4e 5f 6d 75 6c 28 74 6d 70 2c 20 73 5f 69 5f 31 2c 20 6d 2d 3e 75 ->_2B);..BN_mul(tmp,.s_i_1,.m->u
4880 70 70 65 72 2c 20 63 74 78 29 3b 00 00 09 42 4e 5f 63 6f 70 79 28 6d 2d 3e 75 70 70 65 72 2c 20 pper,.ctx);...BN_copy(m->upper,.
48a0 62 2d 3e 5f 33 42 29 3b 00 09 42 4e 5f 63 6f 70 79 28 6d 2d 3e 6c 6f 77 65 72 2c 20 62 2d 3e 5f b->_3B);..BN_copy(m->lower,.b->_
48c0 32 42 29 3b 00 09 2f 2f 20 54 4f 44 4f 20 73 65 74 20 69 74 20 68 65 72 65 20 74 6f 20 6c 6f 6f 2B);..//.TODO.set.it.here.to.loo
48e0 6b 20 69 66 20 69 74 20 77 6f 72 6b 73 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20 73 74 65 70 k.if.it.works.for.the.first.step
4900 00 09 42 4e 5f 63 6f 70 79 28 73 5f 69 5f 31 2c 20 73 5f 69 29 3b 00 00 09 42 49 47 4e 55 4d 20 ..BN_copy(s_i_1,.s_i);...BIGNUM.
4920 2a 6e 65 77 5f 63 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 09 42 49 47 4e 55 4d 20 2a 73 69 5f 6c *new_c.=.BN_new();..BIGNUM.*si_l
4940 6f 77 65 72 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 09 42 49 47 4e 55 4d 20 2a 73 69 5f 75 70 70 ower.=.BN_new();..BIGNUM.*si_upp
4960 65 72 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 09 42 49 47 4e 55 4d 20 2a 74 6d 70 3d 20 42 4e 5f er.=.BN_new();..BIGNUM.*tmp=.BN_
4980 6e 65 77 28 29 3b 00 09 42 49 47 4e 55 4d 20 2a 73 5f 69 5f 31 20 3d 20 42 4e 5f 6e 65 77 28 29 new();..BIGNUM.*s_i_1.=.BN_new()
49a0 3b 00 09 42 49 47 4e 55 4d 20 2a 72 5f 69 5f 73 74 61 72 74 20 3d 20 42 4e 5f 6e 65 77 28 29 3b ;..BIGNUM.*r_i_start.=.BN_new();
49c0 00 09 42 49 47 4e 55 4d 20 2a 72 5f 69 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 7b 00 09 73 74 72 ..BIGNUM.*r_i.=.BN_new();.{..str
49e0 75 63 74 20 72 73 61 5f 6b 65 79 5f 62 69 67 6e 75 6d 20 2a 70 72 69 76 61 74 65 2c 20 73 74 72 uct.rsa_key_bignum.*private,.str
4a00 75 63 74 20 62 62 5f 61 74 74 61 63 6b 20 2a 62 29 00 69 6e 74 20 62 6c 65 69 63 68 65 6e 62 61 uct.bb_attack.*b).int.bleichenba
4a20 63 68 65 72 5f 73 74 65 70 5f 32 63 28 73 74 72 75 63 74 20 69 6e 74 65 72 76 61 6c 20 2a 6d 2c cher_step_2c(struct.interval.*m,
4a40 20 42 49 47 4e 55 4d 20 2a 73 5f 69 2c 20 73 74 72 75 63 74 20 72 73 61 5f 6b 65 79 5f 62 69 67 .BIGNUM.*s_i,.struct.rsa_key_big
4a60 6e 75 6d 20 2a 70 75 62 6c 69 63 2c 00 20 20 2a 2a 2f 00 20 20 2a 20 77 68 65 6e 20 6d 65 74 68 num.*public,...**/...*.when.meth
4a80 6f 64 73 20 67 65 74 20 63 61 6c 6c 65 64 2c 20 73 5f 69 20 63 6f 6e 74 61 69 6e 73 20 73 5f 69 ods.get.called,.s_i.contains.s_i
4aa0 2d 31 00 2f 2a 2a 00 7d 00 09 42 4e 5f 70 72 69 6e 74 28 6f 75 74 2c 20 73 5f 69 29 3b 00 09 70 -1./**.}..BN_print(out,.s_i);..p
4ac0 72 69 6e 74 66 28 22 5c 6e 73 5f 69 20 66 72 6f 6d 20 73 74 65 70 20 32 61 3a 5c 6e 22 29 3b 00 rintf("\ns_i.from.step.2a:\n");.
4ae0 09 7d 00 09 09 42 4e 5f 6d 6f 64 5f 61 64 64 28 73 5f 69 2c 20 73 5f 69 2c 20 62 2d 3e 6f 6e 65 .}...BN_mod_add(s_i,.s_i,.b->one
4b00 2c 20 70 75 62 6c 69 63 2d 3e 6d 6f 64 75 6c 6f 2c 20 63 74 78 29 3b 00 09 09 2f 2f 20 74 72 79 ,.public->modulo,.ctx);...//.try
4b20 20 6e 65 78 74 20 6e 75 6d 62 65 72 00 09 09 7d 00 09 09 09 62 72 65 61 6b 3b 00 09 09 69 66 28 .next.number...}....break;...if(
4b40 72 73 61 5f 62 6c 65 69 63 68 65 6e 62 61 63 68 65 72 5f 6f 72 63 61 6c 65 28 6e 65 77 5f 63 2c rsa_bleichenbacher_orcale(new_c,
4b60 20 70 72 69 76 61 74 65 29 29 20 7b 00 09 09 2f 2f 20 61 73 6b 69 6e 67 20 6f 72 63 61 6c 65 20 .private)).{...//.asking.orcale.
4b80 69 66 20 74 68 69 73 20 63 69 70 68 65 72 74 65 78 74 20 68 61 73 20 76 61 6c 69 64 20 70 6b 63 if.this.ciphertext.has.valid.pkc
4ba0 73 00 09 09 42 4e 5f 6d 6f 64 5f 6d 75 6c 28 6e 65 77 5f 63 2c 20 6e 65 77 5f 63 2c 20 62 2d 3e s...BN_mod_mul(new_c,.new_c,.b->
4bc0 63 5f 30 2c 20 70 75 62 6c 69 63 2d 3e 6d 6f 64 75 6c 6f 2c 20 63 74 78 29 3b 00 09 09 42 4e 5f c_0,.public->modulo,.ctx);...BN_
4be0 6d 6f 64 5f 65 78 70 28 6e 65 77 5f 63 2c 20 73 5f 69 2c 20 70 75 62 6c 69 63 2d 3e 65 78 70 6f mod_exp(new_c,.s_i,.public->expo
4c00 6e 65 6e 74 2c 20 70 75 62 6c 69 63 2d 3e 6d 6f 64 75 6c 6f 2c 20 63 74 78 29 3b 00 09 09 2f 2f nent,.public->modulo,.ctx);...//
4c20 20 63 5f 30 20 2a 20 73 5e 65 20 3d 20 6d 5f 30 20 2a 20 73 00 09 77 68 69 6c 65 28 31 29 20 7b .c_0.*.s^e.=.m_0.*.s..while(1).{
4c40 00 00 09 42 4e 5f 70 72 69 6e 74 28 6f 75 74 2c 20 73 5f 69 29 3b 00 09 70 72 69 6e 74 66 28 22 ...BN_print(out,.s_i);..printf("
4c60 73 74 61 72 74 20 77 69 74 68 20 73 5f 69 3a 5c 6e 22 29 3b 00 09 42 4e 5f 63 6f 70 79 28 73 5f start.with.s_i:\n");..BN_copy(s_
4c80 69 2c 20 62 2d 3e 5f 32 61 29 3b 00 09 2f 2f 20 73 74 61 72 74 20 66 72 6f 6d 20 32 61 20 3d 20 i,.b->_2a);..//.start.from.2a.=.
4ca0 63 5f 30 2f 33 42 00 00 09 42 49 47 4e 55 4d 20 2a 6e 65 77 5f 63 20 3d 20 42 4e 5f 6e 65 77 28 c_0/3B...BIGNUM.*new_c.=.BN_new(
4cc0 29 3b 00 09 70 72 69 6e 74 66 28 22 62 6c 65 69 63 68 65 6e 62 61 63 68 65 72 20 61 74 74 61 63 );..printf("bleichenbacher.attac
4ce0 6b 3a 20 73 74 65 70 20 32 61 5c 6e 22 29 3b 00 7b 00 09 09 73 74 72 75 63 74 20 72 73 61 5f 6b k:.step.2a\n");.{...struct.rsa_k
4d00 65 79 5f 62 69 67 6e 75 6d 20 2a 70 72 69 76 61 74 65 2c 20 73 74 72 75 63 74 20 62 62 5f 61 74 ey_bignum.*private,.struct.bb_at
4d20 74 61 63 6b 20 2a 62 29 00 69 6e 74 20 62 6c 65 69 63 68 65 6e 62 61 63 68 65 72 5f 73 74 65 70 tack.*b).int.bleichenbacher_step
4d40 5f 32 61 28 42 49 47 4e 55 4d 20 2a 73 5f 69 2c 20 73 74 72 75 63 74 20 72 73 61 5f 6b 65 79 5f _2a(BIGNUM.*s_i,.struct.rsa_key_
4d60 62 69 67 6e 75 6d 20 2a 70 75 62 6c 69 63 2c 00 00 7d 00 09 70 72 69 6e 74 66 28 22 5c 6e 22 29 bignum.*public,..}..printf("\n")
4d80 3b 00 09 42 4e 5f 70 72 69 6e 74 28 6f 75 74 2c 20 62 2d 3e 5f 32 61 29 3b 00 09 70 72 69 6e 74 ;..BN_print(out,.b->_2a);..print
4da0 66 28 22 5c 6e 32 61 5c 6e 22 29 3b 00 09 42 4e 5f 64 69 76 28 62 2d 3e 5f 32 61 2c 20 4e 55 4c f("\n2a\n");..BN_div(b->_2a,.NUL
4dc0 4c 2c 20 70 75 62 6c 69 63 2d 3e 6d 6f 64 75 6c 6f 2c 20 62 2d 3e 5f 33 42 2c 20 63 74 78 29 3b L,.public->modulo,.b->_3B,.ctx);
4de0 00 09 42 4e 5f 6d 6f 64 5f 6d 75 6c 28 62 2d 3e 5f 32 42 2c 20 62 2d 3e 42 2c 20 62 2d 3e 74 77 ..BN_mod_mul(b->_2B,.b->B,.b->tw
4e00 6f 2c 20 70 75 62 6c 69 63 2d 3e 6d 6f 64 75 6c 6f 2c 20 63 74 78 29 3b 00 09 42 4e 5f 6d 6f 64 o,.public->modulo,.ctx);..BN_mod
4e20 5f 6d 75 6c 28 62 2d 3e 5f 33 42 2c 20 62 2d 3e 42 2c 20 62 2d 3e 74 68 72 65 65 2c 20 70 75 62 _mul(b->_3B,.b->B,.b->three,.pub
4e40 6c 69 63 2d 3e 6d 6f 64 75 6c 6f 2c 20 63 74 78 29 3b 00 09 42 4e 5f 6d 6f 64 5f 65 78 70 28 62 lic->modulo,.ctx);..BN_mod_exp(b
4e60 2d 3e 42 2c 20 62 2d 3e 74 77 6f 2c 20 74 6d 70 32 2c 20 70 75 62 6c 69 63 2d 3e 6d 6f 64 75 6c ->B,.b->two,.tmp2,.public->modul
4e80 6f 2c 20 63 74 78 29 3b 00 09 42 4e 5f 73 65 74 5f 77 6f 72 64 28 74 6d 70 32 2c 20 6b 29 3b 00 o,.ctx);..BN_set_word(tmp2,.k);.
4ea0 09 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6b 20 3d 20 28 42 4e 5f 6e 75 6d 5f .unsigned.long.long.k.=.(BN_num_
4ec0 62 79 74 65 73 28 70 75 62 6c 69 63 2d 3e 6d 6f 64 75 6c 6f 29 20 2d 20 32 29 20 2a 20 38 3b 00 bytes(public->modulo).-.2).*.8;.
4ee0 00 09 42 4e 5f 63 6f 70 79 28 62 2d 3e 63 5f 30 2c 20 63 5f 30 29 3b 00 09 42 4e 5f 73 65 74 5f ..BN_copy(b->c_0,.c_0);..BN_set_
4f00 77 6f 72 64 28 62 2d 3e 74 68 72 65 65 2c 20 33 29 3b 00 09 42 4e 5f 73 65 74 5f 77 6f 72 64 28 word(b->three,.3);..BN_set_word(
4f20 62 2d 3e 74 77 6f 2c 20 32 29 3b 00 09 42 4e 5f 73 65 74 5f 77 6f 72 64 28 62 2d 3e 6f 6e 65 2c b->two,.2);..BN_set_word(b->one,
4f40 20 31 29 3b 00 00 09 42 49 47 4e 55 4d 20 2a 74 6d 70 32 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 .1);...BIGNUM.*tmp2.=.BN_new();.
4f60 09 62 2d 3e 63 5f 30 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 09 62 2d 3e 5f 33 42 20 3d 20 42 4e .b->c_0.=.BN_new();..b->_3B.=.BN
4f80 5f 6e 65 77 28 29 3b 00 09 62 2d 3e 5f 32 42 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 09 62 2d 3e _new();..b->_2B.=.BN_new();..b->
4fa0 42 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 09 62 2d 3e 74 68 72 65 65 20 3d 20 42 4e 5f 6e 65 77 B.=.BN_new();..b->three.=.BN_new
4fc0 28 29 3b 00 09 62 2d 3e 74 77 6f 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 09 62 2d 3e 6f 6e 65 20 ();..b->two.=.BN_new();..b->one.
4fe0 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 09 62 2d 3e 5f 32 61 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 =.BN_new();..b->_2a.=.BN_new();.
5000 61 64 00 00 0e 00 00 00 32 02 00 00 00 10 00 00 82 00 00 00 00 00 00 00 a7 0f 00 00 8d 0f 00 00 ad......2.......................
5020 8b 0f 00 00 6e 0f 00 00 55 0f 00 00 38 0f 00 00 1f 0f 00 00 10 0f 00 00 fb 0e 00 00 fa 0e 00 00 ....n...U...8...................
5040 e7 0e 00 00 be 0e 00 00 9f 0e 00 00 7b 0e 00 00 62 0e 00 00 49 0e 00 00 48 0e 00 00 05 0e 00 00 ............{...b...I...H.......
5060 ef 0d 00 00 c0 0d 00 00 9c 0d 00 00 98 0d 00 00 57 0d 00 00 1c 0d 00 00 1b 0d 00 00 d1 0c 00 00 ................W...............
5080 9d 0c 00 00 70 0c 00 00 36 0c 00 00 31 0c 00 00 2f 0c 00 00 2e 0c 00 00 2d 0c 00 00 d9 0b 00 00 ....p...6...1.../.......-.......
50a0 d0 0b 00 00 ce 0b 00 00 bf 0b 00 00 aa 0b 00 00 93 0b 00 00 7b 0b 00 00 63 0b 00 00 49 0b 00 00 ....................{...c...I...
50c0 2f 0b 00 00 18 0b 00 00 fb 0a 00 00 fa 0a 00 00 d0 0a 00 00 cf 0a 00 00 bc 0a 00 00 93 0a 00 00 /...............................
50e0 74 0a 00 00 50 0a 00 00 4e 0a 00 00 24 0a 00 00 fa 09 00 00 f9 09 00 00 cd 09 00 00 9b 09 00 00 t...P...N...$...................
5100 9a 09 00 00 71 09 00 00 55 09 00 00 54 09 00 00 38 09 00 00 36 09 00 00 35 09 00 00 eb 08 00 00 ....q...U...T...8...6...5.......
5120 b5 08 00 00 b3 08 00 00 9a 08 00 00 6e 08 00 00 39 08 00 00 f6 07 00 00 b9 07 00 00 b7 07 00 00 ............n...9...............
5140 b6 07 00 00 67 07 00 00 2e 07 00 00 00 07 00 00 fe 06 00 00 fd 06 00 00 e2 06 00 00 e1 06 00 00 ....g...........................
5160 a8 06 00 00 83 06 00 00 5f 06 00 00 38 06 00 00 1a 06 00 00 07 06 00 00 05 06 00 00 04 06 00 00 ........_...8...................
5180 a9 05 00 00 8d 05 00 00 8b 05 00 00 72 05 00 00 71 05 00 00 39 05 00 00 15 05 00 00 14 05 00 00 ............r...q...9...........
51a0 e6 04 00 00 b5 04 00 00 b3 04 00 00 b1 04 00 00 b0 04 00 00 69 04 00 00 67 04 00 00 48 04 00 00 ....................i...g...H...
51c0 29 04 00 00 f7 03 00 00 d9 03 00 00 d7 03 00 00 d6 03 00 00 87 03 00 00 85 03 00 00 77 03 00 00 )...........................w...
51e0 58 03 00 00 26 03 00 00 fa 02 00 00 e0 02 00 00 df 02 00 00 cd 02 00 00 c2 02 00 00 c1 02 00 00 X...&...........................
5200 b7 02 00 00 a2 02 00 00 95 02 00 00 93 02 00 00 92 02 00 00 4b 02 00 00 34 02 00 00 32 02 00 00 ....................K...4...2...
5220 31 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7b 00 09 09 73 74 72 75 63 74 20 62 62 5f 1.................{...struct.bb_
5240 61 74 74 61 63 6b 20 2a 62 29 00 69 6e 74 20 62 6c 65 69 63 68 65 6e 62 61 63 68 65 72 5f 70 72 attack.*b).int.bleichenbacher_pr
5260 65 70 61 72 65 28 42 49 47 4e 55 4d 20 2a 63 5f 30 2c 20 73 74 72 75 63 74 20 72 73 61 5f 6b 65 epare(BIGNUM.*c_0,.struct.rsa_ke
5280 79 5f 62 69 67 6e 75 6d 20 2a 70 75 62 6c 69 63 2c 00 00 7d 00 09 72 65 74 75 72 6e 20 72 65 74 y_bignum.*public,..}..return.ret
52a0 3b 00 09 42 4e 5f 66 72 65 65 28 70 6c 61 69 6e 74 65 78 74 29 3b 00 09 66 72 65 65 28 70 29 3b ;..BN_free(plaintext);..free(p);
52c0 00 00 09 09 72 65 74 20 3d 20 31 3b 00 09 69 66 28 70 5b 30 5d 20 3d 3d 20 30 78 30 32 29 00 00 ....ret.=.1;..if(p[0].==.0x02)..
52e0 09 42 4e 5f 62 6e 32 62 69 6e 28 70 6c 61 69 6e 74 65 78 74 2c 20 70 29 3b 00 09 63 68 61 72 20 .BN_bn2bin(plaintext,.p);..char.
5300 2a 70 20 3d 20 6d 61 6c 6c 6f 63 28 42 4e 5f 6e 75 6d 5f 62 79 74 65 73 28 70 6c 61 69 6e 74 65 *p.=.malloc(BN_num_bytes(plainte
5320 78 74 29 29 3b 00 09 72 73 61 5f 64 65 63 72 79 70 74 5f 62 69 67 6e 75 6d 28 63 69 70 68 65 72 xt));..rsa_decrypt_bignum(cipher
5340 74 65 78 74 2c 20 70 6c 61 69 6e 74 65 78 74 2c 20 70 72 69 76 29 3b 00 09 42 49 47 4e 55 4d 20 text,.plaintext,.priv);..BIGNUM.
5360 2a 70 6c 61 69 6e 74 65 78 74 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 09 69 6e 74 20 72 65 74 20 *plaintext.=.BN_new();..int.ret.
5380 3d 20 30 3b 00 7b 00 69 6e 74 20 72 73 61 5f 62 6c 65 69 63 68 65 6e 62 61 63 68 65 72 5f 6f 72 =.0;.{.int.rsa_bleichenbacher_or
53a0 63 61 6c 65 28 42 49 47 4e 55 4d 20 2a 63 69 70 68 65 72 74 65 78 74 2c 20 73 74 72 75 63 74 20 cale(BIGNUM.*ciphertext,.struct.
53c0 72 73 61 5f 6b 65 79 5f 62 69 67 6e 75 6d 20 2a 70 72 69 76 29 00 00 7d 00 09 72 65 74 75 72 6e rsa_key_bignum.*priv)..}..return
53e0 20 42 4e 5f 69 73 5f 6f 64 64 28 64 65 63 72 79 70 74 65 64 29 3b 00 09 72 73 61 5f 64 65 63 72 .BN_is_odd(decrypted);..rsa_decr
5400 79 70 74 5f 62 69 67 6e 75 6d 28 6d 65 73 73 61 67 65 2c 20 64 65 63 72 79 70 74 65 64 2c 20 70 ypt_bignum(message,.decrypted,.p
5420 72 69 76 61 74 65 29 3b 00 09 2f 2f 20 64 65 63 72 79 70 74 20 61 6e 64 20 63 68 65 63 6b 20 6c rivate);..//.decrypt.and.check.l
5440 61 73 74 20 62 69 74 00 09 42 49 47 4e 55 4d 20 2a 64 65 63 72 79 70 74 65 64 20 3d 20 42 4e 5f ast.bit..BIGNUM.*decrypted.=.BN_
5460 6e 65 77 28 29 3b 00 7b 00 69 6e 74 20 72 73 61 5f 70 61 72 69 74 79 5f 6f 72 63 61 6c 65 28 42 new();.{.int.rsa_parity_orcale(B
5480 49 47 4e 55 4d 20 2a 6d 65 73 73 61 67 65 2c 20 73 74 72 75 63 74 20 72 73 61 5f 6b 65 79 5f 62 IGNUM.*message,.struct.rsa_key_b
54a0 69 67 6e 75 6d 20 2a 70 72 69 76 61 74 65 29 00 00 7d 00 09 00 09 42 4e 5f 6d 6f 64 5f 6d 75 6c ignum.*private)..}....BN_mod_mul
54c0 28 70 72 69 76 2d 3e 73 2c 20 70 72 69 76 2d 3e 72 2c 20 74 6d 70 2c 20 70 75 62 2d 3e 71 2c 20 (priv->s,.priv->r,.tmp,.pub->q,.
54e0 63 74 78 29 3b 00 09 42 4e 5f 6d 6f 64 5f 69 6e 76 65 72 73 65 28 74 6d 70 2c 20 6d 65 73 73 5f ctx);..BN_mod_inverse(tmp,.mess_
5500 68 61 73 68 2c 20 70 75 62 2d 3e 71 2c 20 63 74 78 29 3b 00 00 09 42 4e 5f 6d 6f 64 28 70 72 69 hash,.pub->q,.ctx);...BN_mod(pri
5520 76 2d 3e 72 2c 20 74 6d 70 2c 20 70 75 62 2d 3e 71 2c 20 63 74 78 29 3b 00 09 42 4e 5f 6d 6f 64 v->r,.tmp,.pub->q,.ctx);..BN_mod
5540 5f 65 78 70 28 74 6d 70 2c 20 70 72 69 76 2d 3e 70 75 62 6c 69 63 2c 20 6d 65 73 73 5f 68 61 73 _exp(tmp,.priv->public,.mess_has
5560 68 2c 20 70 75 62 2d 3e 70 2c 20 63 74 78 29 3b 00 00 09 42 49 47 4e 55 4d 20 2a 74 6d 70 20 3d h,.pub->p,.ctx);...BIGNUM.*tmp.=
5580 20 42 4e 5f 6e 65 77 28 29 3b 00 7b 00 09 09 2a 70 72 69 76 2c 20 42 49 47 4e 55 4d 20 2a 6d 65 .BN_new();.{...*priv,.BIGNUM.*me
55a0 73 73 5f 68 61 73 68 29 00 76 6f 69 64 20 64 73 61 5f 67 65 6e 65 72 61 74 65 5f 6d 61 67 69 63 ss_hash).void.dsa_generate_magic
55c0 5f 73 69 67 6e 61 74 75 72 65 28 73 74 72 75 63 74 20 64 73 61 5f 70 75 62 6c 69 63 5f 70 61 72 _signature(struct.dsa_public_par
55e0 61 6d 73 20 2a 70 75 62 2c 20 73 74 72 75 63 74 20 64 73 61 5f 70 65 72 5f 75 73 65 72 5f 70 61 ams.*pub,.struct.dsa_per_user_pa
5600 72 61 6d 00 00 7d 00 09 42 4e 5f 70 72 69 6e 74 28 6f 75 74 2c 20 6b 29 3b 00 09 70 72 69 6e 74 ram..}..BN_print(out,.k);..print
5620 66 28 22 72 65 63 6f 76 65 72 64 20 6b 20 69 73 3a 20 5c 6e 22 29 3b 00 09 42 4e 5f 6d 6f 64 5f f("recoverd.k.is:.\n");..BN_mod_
5640 6d 75 6c 28 6b 2c 20 6b 2c 20 64 69 66 66 31 2c 20 70 75 62 2d 3e 71 2c 20 63 74 78 29 3b 00 09 mul(k,.k,.diff1,.pub->q,.ctx);..
5660 42 4e 5f 6d 6f 64 5f 69 6e 76 65 72 73 65 28 6b 2c 20 6b 2c 20 70 75 62 2d 3e 71 2c 20 63 74 78 BN_mod_inverse(k,.k,.pub->q,.ctx
5680 29 3b 00 09 42 4e 5f 6d 6f 64 5f 73 75 62 28 6b 2c 20 73 31 2c 20 73 32 2c 20 70 75 62 2d 3e 71 );..BN_mod_sub(k,.s1,.s2,.pub->q
56a0 2c 20 63 74 78 29 3b 00 09 42 4e 5f 6d 6f 64 5f 73 75 62 28 64 69 66 66 31 2c 20 6d 65 73 73 31 ,.ctx);..BN_mod_sub(diff1,.mess1
56c0 5f 68 61 73 68 2c 20 6d 65 73 73 32 5f 68 61 73 68 2c 20 70 75 62 2d 3e 71 2c 20 63 74 78 29 3b _hash,.mess2_hash,.pub->q,.ctx);
56e0 00 00 09 42 49 47 4e 55 4d 20 2a 64 69 66 66 31 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 00 7b 00 ...BIGNUM.*diff1.=.BN_new();..{.
5700 09 09 73 74 72 75 63 74 20 64 73 61 5f 70 65 72 5f 75 73 65 72 5f 70 61 72 61 6d 20 2a 70 72 69 ..struct.dsa_per_user_param.*pri
5720 76 2c 20 42 49 47 4e 55 4d 20 2a 6b 29 00 09 09 42 49 47 4e 55 4d 20 2a 73 31 2c 20 42 49 47 4e v,.BIGNUM.*k)...BIGNUM.*s1,.BIGN
5740 55 4d 20 2a 73 32 2c 20 73 74 72 75 63 74 20 64 73 61 5f 70 75 62 6c 69 63 5f 70 61 72 61 6d 73 UM.*s2,.struct.dsa_public_params
5760 20 2a 70 75 62 2c 00 76 6f 69 64 20 64 73 61 5f 72 65 63 6f 76 65 72 5f 6b 5f 66 72 6f 6d 5f 72 .*pub,.void.dsa_recover_k_from_r
5780 65 70 65 61 74 65 64 5f 6e 6f 6e 63 65 28 42 49 47 4e 55 4d 20 2a 6d 65 73 73 31 5f 68 61 73 68 epeated_nonce(BIGNUM.*mess1_hash
57a0 2c 20 42 49 47 4e 55 4d 20 2a 6d 65 73 73 32 5f 68 61 73 68 2c 00 00 7d 00 09 42 4e 5f 6d 6f 64 ,.BIGNUM.*mess2_hash,..}..BN_mod
57c0 5f 6d 75 6c 28 70 72 69 76 2d 3e 70 72 69 76 61 74 65 2c 20 70 72 69 76 2d 3e 70 72 69 76 61 74 _mul(priv->private,.priv->privat
57e0 65 2c 20 72 5f 31 2c 20 70 75 62 2d 3e 71 2c 20 63 74 78 29 3b 00 09 42 4e 5f 6d 6f 64 5f 73 75 e,.r_1,.pub->q,.ctx);..BN_mod_su
5800 62 28 70 72 69 76 2d 3e 70 72 69 76 61 74 65 2c 20 70 72 69 76 2d 3e 70 72 69 76 61 74 65 2c 20 b(priv->private,.priv->private,.
5820 6d 65 73 73 5f 68 61 73 68 2c 20 70 75 62 2d 3e 71 2c 20 63 74 78 29 3b 00 09 42 4e 5f 6d 6f 64 mess_hash,.pub->q,.ctx);..BN_mod
5840 5f 6d 75 6c 28 70 72 69 76 2d 3e 70 72 69 76 61 74 65 2c 20 6b 2c 20 70 72 69 76 2d 3e 73 2c 20 _mul(priv->private,.k,.priv->s,.
5860 70 75 62 2d 3e 71 2c 20 63 74 78 29 3b 00 09 42 4e 5f 6d 6f 64 5f 69 6e 76 65 72 73 65 28 72 5f pub->q,.ctx);..BN_mod_inverse(r_
5880 31 2c 20 70 72 69 76 2d 3e 72 2c 20 70 75 62 2d 3e 71 2c 20 63 74 78 29 3b 00 09 42 49 47 4e 55 1,.priv->r,.pub->q,.ctx);..BIGNU
58a0 4d 20 2a 72 5f 31 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 7b 00 09 09 73 74 72 75 63 74 20 64 73 M.*r_1.=.BN_new();.{...struct.ds
58c0 61 5f 70 65 72 5f 75 73 65 72 5f 70 61 72 61 6d 20 2a 70 72 69 76 2c 20 42 49 47 4e 55 4d 20 2a a_per_user_param.*priv,.BIGNUM.*
58e0 6d 65 73 73 5f 68 61 73 68 29 00 76 6f 69 64 20 64 73 61 5f 72 65 63 6f 76 65 72 5f 78 5f 66 72 mess_hash).void.dsa_recover_x_fr
5900 6f 6d 5f 6b 6e 6f 77 6e 5f 6b 28 73 74 72 75 63 74 20 64 73 61 5f 70 75 62 6c 69 63 5f 70 61 72 om_known_k(struct.dsa_public_par
5920 61 6d 73 20 2a 70 75 62 2c 20 42 49 47 4e 55 4d 20 2a 6b 2c 00 00 7d 00 09 72 65 74 75 72 6e 20 ams.*pub,.BIGNUM.*k,..}..return.
5940 42 4e 5f 63 6d 70 28 76 2c 20 70 72 69 76 2d 3e 72 29 3b 00 00 09 42 4e 5f 6d 6f 64 28 76 2c 20 BN_cmp(v,.priv->r);...BN_mod(v,.
5960 76 2c 20 70 75 62 2d 3e 71 2c 20 63 74 78 29 3b 00 09 42 4e 5f 6d 6f 64 5f 6d 75 6c 28 76 2c 20 v,.pub->q,.ctx);..BN_mod_mul(v,.
5980 74 6d 70 31 2c 20 74 6d 70 32 2c 20 70 75 62 2d 3e 70 2c 20 63 74 78 29 3b 00 00 09 42 4e 5f 6d tmp1,.tmp2,.pub->p,.ctx);...BN_m
59a0 6f 64 5f 65 78 70 28 74 6d 70 32 2c 20 70 72 69 76 2d 3e 70 75 62 6c 69 63 2c 20 75 32 2c 20 70 od_exp(tmp2,.priv->public,.u2,.p
59c0 75 62 2d 3e 70 2c 20 63 74 78 29 3b 00 09 42 4e 5f 6d 6f 64 5f 65 78 70 28 74 6d 70 31 2c 20 70 ub->p,.ctx);..BN_mod_exp(tmp1,.p
59e0 75 62 2d 3e 67 2c 20 75 31 2c 20 70 75 62 2d 3e 70 2c 20 63 74 78 29 3b 00 00 09 42 4e 5f 6d 6f ub->g,.u1,.pub->p,.ctx);...BN_mo
5a00 64 5f 6d 75 6c 28 75 32 2c 20 70 72 69 76 2d 3e 72 2c 20 77 2c 20 70 75 62 2d 3e 71 2c 20 63 74 d_mul(u2,.priv->r,.w,.pub->q,.ct
5a20 78 29 3b 00 09 42 4e 5f 6d 6f 64 5f 6d 75 6c 28 75 31 2c 20 77 2c 20 68 61 73 68 5f 62 6e 2c 20 x);..BN_mod_mul(u1,.w,.hash_bn,.
5a40 70 75 62 2d 3e 71 2c 20 63 74 78 29 3b 00 09 00 09 42 4e 5f 62 69 6e 32 62 6e 28 73 68 61 31 5f pub->q,.ctx);....BN_bin2bn(sha1_
5a60 68 61 73 68 2c 20 32 30 2c 20 68 61 73 68 5f 62 6e 29 3b 00 09 53 48 41 31 5f 46 69 6e 61 6c 28 hash,.20,.hash_bn);..SHA1_Final(
5a80 73 68 61 31 5f 68 61 73 68 2c 20 26 73 68 61 31 29 3b 00 09 53 48 41 31 5f 55 70 64 61 74 65 28 sha1_hash,.&sha1);..SHA1_Update(
5aa0 26 73 68 61 31 2c 20 6d 65 73 73 2c 20 73 74 72 6c 65 6e 28 6d 65 73 73 29 29 3b 00 09 53 48 41 &sha1,.mess,.strlen(mess));..SHA
5ac0 31 5f 49 6e 69 74 28 26 73 68 61 31 29 3b 00 00 09 42 4e 5f 6d 6f 64 5f 69 6e 76 65 72 73 65 28 1_Init(&sha1);...BN_mod_inverse(
5ae0 77 2c 20 70 72 69 76 2d 3e 73 2c 20 70 75 62 2d 3e 71 2c 20 63 74 78 29 3b 00 00 09 42 49 47 4e w,.priv->s,.pub->q,.ctx);...BIGN
5b00 55 4d 20 2a 68 61 73 68 5f 62 6e 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 09 42 49 47 4e 55 4d 20 UM.*hash_bn.=.BN_new();..BIGNUM.
5b20 2a 76 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 09 42 49 47 4e 55 4d 20 2a 74 6d 70 32 20 3d 20 42 *v.=.BN_new();..BIGNUM.*tmp2.=.B
5b40 4e 5f 6e 65 77 28 29 3b 00 09 42 49 47 4e 55 4d 20 2a 74 6d 70 31 20 3d 20 42 4e 5f 6e 65 77 28 N_new();..BIGNUM.*tmp1.=.BN_new(
5b60 29 3b 00 09 42 49 47 4e 55 4d 20 2a 75 32 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 09 42 49 47 4e );..BIGNUM.*u2.=.BN_new();..BIGN
5b80 55 4d 20 2a 75 31 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 09 42 49 47 4e 55 4d 20 2a 77 20 3d 20 UM.*u1.=.BN_new();..BIGNUM.*w.=.
5ba0 42 4e 5f 6e 65 77 28 29 3b 00 09 63 68 61 72 20 73 68 61 31 5f 68 61 73 68 5b 32 30 5d 3b 00 09 BN_new();..char.sha1_hash[20];..
5bc0 53 48 41 5f 43 54 58 20 73 68 61 31 3b 00 7b 00 09 09 2a 70 72 69 76 29 00 69 6e 74 20 64 73 61 SHA_CTX.sha1;.{...*priv).int.dsa
5be0 5f 76 65 72 69 66 79 28 63 68 61 72 20 2a 6d 65 73 73 2c 20 73 74 72 75 63 74 20 64 73 61 5f 70 _verify(char.*mess,.struct.dsa_p
5c00 75 62 6c 69 63 5f 70 61 72 61 6d 73 20 2a 70 75 62 2c 20 73 74 72 75 63 74 20 64 73 61 5f 70 65 ublic_params.*pub,.struct.dsa_pe
5c20 72 5f 75 73 65 72 5f 70 61 72 61 6d 00 00 00 7d 00 09 2f 2f 7d 00 09 09 42 4e 5f 6d 6f 64 5f 6d r_user_param...}..//}...BN_mod_m
5c40 75 6c 28 70 72 69 76 5f 70 61 72 61 6d 2d 3e 73 2c 20 6b 5f 31 2c 20 74 6d 70 2c 20 70 75 62 5f ul(priv_param->s,.k_1,.tmp,.pub_
5c60 70 61 72 61 6d 2d 3e 71 2c 20 63 74 78 29 3b 00 09 09 42 4e 5f 6d 6f 64 5f 69 6e 76 65 72 73 65 param->q,.ctx);...BN_mod_inverse
5c80 28 6b 5f 31 2c 20 6b 2c 20 70 75 62 5f 70 61 72 61 6d 2d 3e 71 2c 20 63 74 78 29 3b 00 09 09 42 (k_1,.k,.pub_param->q,.ctx);...B
5ca0 4e 5f 6d 6f 64 5f 61 64 64 28 74 6d 70 2c 20 68 61 73 68 5f 62 6e 2c 20 74 6d 70 2c 20 70 75 62 N_mod_add(tmp,.hash_bn,.tmp,.pub
5cc0 5f 70 61 72 61 6d 2d 3e 71 2c 20 63 74 78 29 3b 00 09 09 42 4e 5f 6d 6f 64 5f 6d 75 6c 28 74 6d _param->q,.ctx);...BN_mod_mul(tm
5ce0 70 2c 20 70 72 69 76 5f 70 61 72 61 6d 2d 3e 70 72 69 76 61 74 65 2c 20 70 72 69 76 5f 70 61 72 p,.priv_param->private,.priv_par
5d00 61 6d 2d 3e 72 2c 20 70 75 62 5f 70 61 72 61 6d 2d 3e 71 2c 20 63 74 78 29 3b 00 00 09 09 42 4e am->r,.pub_param->q,.ctx);....BN
5d20 5f 6d 6f 64 28 70 72 69 76 5f 70 61 72 61 6d 2d 3e 72 2c 20 70 72 69 76 5f 70 61 72 61 6d 2d 3e _mod(priv_param->r,.priv_param->
5d40 72 2c 20 70 75 62 5f 70 61 72 61 6d 2d 3e 71 2c 20 63 74 78 29 3b 00 09 09 42 4e 5f 6d 6f 64 5f r,.pub_param->q,.ctx);...BN_mod_
5d60 65 78 70 28 70 72 69 76 5f 70 61 72 61 6d 2d 3e 72 2c 20 70 75 62 5f 70 61 72 61 6d 2d 3e 67 2c exp(priv_param->r,.pub_param->g,
5d80 20 6b 2c 20 70 75 62 5f 70 61 72 61 6d 2d 3e 70 2c 20 63 74 78 29 3b 00 09 09 7d 00 09 09 09 42 .k,.pub_param->p,.ctx);...}....B
5da0 4e 5f 6d 6f 64 28 6b 2c 20 6b 2c 20 70 75 62 5f 70 61 72 61 6d 2d 3e 71 2c 20 63 74 78 29 3b 00 N_mod(k,.k,.pub_param->q,.ctx);.
5dc0 09 09 09 42 4e 5f 70 73 65 75 64 6f 5f 72 61 6e 64 28 6b 2c 20 70 75 62 5f 70 61 72 61 6d 2d 3e ...BN_pseudo_rand(k,.pub_param->
5de0 62 69 74 73 2c 20 2d 31 2c 20 2d 31 29 3b 00 09 09 69 66 28 42 4e 5f 69 73 5f 7a 65 72 6f 28 6b bits,.-1,.-1);...if(BN_is_zero(k
5e00 29 29 20 7b 00 09 2f 2f 77 68 69 6c 65 28 42 4e 5f 69 73 5f 7a 65 72 6f 28 70 72 69 76 5f 70 61 )).{..//while(BN_is_zero(priv_pa
5e20 72 61 6d 2d 3e 72 29 20 7c 7c 20 42 4e 5f 69 73 5f 7a 65 72 6f 28 70 72 69 76 5f 70 61 72 61 6d ram->r).||.BN_is_zero(priv_param
5e40 2d 3e 73 29 29 20 7b 00 00 09 42 4e 5f 7a 65 72 6f 28 70 72 69 76 5f 70 61 72 61 6d 2d 3e 73 29 ->s)).{...BN_zero(priv_param->s)
5e60 3b 00 09 42 4e 5f 7a 65 72 6f 28 70 72 69 76 5f 70 61 72 61 6d 2d 3e 72 29 3b 00 09 42 4e 5f 62 ;..BN_zero(priv_param->r);..BN_b
5e80 69 6e 32 62 6e 28 73 68 61 31 5f 68 61 73 68 2c 20 32 30 2c 20 68 61 73 68 5f 62 6e 29 3b 00 09 in2bn(sha1_hash,.20,.hash_bn);..
5ea0 53 48 41 31 5f 46 69 6e 61 6c 28 73 68 61 31 5f 68 61 73 68 2c 20 26 73 68 61 31 29 3b 00 09 53 SHA1_Final(sha1_hash,.&sha1);..S
5ec0 48 41 31 5f 55 70 64 61 74 65 28 26 73 68 61 31 2c 20 6d 65 73 73 2c 20 73 74 72 6c 65 6e 28 6d HA1_Update(&sha1,.mess,.strlen(m
5ee0 65 73 73 29 29 3b 00 09 53 48 41 31 5f 49 6e 69 74 28 26 73 68 61 31 29 3b 00 00 09 63 68 61 72 ess));..SHA1_Init(&sha1);...char
5f00 20 73 68 61 31 5f 68 61 73 68 5b 32 30 5d 3b 00 09 53 48 41 5f 43 54 58 20 73 68 61 31 3b 00 09 .sha1_hash[20];..SHA_CTX.sha1;..
5f20 42 49 47 4e 55 4d 20 2a 74 6d 70 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 09 42 49 47 4e 55 4d 20 BIGNUM.*tmp.=.BN_new();..BIGNUM.
5f40 2a 68 61 73 68 5f 62 6e 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 09 42 49 47 4e 55 4d 20 2a 6b 5f *hash_bn.=.BN_new();..BIGNUM.*k_
5f60 31 20 3d 20 42 4e 5f 6e 65 77 28 29 3b 00 09 2f 2f 20 72 61 6e 64 6f 6d 20 70 65 72 20 6d 65 73 1.=.BN_new();..//.random.per.mes
5f80 73 61 67 65 20 76 61 6c 75 65 00 7b 00 09 09 2a 70 72 69 76 5f 70 61 72 61 6d 2c 20 42 49 47 4e sage.value.{...*priv_param,.BIGN
5fa0 55 4d 20 2a 6b 29 00 76 6f 69 64 20 64 73 61 5f 73 69 67 6e 28 63 68 61 72 20 2a 6d 65 73 73 2c UM.*k).void.dsa_sign(char.*mess,
5fc0 20 73 74 72 75 63 74 20 64 73 61 5f 70 75 62 6c 69 63 5f 70 61 72 61 6d 73 20 2a 70 75 62 5f 70 .struct.dsa_public_params.*pub_p
5fe0 61 72 61 6d 2c 20 73 74 72 75 63 74 20 64 73 61 5f 70 65 72 5f 75 73 65 72 5f 70 61 72 61 6d 00 aram,.struct.dsa_per_user_param.