SHARE
TWEET

Untitled

a guest May 25th, 2019 86 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. void speed_test() {
  2.     uint16_t a[0x102] = {0x100, 0xc534, 0x9cad, 0x2a4, 0x4550, 0x4c7, 0xa537, 0x6e9f, 0x18ae, 0xecc3, 0xfd8f, 0x5339, 0x3564, 0x83ad, 0xaf76, 0x71f5, 0xafab, 0xccdd, 0x1d42, 0x51c4, 0xcb72, 0x984a, 0x567f, 0x1e76, 0x2aa5, 0x226, 0xe052, 0x14a6, 0x1ed6, 0xdd1b, 0xd632, 0x6e64, 0xc79d, 0x87b5, 0x71eb, 0x40d3, 0x6ce7, 0xcd9a, 0xc2be, 0x42f1, 0x949e, 0xfdb0, 0xb6f6, 0xbbc5, 0x529b, 0xb06d, 0x6ff6, 0x1e93, 0x8723, 0x84d2, 0x93e, 0xa9b3, 0x5cde, 0x1ca0, 0x10bc, 0xe8a5, 0xf728, 0xd615, 0x6782, 0x36b3, 0x82bd, 0x3b7d, 0x3711, 0xbb33, 0x6020, 0xed9e, 0x2bc4, 0x3a2, 0x63e5, 0x2b00, 0x4529, 0x8712, 0xbc0e, 0x18a1, 0xaec8, 0xf39d, 0xd2aa, 0xb8f6, 0x7c47, 0x219a, 0xaf8b, 0x3276, 0xf070, 0xa3b7, 0x61a8, 0xd77, 0x5d39, 0xf306, 0xacef, 0x1dad, 0xd619, 0xb1cd, 0x5b86, 0x3d48, 0x71be, 0xcfe1, 0x1d9e, 0x35e7, 0xbbf7, 0xa310, 0x737d, 0xb31e, 0xca75, 0xba8a, 0x6988, 0xd4ea, 0xaf83, 0x45b3, 0xebb4, 0xcf58, 0xc629, 0xc2bb, 0x57ad, 0xb9f, 0xdbb9, 0x5816, 0xc9a9, 0xdb55, 0xc120, 0x8f1, 0xfe68, 0x19c0, 0x3d95, 0x181a, 0x98aa, 0x6a82, 0x4419, 0x79f8, 0x7000, 0xe536, 0xdf82, 0x9970, 0x7f12, 0xe7e5, 0x7223, 0x59e, 0x6f76, 0x9582, 0xc42d, 0x4926, 0xf6f7, 0xaaeb, 0xf5c8, 0xa694, 0x89d1, 0x46ef, 0x1a5b, 0x863b, 0xbab0, 0x444, 0xf677, 0x7b9c, 0x5dee, 0xeac7, 0xf864, 0x18b2, 0xfa7d, 0x4784, 0xf0de, 0x5db1, 0x4a42, 0x49fa, 0x7930, 0xbec0, 0x8483, 0x364, 0x6935, 0x2dfc, 0xb25f, 0xc424, 0x6aac, 0xace1, 0x9c48, 0xb526, 0x7bb7, 0x24f4, 0xe44c, 0xfa91, 0x5598, 0xc659, 0xfe52, 0xf7f9, 0x2bbe, 0xd873, 0x6a71, 0xb695, 0x94ae, 0xe540, 0xc417, 0x4085, 0x6ccd, 0x5384, 0x697, 0x3b5c, 0x729b, 0x8490, 0x8e68, 0x8fcc, 0x4ce9, 0xd73f, 0xb3d0, 0x19d5, 0x4f3, 0x1eaa, 0x16f, 0x9e1, 0x8dba, 0x6564, 0xec30, 0x3aaf, 0xef25, 0x2067, 0x519e, 0xff6, 0xa20f, 0x7f5f, 0x4278, 0xee87, 0x1173, 0xfea5, 0xe25, 0x1a4, 0x4749, 0x5fd3, 0xa98, 0x4062, 0xd5ae, 0x313d, 0xc3d9, 0x3408, 0xbcb8, 0xc33d, 0x4be3, 0xd7f1, 0x1954, 0xb62e, 0x327f, 0x1350, 0xd717, 0x9391, 0x434d, 0xaa06, 0x8def, 0xcc0, 0x1023, 0xa59f, 0x733e, 0x5914, 0x9bfd, 0x737f, 0x2af6, 0xdd23, 0x8d69, 0xe421, 0x3d95, 0x1c9b, 0x3559};
  3.     uint16_t b[0x102] = {0x100, 0x7aa3, 0xc18b, 0x832e, 0x8972, 0x2cb3, 0xe455, 0x3d9, 0xa3bf, 0x77e0, 0xdfbd, 0x4642, 0xfc1b, 0xe86e, 0x51d6, 0xb03a, 0xaa27, 0xc383, 0x7575, 0x32ab, 0x25e9, 0x9975, 0x8a52, 0xf2ed, 0x9543, 0xcb0a, 0x50ec, 0x7563, 0x7c36, 0xeb3d, 0x878c, 0xe8a8, 0xd7c7, 0xed15, 0x7f71, 0xe82, 0x1f06, 0x6699, 0x3fb1, 0xa38f, 0x547a, 0xa3c5, 0xd970, 0x4493, 0x3d7c, 0x8aa6, 0xce75, 0xeeaa, 0xc89c, 0x3802, 0x93a, 0xab45, 0x6e1d, 0x209f, 0xda28, 0x9290, 0xcb57, 0x47df, 0xa7d7, 0x3d15, 0xc884, 0xd920, 0x84a0, 0x91e0, 0xd781, 0x8208, 0x5f57, 0x1083, 0xe6ca, 0x6f3a, 0xfda7, 0x8355, 0x4207, 0x8235, 0xf63a, 0xe3bf, 0xa807, 0x695b, 0xc66a, 0xd29c, 0xe4c4, 0xbd1f, 0x4d8, 0x1053, 0xed6b, 0xe1af, 0xfc47, 0x3e06, 0xb939, 0x4049, 0xbc1f, 0xbb90, 0xc83e, 0x4045, 0x9f53, 0x7f04, 0x5ef3, 0xf4a8, 0xc506, 0xcfd, 0x68d, 0x7e0b, 0x1fa8, 0xc8ff, 0x491e, 0xba7c, 0xbd35, 0xa7b1, 0x105b, 0xb1fa, 0x7c62, 0x8f37, 0xccf4, 0x6fb2, 0x305b, 0x4ec6, 0xba7e, 0xd7cd, 0x2288, 0xe466, 0x9f2b, 0xa73c, 0x180f, 0x3071, 0xb716, 0xeef0, 0xb1a8, 0x4e5a, 0x89ac, 0x1a47, 0xbff1, 0xf46d, 0x5e38, 0x3013, 0xf56d, 0xb89e, 0xd6fb, 0x6cb6, 0xe120, 0x6e4f, 0xafb5, 0xec20, 0x4f86, 0x4a7c, 0x5068, 0x3f6f, 0x6a9c, 0x95a8, 0x3d09, 0xfc51, 0x8df2, 0xfb0b, 0x1920, 0xf201, 0x2608, 0x72ba, 0xb7a4, 0xa602, 0x232c, 0x5b52, 0x14a, 0x1704, 0x499, 0x8275, 0x8d4b, 0xbd5e, 0xc313, 0xc27b, 0xdee8, 0xb908, 0xb092, 0x4bef, 0xddee, 0xe5e8, 0x581b, 0x1822, 0x1e38, 0x463f, 0xd6dc, 0xb3f0, 0x1f59, 0x5779, 0x2f4d, 0x760d, 0x7bf0, 0xe1b5, 0x4662, 0x88b2, 0x533a, 0x5966, 0x815d, 0xb8fd, 0xaeeb, 0x1f80, 0x5c2a, 0xd43c, 0xb15f, 0x1169, 0x4de2, 0x78e, 0x6081, 0x524c, 0x636d, 0xe966, 0x834, 0x9734, 0xe3f6, 0x3e31, 0x3a36, 0x98ee, 0xfbf3, 0x9a68, 0xa2af, 0x2cb4, 0x8a94, 0x3c9c, 0x3321, 0x1d37, 0x7188, 0x1801, 0x49df, 0x24ac, 0x511e, 0x8111, 0x9a81, 0xc6d8, 0x44b5, 0x492, 0x7ade, 0x2ad2, 0x9e12, 0xc27, 0xd780, 0xe6c5, 0xe9ac, 0xa528, 0xfe3, 0xae9e, 0x7053, 0xe0c3, 0xe19c, 0xe46a, 0xf1b4, 0x9105, 0x56ff, 0x8288, 0x2109, 0x5606, 0x504, 0x3209, 0xc125, 0x2b30, 0xf945, 0x819b, 0x3db, 0x64f9, 0xe818};
  4.     uint16_t c[0x11] = {0x10, 0x6e62, 0xdc56, 0xb918, 0xbb42, 0x532a, 0x73b9, 0xe1d6, 0x7723, 0xef39, 0xd1ac, 0xc8b2, 0xeff3, 0xea, 0xd4d7, 0x9d4, 0xe8e8};
  5.     uint16_t a_times_b[0x201] = {0x200, 0x581c, 0xd9db, 0x40d8, 0x84ff, 0x4360, 0x1e4e, 0xe99e, 0xaa2f, 0x84a1, 0x5731, 0x26f7, 0x2262, 0xf565, 0x47d8, 0x6a28, 0x5983, 0xb068, 0xff5b, 0x4855, 0xab11, 0xca67, 0xd64e, 0x5073, 0x853b, 0x8c78, 0xd1f2, 0xa07c, 0xc39a, 0x3f9e, 0x9fe, 0x2447, 0x3bbd, 0x9c6e, 0x8ce9, 0xf2ee, 0xadb6, 0xe105, 0x6f28, 0x4fdb, 0x6a46, 0x7845, 0x5de3, 0x1f5d, 0x6e99, 0x5c2, 0xd215, 0xebc6, 0xc2b5, 0x3b97, 0x68b6, 0xcf43, 0x8a52, 0x3e79, 0xb255, 0x1ef9, 0x54bb, 0x282c, 0x718a, 0xfa5e, 0x3975, 0xab70, 0x2e4a, 0xd702, 0x8f8f, 0x9356, 0x8b6c, 0x3fc4, 0xbc09, 0x1504, 0xc71e, 0x9214, 0x44f9, 0x109a, 0x1269, 0x726f, 0xd586, 0x9790, 0x1841, 0x3204, 0x27c6, 0x4918, 0xe6c7, 0xb1f7, 0x677, 0xefff, 0x1b56, 0xcd7b, 0x9f5e, 0x19d4, 0x4812, 0x467, 0x584e, 0x271f, 0x9eb7, 0x1edb, 0x750c, 0x8fb1, 0xec19, 0xdc27, 0xcdc4, 0xc856, 0x8c1e, 0x6b4c, 0x4c60, 0x44b4, 0x3b35, 0xff83, 0xe2d8, 0x2207, 0x5ebe, 0x6a54, 0x13d9, 0x79a7, 0xbefa, 0xbc7c, 0xde73, 0x3574, 0xeb38, 0xda3a, 0x1614, 0xaf9e, 0xdf89, 0xf7e7, 0xcbd5, 0x72ae, 0x957d, 0xc347, 0xb72d, 0xf9c7, 0xb1b2, 0xb27, 0x51d, 0x8aa3, 0xbd7e, 0xf210, 0x265b, 0x3245, 0x38ef, 0x18e, 0xa073, 0xee14, 0xf59d, 0x974e, 0xc4f9, 0x385e, 0x79bd, 0x1016, 0x9e16, 0x3813, 0xb14a, 0x472f, 0x688, 0x6440, 0xe188, 0xd3e7, 0x38ad, 0x35fe, 0xe858, 0x4572, 0xcb77, 0xdf0b, 0x7e10, 0x6fb7, 0xef0e, 0xb2ae, 0xd9dc, 0xa5e3, 0x1d70, 0x6610, 0x5d42, 0x840, 0xa704, 0xa7b4, 0x1229, 0x52d1, 0x7f60, 0xef7b, 0x1f9, 0x1474, 0x2f05, 0xd729, 0x896, 0x170d, 0x733f, 0x313f, 0x49e6, 0x1ec, 0xa7e, 0x3c46, 0x57ce, 0xeb40, 0x38a3, 0xdd27, 0x7ae0, 0x957d, 0xfcca, 0xb472, 0xbae, 0xea0d, 0x153f, 0x5e3d, 0xf8aa, 0x3c5c, 0x22e8, 0x7730, 0x2690, 0x33a2, 0xe282, 0x9166, 0xcc7a, 0xa805, 0xc81b, 0x14af, 0x579d, 0x5797, 0x14f0, 0xb548, 0x9e7b, 0xa75a, 0x5f19, 0x5401, 0x5b45, 0xa8f6, 0xceef, 0xe486, 0x23f4, 0x9c29, 0xaef6, 0x8902, 0x4142, 0x6b6c, 0xff86, 0x69b6, 0xebf6, 0x26d5, 0x371b, 0xca95, 0xd2d5, 0xfa48, 0x6c93, 0x5c92, 0x13fa, 0x674e, 0xba1e, 0xb41f, 0xd0e9, 0xa52a, 0x956f, 0xef27, 0xcdc3, 0xfcf5, 0x739a, 0x8fd9, 0x327f, 0xd84a, 0x85a8, 0x12c0, 0xf28c, 0x21e, 0x38fc, 0x9cb7, 0x7ac9, 0xcaad, 0x6031, 0x2e68, 0xb7e0, 0xbfdd, 0x57df, 0xe817, 0x6aa3, 0xfa86, 0x2568, 0x92db, 0x8712, 0x46ef, 0xf2c6, 0xbec1, 0x9c6f, 0x64a8, 0x252a, 0x8da0, 0xb34b, 0x5236, 0x5908, 0x2210, 0x20e0, 0x98b3, 0x1b65, 0x5453, 0x1f0a, 0x8b36, 0xf71b, 0x3e94, 0xb622, 0xf25b, 0x5fdd, 0x5114, 0xc128, 0xeb43, 0x75e4, 0x1f27, 0x3c3c, 0x9991, 0x918a, 0x85f2, 0x9eb9, 0xbfd8, 0xdbcf, 0x98ae, 0xfff3, 0x5898, 0xcea7, 0x88e8, 0xba18, 0xb799, 0x81f1, 0xec23, 0x5cb0, 0x6167, 0xb07c, 0x9bb7, 0x67ae, 0xc20f, 0xf4e3, 0x30d7, 0xb439, 0x5a73, 0x3537, 0x9670, 0x7d8e, 0x7865, 0x4aa7, 0x9c3, 0x59b1, 0x656d, 0xa7b8, 0xf187, 0x32de, 0xf92c, 0xaa46, 0x90ef, 0x5188, 0x633c, 0xc088, 0x56a2, 0x7220, 0xd029, 0x303a, 0x74d7, 0xcb05, 0x7e9, 0xc7a6, 0xe08d, 0x7a64, 0x8964, 0x9f2e, 0xa0fc, 0xc2dd, 0xbc1d, 0x2310, 0x94b4, 0x1778, 0x714c, 0x7c5f, 0x6a17, 0x6a91, 0x8a8d, 0xe6c9, 0x2bad, 0x2fb0, 0x392f, 0x3834, 0x2e66, 0x384e, 0x2053, 0xf1e3, 0x45ce, 0x8543, 0x17d2, 0xd74c, 0x51a, 0xf9a6, 0xd6a, 0x4c91, 0x592b, 0xb327, 0x69d9, 0xfb2a, 0x21b1, 0xa7bf, 0x936d, 0x606d, 0xc958, 0x2b7f, 0x1e19, 0x7183, 0x8700, 0x42a0, 0xd490, 0xac78, 0x3cc7, 0xc41e, 0xc675, 0x655e, 0xbc76, 0xfcbe, 0x9716, 0x6d6d, 0xa951, 0x4270, 0x3955, 0xae61, 0x70fc, 0x96ac, 0xac21, 0x25f7, 0xd285, 0x9788, 0x1c8c, 0x5fce, 0x4d44, 0x283c, 0xe256, 0xfef5, 0x1122, 0x145f, 0x4fa7, 0xd235, 0xeadc, 0x9095, 0x9f2d, 0xd97c, 0xdb70, 0x9a2, 0x8466, 0x132e, 0x9423, 0xa306, 0xe4f5, 0x989e, 0xfe3b, 0xb2e, 0xcc9c, 0xb228, 0x568c, 0xc1c5, 0x77a4, 0x6669, 0xa887, 0xffd3, 0xca98, 0xc84, 0xa343, 0xd5ab, 0x5c52, 0xa734, 0xe25d, 0xaeae, 0x451a, 0xf28, 0x92f5, 0x94b6, 0x63a2, 0x9d07, 0x1270, 0xd7da, 0xa4be, 0x633b, 0xa5c2, 0xe1d2, 0xbd87, 0x7a1e, 0xe3ab, 0x1f09, 0x1170, 0x4226, 0xbb32, 0x4c7c, 0x56c4, 0x5ccb, 0x3c6c, 0x59da, 0x8222, 0xfb2e, 0x103b, 0x57b4, 0xa7da, 0x430f, 0xa698, 0xc592, 0x6be6, 0x7fa8, 0xc706, 0x3266, 0xa240, 0x6df0, 0x8a07, 0xc86c, 0xe182, 0x523c, 0x860f, 0x94bf, 0x858, 0x63ec, 0x371c, 0xb529, 0x45f9, 0xf20c, 0xdd6c, 0x1204, 0xd752, 0x305d};
  6.     uint16_t a_squared[0x201] = {0x200, 0x1290, 0x8031, 0xb8eb, 0x1e1d, 0xcc0d, 0x2c08, 0x74b7, 0x71f4, 0x5e9a, 0x6a48, 0xf311, 0x432f, 0xc7cd, 0x4f7e, 0x69ca, 0xbff1, 0x9779, 0xe0b3, 0xaae5, 0x8dda, 0xaba5, 0xb10c, 0x3e71, 0xf83e, 0x30fd, 0x251b, 0x9c0b, 0x69ad, 0xf461, 0xe2f9, 0x5db9, 0xa7f6, 0xac61, 0x5719, 0x9a15, 0xa4e6, 0xe21, 0x7052, 0x4d4f, 0x175, 0x89b7, 0xf8bd, 0xd567, 0x1da7, 0xd6c3, 0x8b23, 0xbf4a, 0x93b3, 0x46c0, 0x4cba, 0x1ed5, 0x2d5d, 0x879e, 0x6c6, 0x1c07, 0xa480, 0x7f1d, 0x97a9, 0x614b, 0x9fe7, 0xb8af, 0xd23b, 0x60c9, 0x6c0b, 0x5d34, 0x6c48, 0xfe17, 0xf7d9, 0xf8e2, 0xe881, 0xca56, 0xe24, 0x23d9, 0x2b70, 0xbab9, 0xb877, 0x8514, 0xae1a, 0x5ac6, 0x9536, 0xf2d7, 0xee13, 0xdac2, 0x894, 0xa42e, 0x4370, 0xa34e, 0x39d5, 0xd76e, 0xf361, 0xb03e, 0xd23c, 0x6251, 0x32, 0x638c, 0x4b6f, 0x50fa, 0x5c6d, 0x282f, 0x5fbe, 0x63ef, 0x39c0, 0x7b32, 0x763c, 0xfd7a, 0x88f5, 0x7075, 0x1115, 0x6d40, 0x56b1, 0x3dd6, 0x30d3, 0x359e, 0xfac4, 0xb869, 0x527b, 0x2b7a, 0xd2d7, 0xee2b, 0x92c0, 0xdc91, 0x596a, 0xfb1f, 0x2b0d, 0x6858, 0xe4e9, 0x452b, 0xfd3e, 0x4190, 0xa75b, 0xc15e, 0xe6eb, 0x5656, 0xbfb, 0x397a, 0x8f47, 0xbc00, 0xd475, 0x80c1, 0x1f33, 0xfac5, 0x9c4b, 0x5fb0, 0xd201, 0x5fbc, 0xf6d6, 0xf02e, 0xfa06, 0xd198, 0x55e, 0x3330, 0x23ae, 0xb5f1, 0x78e1, 0x29e4, 0x84c, 0x6825, 0x205a, 0x4f8c, 0xa11, 0xadc7, 0x88b9, 0xa353, 0xed1b, 0x14ea, 0xdb31, 0x92ea, 0x7f73, 0x668d, 0xe164, 0xe028, 0xbe6a, 0x6621, 0xbea6, 0xc10d, 0xb00f, 0x73bb, 0x8020, 0x70c2, 0x26dd, 0x13d9, 0x9d01, 0xdc26, 0xf381, 0xb5df, 0xebd5, 0x1a61, 0x14ae, 0x3d54, 0x6ddc, 0xbc8e, 0xc3e4, 0x2290, 0xef2a, 0xc00b, 0x96ca, 0x9401, 0xfd51, 0x8a79, 0x19c5, 0xdf12, 0xde68, 0xda0e, 0x3654, 0xb5ad, 0xf9c8, 0x8d1b, 0x7518, 0xfa59, 0x9fa7, 0x15e3, 0x3c6f, 0xcb63, 0x78c4, 0x9c, 0xbf3d, 0x1c68, 0x1612, 0xc571, 0xab51, 0x209, 0xc9fa, 0x32da, 0x2d5c, 0x3504, 0x9d71, 0x5f65, 0xc3e4, 0x37ab, 0xb5be, 0x2b4b, 0xaa5a, 0x3ee0, 0xbe51, 0x47dc, 0x2ada, 0x6408, 0x61b1, 0x342f, 0xa24b, 0xda6c, 0xbde0, 0xfa2c, 0xa294, 0x8864, 0x3624, 0xf6a7, 0x1815, 0x908c, 0xd86e, 0xfc58, 0x96f8, 0x89ba, 0xbe2a, 0xb272, 0x46cb, 0xe37f, 0x9204, 0xfb52, 0x7852, 0xbfc5, 0x433d, 0x33b6, 0xd465, 0x7531, 0xcce0, 0xe741, 0xcfa, 0x6772, 0x94c6, 0x3446, 0xf85, 0x5d62, 0x66f3, 0x4eec, 0xb0a1, 0xbe8b, 0xe59, 0x5389, 0x3fd6, 0xaed9, 0x7f1e, 0x3414, 0xaf83, 0x2ba, 0x5a3a, 0xf3c9, 0x1367, 0xfa81, 0x79d4, 0x1302, 0x9e15, 0xdee6, 0xfeef, 0xb0b1, 0xa636, 0xb258, 0x8f61, 0xbc05, 0x2950, 0xea29, 0x8a45, 0x3b52, 0x8d91, 0x9f6, 0x622a, 0xb776, 0xc53f, 0x29db, 0x6653, 0xe4fd, 0x7ab0, 0xf740, 0x9a3b, 0xc328, 0xa114, 0x221b, 0x41c1, 0xec04, 0x105f, 0x15c7, 0xe0d2, 0xd426, 0xb2f8, 0x1def, 0x1625, 0x11cc, 0xf2f0, 0x773d, 0xbd0c, 0x847b, 0x40f1, 0x4f00, 0x461b, 0xe0f, 0xde4d, 0xc3c6, 0x7828, 0xb599, 0xfecc, 0x592d, 0xa461, 0xdc3e, 0x679e, 0xf104, 0x45b5, 0xda9b, 0x7b6c, 0x3a95, 0xc9a0, 0xee1e, 0xeed4, 0xb7cd, 0xe456, 0x21, 0xc9e3, 0x78fe, 0xeb28, 0xcf48, 0xcaf4, 0x62d9, 0x32bc, 0x4593, 0x7978, 0x6481, 0xd9c8, 0x5413, 0xa298, 0xd447, 0x9717, 0x27c, 0xbc56, 0x9cf4, 0xea54, 0x6313, 0x5ce3, 0x7a89, 0xf1e4, 0x69a2, 0xea6d, 0xe7c, 0xa9f, 0x6ebf, 0xa777, 0xb3b, 0x208d, 0x1e9, 0x2c36, 0xc2e4, 0x800a, 0xb0e7, 0x1745, 0x7374, 0xa08d, 0xaf49, 0x9cf7, 0x1fa0, 0x7a31, 0x536b, 0x369, 0xf2d1, 0xcd55, 0xd2eb, 0x8343, 0x6594, 0x2bed, 0xf23d, 0x4b06, 0x21ef, 0x7282, 0x40cd, 0x3b35, 0x816, 0x5f80, 0x768e, 0x68ea, 0xf197, 0xcc51, 0x5bf5, 0xc388, 0x689, 0xab77, 0x3322, 0x44ad, 0xcce1, 0x5ef6, 0xaebe, 0xca49, 0x73fd, 0x8318, 0xa577, 0xb15d, 0x5bf1, 0x77ed, 0xc372, 0x1c7a, 0x78f9, 0x8a4, 0xbeca, 0x858f, 0xa91d, 0xc9a7, 0x5a39, 0xd6a1, 0x7f0, 0x6913, 0xc3d5, 0xb8d, 0x17bb, 0x7a4a, 0x8e77, 0xd993, 0xa371, 0xf7f8, 0xfd8f, 0x4571, 0x6d1c, 0x8385, 0x1e69, 0x2c27, 0x380a, 0xd64f, 0xb565, 0x9fad, 0xd5f5, 0x2f85, 0x8bb8, 0x1e47, 0xf545, 0x8bd5, 0xeffb, 0xcf4f, 0xbc5, 0xe2ea, 0x8b9d, 0xb44a, 0xd70a, 0x146e, 0x3a0a, 0x5251, 0xca3b, 0x4b9d, 0x6225, 0xe3b, 0x1c2b, 0xb426, 0x513, 0x7d29, 0x6df8, 0xf190, 0x532f, 0xdff9, 0x570, 0x7187, 0x3926, 0xbe15, 0xa2e, 0x6d3f, 0x3987, 0xd09d, 0x46a2, 0xef90, 0xa95, 0x97be, 0x3e13, 0x108e, 0x8738, 0xf01c, 0x364a, 0x2ea3, 0x4dd, 0xb1e};
  7.     uint16_t a_div_c[0xf1] = {0xf0, 0x5d35, 0x957e, 0x26d0, 0xf91e, 0xd2e6, 0xcdec, 0xd19c, 0xc1a9, 0x6601, 0x94db, 0xea69, 0xdce6, 0x48c6, 0xf51d, 0xea4f, 0xf06d, 0x4137, 0x6291, 0xf56a, 0x2736, 0x4185, 0xf38e, 0x7774, 0x2c79, 0x2d2a, 0xb976, 0x92e4, 0x8215, 0x5c00, 0xd38f, 0xb47e, 0x95b2, 0x5a1, 0x35fd, 0x63c5, 0x24b0, 0x6ae3, 0xd07a, 0xf0df, 0xc0e6, 0x6563, 0x7a99, 0x19b7, 0xd394, 0xe2f2, 0xacea, 0x64d5, 0x1d81, 0x6946, 0xecde, 0x71a1, 0x2d95, 0xe6a1, 0x4a47, 0xbac1, 0xd6f8, 0xfa87, 0x3601, 0x6bc0, 0x6ab9, 0xfc00, 0x823c, 0x4894, 0x1830, 0x64bc, 0x1983, 0x6245, 0x782e, 0xa0c4, 0x4f7, 0xb3b1, 0xf81f, 0x4a7a, 0x7c94, 0x4365, 0xc65a, 0x11eb, 0x3453, 0xcc0e, 0x5406, 0x31b6, 0xe2db, 0x8e8d, 0xf822, 0x202, 0x3a42, 0x1587, 0xd75d, 0xa7a4, 0xa0d5, 0xbb20, 0xbe16, 0x793, 0xc4fc, 0x1ca9, 0x46d0, 0x8680, 0x58c5, 0xceea, 0xd2de, 0x8e2, 0xc6c4, 0xaba9, 0x2fcc, 0xa90d, 0xff62, 0x5dc9, 0xbae9, 0xf6e9, 0x5214, 0xf9dc, 0x6b45, 0x57ab, 0xcb28, 0x90a, 0xcb82, 0x1c09, 0x433b, 0x7c57, 0x85c, 0xc415, 0x1906, 0x8b1f, 0x2f5e, 0x70f3, 0x1a6b, 0x3396, 0x2c5b, 0xccf, 0xe8be, 0xc70c, 0x73eb, 0xfbc9, 0x4503, 0x409d, 0xc737, 0x7ef, 0xba3c, 0xbb7e, 0xbe64, 0x449c, 0x405b, 0xf220, 0x726e, 0xe351, 0xa169, 0xc72a, 0x85db, 0xc379, 0xeda6, 0xcc0, 0x3a07, 0x48be, 0xde45, 0xbef9, 0x2932, 0xd4ee, 0x2421, 0x2658, 0xaa0e, 0x7f7b, 0x62d3, 0x304, 0x9848, 0x68ad, 0x7287, 0x9c7b, 0x6f2d, 0xefd7, 0xb5ba, 0x1180, 0x8306, 0x537d, 0xa13b, 0xfe89, 0xf455, 0x5d91, 0x23f3, 0x4e27, 0xa549, 0x66be, 0x4146, 0x21bb, 0xc46b, 0x54a4, 0x106d, 0x3894, 0x3d4c, 0x26, 0x7167, 0x5c05, 0x9cc2, 0x73, 0xea14, 0xc0bc, 0x9864, 0xdd53, 0xa318, 0xc780, 0x6b72, 0xfb9e, 0x5c12, 0x7e04, 0x392c, 0xf4e1, 0xbf42, 0x519c, 0x1d81, 0x71b8, 0xceef, 0xf95a, 0xff57, 0xa847, 0x7052, 0x3164, 0xb615, 0x430f, 0xb34a, 0x4763, 0x4966, 0x2678, 0xa82d, 0x3751, 0x2e18, 0x8c8b, 0xdf02, 0xbf7d, 0x8027, 0xe756, 0x1c71, 0xc847, 0x5445, 0x9624, 0x30f5, 0x151b, 0xe4a2, 0x3ade, 0xabf8, 0x44d8, 0x3aa3};
  8.     uint16_t a_mod_c[0x11] = {0x10, 0x50ea, 0x3a73, 0xac0a, 0x94ae, 0xbde2, 0x8926, 0xe352, 0x799b, 0xd504, 0x9954, 0xdc0a, 0x330, 0x3670, 0xa698, 0x78e8, 0x8857};
  9.     uint16_t a_pow_b_mod_m[0x101] = {0x100, 0x85fd, 0x41b6, 0x90f5, 0xfc28, 0x45bc, 0xa636, 0xd34a, 0x618e, 0xbb50, 0x2e3, 0x5ca7, 0xe00c, 0x1b39, 0xb111, 0x4794, 0x8da6, 0x46ef, 0xa79f, 0x4794, 0x2a98, 0x7a68, 0xfe4e, 0x4cdc, 0x86b8, 0xb54, 0x3e29, 0x66ef, 0xba1b, 0xe088, 0xfa82, 0x23f6, 0x1ccf, 0xd915, 0x1264, 0xf883, 0xc731, 0xf124, 0x5ee3, 0x2f63, 0xb2f5, 0x7ddc, 0x5008, 0x9675, 0xdd99, 0x7d8a, 0x5a0f, 0xb61d, 0xe398, 0x7a9, 0xb566, 0xa8bf, 0xd8c4, 0x9271, 0x2c6f, 0x28b3, 0x3340, 0xb371, 0xf7d3, 0xd4aa, 0xb17b, 0x73fe, 0x93e1, 0xef07, 0x5a59, 0x802b, 0x8e5a, 0x9af0, 0x7162, 0xe7b3, 0xcb23, 0xf42b, 0x55ee, 0xb297, 0xd212, 0xd52a, 0x20fb, 0x30b8, 0x7671, 0xc7d2, 0x6f4b, 0x9156, 0x2b47, 0xaefc, 0xfa09, 0xd240, 0x7608, 0x573d, 0xee33, 0x20ce, 0x7f2a, 0x138e, 0x5e86, 0x1a73, 0x4fd, 0xaf4b, 0x8d1b, 0x71d9, 0x18bc, 0x69a4, 0x1d7f, 0x45f0, 0x5edd, 0x2ce7, 0x3669, 0x458b, 0xdb8f, 0x9a1e, 0x3601, 0x19fe, 0x8de6, 0x7139, 0xaec2, 0x2e7c, 0x3c05, 0x1e6f, 0xdb92, 0x342b, 0x977f, 0x7210, 0xc437, 0xe93a, 0xfcc3, 0xcc06, 0x2e67, 0xb6a2, 0xdf82, 0xc48b, 0x76c0, 0xf944, 0xad19, 0x7e38, 0xa41, 0xe66f, 0x8dc1, 0x1a9c, 0x661, 0x2e0c, 0xf74f, 0x1c66, 0xccd0, 0xac25, 0x448e, 0xb4f3, 0x460e, 0x9db2, 0x3b8d, 0x22e0, 0xc7d5, 0xc66c, 0x925, 0xfe5f, 0xffee, 0x1e4d, 0x9af6, 0xfc90, 0xd8e, 0xff93, 0x2703, 0x75c9, 0xb352, 0xc526, 0xea16, 0x8023, 0x62a2, 0xd5f3, 0x648d, 0xadd5, 0x4f45, 0x65e7, 0x4665, 0x7c1, 0x31ce, 0x3424, 0x1dd0, 0x7c, 0xe240, 0x73e4, 0x4806, 0xd608, 0x4c0e, 0x6b78, 0x41b1, 0x3cdf, 0x78c7, 0xe2b7, 0xb2ca, 0xb4e3, 0xd5fc, 0x104, 0xf3bb, 0x2bb9, 0x1c03, 0x3f97, 0x8dd1, 0xd5a8, 0x3c67, 0x3439, 0x30e0, 0x681d, 0x1dcb, 0x82e8, 0x4744, 0x162c, 0xacd4, 0xd0d3, 0xed5c, 0xa662, 0x986c, 0xef37, 0x74a1, 0x47a7, 0x160b, 0xf80b, 0x63cc, 0xc6d5, 0x1e6f, 0x47f6, 0x488b, 0x996d, 0x90c1, 0x3b79, 0xce73, 0x2001, 0xf9f6, 0x4227, 0x28e8, 0x8043, 0xd06f, 0xdf6e, 0x726d, 0x8713, 0x5c24, 0x9e83, 0x56, 0xc889, 0x86e7, 0x5a1e, 0xfbd2, 0x32d6, 0x1c27, 0xcaf5, 0xf7de, 0xc120, 0x5df5, 0xf4c6, 0xbb9, 0x4c4f, 0xd701, 0x99e9, 0xedc1, 0xa3cc, 0xb438, 0x3094, 0xf635, 0xa09c, 0x18d5};
  10.     uint16_t a_squared_mod_m[0x101] = {0x100, 0xcc19, 0x291d, 0x4897, 0x1eb5, 0x3938, 0x1b79, 0xb246, 0x181a, 0x5422, 0x3024, 0x5c6f, 0xe5f1, 0x2ab6, 0x6ef8, 0x7f2c, 0x7815, 0x70bb, 0x6479, 0xfcc1, 0xe3df, 0xd04e, 0x5d2c, 0x8f95, 0x4abe, 0xa7ac, 0xb7df, 0x2f3a, 0xf538, 0x39cf, 0xee88, 0x849c, 0xd0e, 0x5f3, 0xad7d, 0x661b, 0xd9f6, 0x40f4, 0x3613, 0x26de, 0xda18, 0x7780, 0x8d0a, 0x636d, 0x2295, 0xa3a8, 0x39ea, 0xf093, 0x80f1, 0x5a2a, 0x8bf7, 0x459d, 0xb10e, 0xc01c, 0xb9a2, 0x88bb, 0x424c, 0x4b8b, 0x501b, 0x19b2, 0xf5ab, 0x795f, 0x59c7, 0x18e4, 0xf5a, 0xb59b, 0xf0e8, 0x9519, 0x1a41, 0x9a06, 0x5faa, 0x8f9f, 0x6129, 0x695e, 0xb312, 0x202d, 0x903e, 0xf4be, 0xbbcd, 0xb08a, 0xc3de, 0xc123, 0x62e5, 0x3fe6, 0xe730, 0x4b74, 0xbcca, 0x12be, 0x599b, 0x4717, 0xedb8, 0xc2f2, 0xe5a7, 0x375e, 0x4c54, 0x2f5e, 0x57cb, 0xe3d8, 0xa311, 0x72bb, 0x9513, 0x136d, 0xccc2, 0xa60c, 0x3b3d, 0x79da, 0x5c27, 0x11a6, 0x7d14, 0x97b2, 0xa829, 0x8c14, 0x650b, 0x19af, 0x9796, 0x164, 0x3c6, 0xc32d, 0x83e5, 0xe7db, 0x8a46, 0x37a4, 0x5de7, 0x5517, 0xb7e4, 0xbccf, 0xd911, 0x56b, 0x65fe, 0x464b, 0x723d, 0x47e0, 0xb849, 0x535d, 0x76ee, 0x6d38, 0x8b10, 0x1eaa, 0xcb0c, 0x9252, 0x791b, 0x82f0, 0xcbfa, 0x3290, 0xe9a7, 0x7f13, 0x6346, 0x72cc, 0x17f1, 0x4ca8, 0x70aa, 0xccde, 0x9cac, 0x45bf, 0xbde6, 0x89ed, 0xfa11, 0x89a4, 0xa111, 0xd73b, 0x541d, 0x2202, 0x6fee, 0xd651, 0x47b8, 0x3e0c, 0xf820, 0x4230, 0x76b1, 0x4458, 0xcfef, 0xdc33, 0x3427, 0x17a1, 0x52e9, 0x9912, 0x5fc3, 0xcaac, 0x3583, 0x2014, 0xb47b, 0xb6e8, 0x50f1, 0x746f, 0x2f17, 0x125e, 0xc34c, 0x9c2a, 0xb063, 0x6cce, 0x42f3, 0x5d38, 0xc85c, 0x36c3, 0x4fee, 0xca90, 0x75ad, 0x5e71, 0x7719, 0x95e9, 0x6dab, 0xddfd, 0xa315, 0x4b09, 0xe233, 0x6423, 0x2638, 0x7d94, 0x9669, 0xdcba, 0xc8fb, 0x5a09, 0x493c, 0x5b0a, 0x8c08, 0xb743, 0xab2a, 0xf950, 0x8243, 0xfa01, 0x5e6c, 0xe90a, 0xc223, 0xc8d9, 0x5100, 0x6ed5, 0x8ea5, 0xdf5b, 0x2c55, 0xf3ed, 0x97fb, 0xb6d2, 0x530e, 0xbd9f, 0xaadc, 0x8036, 0x3033, 0x3238, 0x35dd, 0xb63b, 0x8346, 0x686e, 0xb92a, 0x1203, 0x5533, 0xc6de, 0xbc30, 0xf50e, 0x66c2, 0xdaf7, 0xde69, 0x192, 0x9b86, 0x222b, 0x5873, 0xfc2c, 0x10b5};
  11.     uint16_t m[0x102] = {0x100, 0x953b, 0xa4c5, 0x7344, 0x586e, 0x2341, 0xa201, 0x3cb2, 0x8261, 0x69e, 0x5a1f, 0x8de7, 0x3e1, 0xe816, 0x743a, 0x26ed, 0xea8d, 0x19b5, 0x8aab, 0xb894, 0x1a4e, 0x826e, 0x196, 0xabe, 0xe069, 0xab88, 0x88f0, 0x8be6, 0x4537, 0x5ced, 0x7665, 0x9719, 0x5622, 0x10d5, 0x116b, 0x380c, 0xc4c7, 0x90ae, 0x168f, 0x86c0, 0xf038, 0xbba1, 0x8e3c, 0xac56, 0x2c9, 0x5125, 0xf108, 0xf76b, 0x5389, 0x474d, 0xa04e, 0xbdfa, 0xed73, 0x7130, 0xe965, 0xb65f, 0xed2e, 0x6c71, 0x3952, 0xf3d2, 0xaa5f, 0x994b, 0xb529, 0x3f80, 0x4b9c, 0xd574, 0xe365, 0xb91, 0xf5c5, 0xb28d, 0xc0cb, 0x8eed, 0xf19b, 0x4944, 0xb02a, 0xb701, 0x1485, 0xd168, 0x4592, 0xaba, 0xf658, 0xfa61, 0xfd98, 0xbbde, 0x412a, 0xbb62, 0x7607, 0x6be7, 0xe3b5, 0x78bc, 0x3763, 0xb564, 0xabf3, 0xe14, 0x8511, 0xf3e5, 0x3e0f, 0x549e, 0x4d67, 0x562e, 0x25c6, 0xb7fd, 0x100, 0xb46d, 0xd871, 0x9cd2, 0x18e7, 0x3aaf, 0x279b, 0x1e69, 0x386d, 0x57cc, 0xe016, 0xdfc0, 0x6fdc, 0x52fa, 0x78c2, 0xff2b, 0xfd5c, 0x4be5, 0x7e00, 0x288f, 0x1775, 0x8e74, 0xe179, 0x1ab2, 0xcab5, 0x5e6c, 0x90f7, 0xc5bb, 0xffe5, 0xd960, 0xa52d, 0x48ba, 0x515a, 0xbadb, 0xa888, 0xeae3, 0xf4f3, 0x162c, 0x19cf, 0xa302, 0x673c, 0x8608, 0x1182, 0x6c0, 0x4d3f, 0xd93d, 0xfea9, 0xee85, 0xdda6, 0xf6e0, 0xdfaf, 0x2f4, 0xaf2b, 0xaaa1, 0xcda7, 0x19bd, 0x22ee, 0x9490, 0x9b9f, 0x906a, 0x297a, 0x7ea4, 0x76d8, 0xe67a, 0x243a, 0xc21b, 0x96c2, 0x1a1d, 0x2f1b, 0x28fc, 0x95f9, 0x725e, 0x84b1, 0x156a, 0xf65e, 0x1d8d, 0xbcc1, 0xbdec, 0x9267, 0xf0a3, 0xaab6, 0x444b, 0x4cc3, 0x4116, 0xfe19, 0xb87b, 0xffb0, 0x5712, 0x8de0, 0xc3eb, 0x5f7c, 0x6e4d, 0xb8c1, 0xcad9, 0xd8f2, 0x988e, 0xe207, 0xd9dd, 0x8b7e, 0x275c, 0x744b, 0x7610, 0x4ff3, 0xcbc3, 0x5fba, 0x1b67, 0xbca, 0x1cd, 0xbf4c, 0x14ed, 0x9db, 0x20c3, 0x609e, 0xe49a, 0x1591, 0x836a, 0xb002, 0x96f4, 0xb976, 0x5146, 0x638f, 0xa5ae, 0xebb4, 0xebfb, 0x6150, 0xcbf1, 0x123f, 0x103f, 0x58, 0x1824, 0x2978, 0xc94c, 0x9c32, 0x99, 0x8dce, 0x366e, 0xbe33, 0xebbf, 0x52f5, 0xd8f9, 0x321d, 0xda34, 0x4db5, 0xc3e8, 0x932f, 0x3147, 0xfa0d, 0x13bf, 0x89f6, 0xede2, 0x7f49, 0x1d0f, 0xd208, 0x8c51, 0xab9b};
  12.     uint16_t m_prime[0x102] = {0x100, 0x840d, 0x9ebf, 0x88b, 0x6dae, 0x2858, 0x467d, 0x43ff, 0xf924, 0x89c2, 0x1866, 0xcc0c, 0x1db4, 0x2bb6, 0x1a6, 0x8ee8, 0xa75d, 0xa69e, 0x4ba3, 0x8c2e, 0xe3c9, 0xbf20, 0x5a15, 0x37e, 0x698c, 0xa006, 0x2f84, 0xada6, 0x7667, 0xdcad, 0x2b0c, 0xa491, 0xc8ff, 0x5a8a, 0xa4fa, 0x2b6a, 0xed96, 0xa3ba, 0xdd7d, 0x8352, 0x7e0c, 0x8830, 0x3b00, 0x8ef4, 0xc034, 0xe600, 0xba8c, 0x479f, 0x877, 0x257a, 0x164d, 0x828a, 0xe8bc, 0xbaef, 0x409f, 0xa519, 0xfda0, 0xc856, 0xa90, 0xcb2e, 0xb2b8, 0xbe98, 0xa416, 0x51c4, 0x9598, 0x6d41, 0xc13c, 0xa5f0, 0xa74a, 0x97ec, 0x753d, 0xcfb5, 0x1245, 0x3a69, 0xd988, 0xc31, 0xb9e5, 0x8b4a, 0x6a5d, 0xbe0d, 0xd24d, 0xcce5, 0x1621, 0x5, 0xbf5, 0x9814, 0x7286, 0xcfe9, 0x7d91, 0xd8ad, 0x906b, 0xa797, 0xa710, 0x81bc, 0x3ac1, 0xa65b, 0x46e, 0x6915, 0xd84, 0x2eff, 0x6c72, 0xd4dc, 0x3feb, 0xdfb6, 0x4320, 0xcbc7, 0x2a61, 0xf1ba, 0xf16a, 0xb70f, 0xd35b, 0xd175, 0xca81, 0x1d71, 0x558b, 0x5a21, 0xb483, 0x78ab, 0x8084, 0xa9da, 0x3dfb, 0x4f0c, 0xd156, 0x5f9c, 0xa352, 0xf453, 0x3712, 0xb2eb, 0x131f, 0xa909, 0x9a40, 0x4df8, 0xc452, 0x15d3, 0xe0c6, 0xc80a, 0xa0dc, 0x4c78, 0xfb7, 0x32b9, 0xa3f8, 0x823e, 0x9aca, 0xf158, 0xf65c, 0xd45e, 0xfeac, 0x669a, 0xdfba, 0x17ec, 0x7b1a, 0x83ec, 0x3aa4, 0xcd91, 0x510a, 0xd1ac, 0xce2, 0x4ae8, 0x3880, 0xb689, 0x3c69, 0x3f04, 0xb1a6, 0xa426, 0x1bf3, 0x5b92, 0xdb0c, 0x7267, 0xa505, 0x7af5, 0xa95c, 0xdd42, 0x6ee, 0x399d, 0x981b, 0xb2e7, 0x6a72, 0xafd3, 0x4ed5, 0x6108, 0xcae8, 0x5f63, 0xea96, 0xb7ce, 0x5557, 0x736d, 0xc918, 0x866e, 0x57e3, 0x70bb, 0x51f5, 0xb099, 0x554a, 0x6c56, 0x7003, 0x4900, 0xd137, 0x153e, 0x4ec, 0xbbad, 0x5c5d, 0x56c5, 0x4a5c, 0x497e, 0x6572, 0x410e, 0x816, 0x6700, 0x68cb, 0x8c65, 0x2a6d, 0x2500, 0x494d, 0xf9d5, 0xe56f, 0x53fd, 0x4565, 0xebca, 0x82db, 0x9359, 0x85a9, 0xbe67, 0xb747, 0xb83e, 0x9e4f, 0xf46d, 0x3974, 0x1dc4, 0x9c77, 0x52ed, 0x1799, 0xa913, 0x1f83, 0x8586, 0xf404, 0xcd88, 0xa7b4, 0xa74f, 0x2881, 0x7b42, 0xc480, 0x7a90, 0x5da4, 0x911, 0x85ed, 0x826e, 0x935, 0xa7e6, 0x8cc4, 0xead7, 0xfff2, 0xabaa, 0xce54, 0x6dfa, 0x7540, 0xcd33, 0xa08c};
  13.  
  14.     uint16_t R[0x103] = {0x101, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  15.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  16.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  17.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  18.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  19.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  20.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  21.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  22.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  23.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  24.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  25.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  26.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  27.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  28.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  29.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  30.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  31.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  32.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  33.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  34.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  35.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  36.                                 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000,
  37.                                 000000, 000000, 000000, 000000, 0x1};
  38.  
  39.     uint16_t result[MAX_SIZE] = {0};
  40.     uint16_t result2[MAX_SIZE] = {0};
  41.     printf("\nmp_mult:\n");
  42.  
  43.     START_TIMING
  44.     mp_mult(a, b, result);
  45.     STOP_TIMING
  46.     RUN_TEST("mp_mult", result, a_times_b);
  47.  
  48.     printf("\nmp_square:\n");
  49.     START_TIMING
  50.     mp_square(a, result);
  51.     STOP_TIMING
  52.     RUN_TEST("mp_mult", result, a_squared);
  53.    
  54.     printf("\nmp_div:\n");
  55.     START_TIMING
  56.     mp_div(a, c, result, result2);
  57.     STOP_TIMING
  58.     RUN_TEST("mp_div quotient", result, a_div_c);
  59.     RUN_TEST("mp_div remainder", result2, a_mod_c);
  60.  
  61.     printf("\ndh_mon_pro:\n");
  62.     START_TIMING
  63.     dh_mon_pro(a, a, m, m_prime, result);
  64.     STOP_TIMING
  65.  
  66.     printf("\ndh_mon_exp:\n");
  67.     START_TIMING
  68.     dh_mon_exp(a, b, m, m_prime, R, result);
  69.     STOP_TIMING
  70.     RUN_TEST("a ^ b mod m", result, a_pow_b_mod_m);
  71. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top