github.com/mad-day/Yawning-crypto@v0.0.0-20190711051033-5a5f8cca32ec/bcns/fft_test.go (about)

     1  //
     2  // FFT based polynomial multiplication tests.
     3  //
     4  // To the extent possible under law, Yawning Angel waived all copyright
     5  // and related or neighboring rights to bcns, using the Creative
     6  // Commons "CC0" public domain dedication. See LICENSE or
     7  // <http://creativecommons.org/publicdomain/zero/1.0/> for full details.
     8  
     9  package bcns
    10  
    11  import (
    12  	"testing"
    13  )
    14  
    15  var rlweARefSq = [1024]uint32{
    16  	0x7b66d32d, 0x3c4d6455, 0xa93b723a, 0xb6577ec1, 0xec90e05e, 0xc14498ff,
    17  	0x8b4c9c6c, 0xc3214548, 0x724325ab, 0x86b3ebd9, 0x795f5d2d, 0x75a8518c,
    18  	0xb5e32f1c, 0xe67177f8, 0x75b8085f, 0x48bbb13c, 0x2e52aa13, 0xf18c9a06,
    19  	0x3fa95bfa, 0x9a7d6084, 0x79f91a9b, 0x51e6b306, 0x96baec3b, 0x855986ef,
    20  	0xdad2251c, 0x428d82be, 0xc33f5af8, 0x2be8f658, 0xb4fa1ddd, 0x28a970fc,
    21  	0x0ddc54bf, 0x0d82d6be, 0x02d0bc8e, 0xc28de8ee, 0x67fa85fd, 0xc2ead626,
    22  	0xff26e393, 0xcbf83b91, 0x3cb01f20, 0x9e847843, 0x7ff02d74, 0x3c1edd7a,
    23  	0x70333230, 0x529d00c9, 0xbcd6dfb7, 0x6121f589, 0x55a241e5, 0x47dc048a,
    24  	0x864f9225, 0x8a99320c, 0xc87bf99f, 0xd189a5b7, 0xfa45ccc2, 0x7fa8c1dd,
    25  	0xd34c6384, 0x04461171, 0xde6fa373, 0xc294e483, 0x1f5e5e6f, 0x47f5306e,
    26  	0x1d0df4ac, 0x8dda2ff3, 0x6bca6345, 0xd821ee16, 0x236fa8da, 0xdad7c906,
    27  	0x90fee347, 0x766dd949, 0x4f251988, 0x7da7bc9b, 0x821f4964, 0xdd9ec3a9,
    28  	0xf3dbe75a, 0x02473c7d, 0x2b017971, 0x8f24a5f4, 0xd663e570, 0x91d67959,
    29  	0x3579ad0f, 0x32b5c212, 0xfe19dda1, 0x9373761a, 0x28d299e5, 0x214991a4,
    30  	0x76c848c4, 0x19a832c9, 0x5526b06e, 0x1b157c2e, 0x283dc5f9, 0x478c4246,
    31  	0x132d1c5b, 0x13e7512e, 0x5d8f820a, 0xabe07e27, 0x64d3303b, 0xfa42d51e,
    32  	0x64ba4bd3, 0xff417a07, 0xbaf4cf7d, 0x2f398844, 0x2b5a25c8, 0xcfa011fb,
    33  	0x6ce852f3, 0x9be75938, 0x60f887a4, 0x800889a2, 0x532ba681, 0x8268939c,
    34  	0xa336d58a, 0x74f7386b, 0x5fbcc8c3, 0x6334186d, 0xfc079152, 0x19368a73,
    35  	0x367bc49c, 0x967177c2, 0x18afab52, 0x3bc98b15, 0x99e63b80, 0x0fd63767,
    36  	0x84705ff9, 0x55517cea, 0xe0c1e8b8, 0xf46ee0ff, 0x38f1713b, 0x5129481d,
    37  	0x22b1ef66, 0xea5e6ee5, 0x42926e4d, 0xb5c519ca, 0x0262daa7, 0x7284947d,
    38  	0xc94e8d35, 0x7eceb8d7, 0xb4fe0ed5, 0xbc5eced1, 0x539c9e78, 0x2c0c79a8,
    39  	0x9482625a, 0xc4db8735, 0x322f653b, 0x72573d5c, 0xa6370603, 0x996d527e,
    40  	0x4b5f2dac, 0xd3d1580f, 0x0ceaf478, 0x3c15dbd0, 0x03655228, 0x8d5c0ba5,
    41  	0x2eac4293, 0xbb5da25f, 0x49432921, 0x59296c32, 0x368a58b0, 0xab228305,
    42  	0xcabf19fa, 0x0a9aa5e4, 0x6c2fc35f, 0xe3cba559, 0x16d12c40, 0x24bac4c9,
    43  	0x743a56c0, 0x154d9a1a, 0x298e3145, 0xb0a3c075, 0xa29960e7, 0x96a3feb2,
    44  	0x0097929c, 0xb869972a, 0x6b2f5fe7, 0x4da3d3b3, 0x31a172dd, 0x0b91c6c0,
    45  	0x15f071f6, 0xccb40a73, 0x7089b248, 0x522e0e8a, 0x6e32df27, 0xedfd4035,
    46  	0x6d110dd6, 0x526b0fcc, 0xd027007c, 0x0e839adc, 0x2834d0f7, 0xec70e666,
    47  	0x89aa7a4c, 0x55a842de, 0x1e98b66c, 0x5bcce9e2, 0x5268c6cc, 0xf14f2515,
    48  	0xeb93fa10, 0x5cf2eda9, 0xf5862f53, 0xbbfb95a4, 0x0038428e, 0xb8696ea9,
    49  	0x4b094dac, 0x4af1e369, 0xd51c9215, 0xfc162304, 0x055d5e23, 0xc9d17d95,
    50  	0xcd85369e, 0xa948bab2, 0xd3e30b22, 0x4eb49079, 0x7cfbe861, 0xae015932,
    51  	0x92cadbb6, 0xe6cbeaa1, 0xaa5975c7, 0x3fb535f1, 0x2d97dc30, 0x6e0cf8d5,
    52  	0x8a9f51de, 0xd899d301, 0x2a2e59d6, 0x542bfe89, 0x32d073c3, 0xd5e78f0f,
    53  	0x44dfd95c, 0xb3723d71, 0xa09d918b, 0x64f4874c, 0xdcb3b2f2, 0xc9b30a5d,
    54  	0x44c89348, 0xe0fd2a11, 0x4f875e7b, 0x3d672a45, 0x4893c343, 0xa8b32f23,
    55  	0xff9e23d7, 0xb9041cce, 0x5f3ed824, 0x537e43e0, 0xab771286, 0xfdb59998,
    56  	0x2a865b65, 0x64faca4d, 0x2cc43b21, 0x9a489031, 0xa1c54125, 0xe62dfe81,
    57  	0xe56f2cdc, 0x43ff5b93, 0x1421c0a6, 0x87f37b7a, 0x3e8875cf, 0x8b0df57f,
    58  	0xc2a8e410, 0x5b020f2c, 0x8c4002d5, 0xe405872f, 0xeafacd17, 0x4b4ec69b,
    59  	0x06a39959, 0x92861853, 0xe79cd402, 0x4a64f621, 0xeae2912e, 0x8b370935,
    60  	0x8180480a, 0xfb8eba17, 0x1cf78aea, 0x76b11ba3, 0x460b47ea, 0xa509c930,
    61  	0x72968d64, 0x7a9b601a, 0xb390ab57, 0xb46a8b97, 0x24b16ae4, 0x2db42e72,
    62  	0x559c6c62, 0xd0149a64, 0xee56148a, 0xa58e9d4d, 0xa2a4d6ff, 0x32cfe8bc,
    63  	0x9298133c, 0x896ac428, 0x58ac9a12, 0x6cbea607, 0x0dcc2f3a, 0x116183f8,
    64  	0x467f7cf3, 0xcae1e71d, 0xb37332cf, 0x3cfdb1ea, 0x3e08a9f9, 0xf9d32357,
    65  	0x828acab7, 0x08ca6b00, 0xdd39c49a, 0xc0ee0150, 0x580879c6, 0xe0f03329,
    66  	0x1cfc68e1, 0x17a2058d, 0xe7bdb807, 0x3f66a08e, 0x94f8bbc1, 0x043a41a3,
    67  	0x4419afb6, 0x4f448e2d, 0x114e5e40, 0xbd29ddfa, 0x94647970, 0x37f47504,
    68  	0x6c98b8fe, 0x538f545b, 0x643e2d70, 0x9be4480b, 0xa4b977bd, 0x895b4650,
    69  	0x72dec918, 0x10286d52, 0x0a5b0c37, 0xdd209083, 0xbc7d8f97, 0xf360251a,
    70  	0xfafbbed9, 0x0301600a, 0x1a37fadb, 0x835263d7, 0x87057af4, 0x34e83033,
    71  	0xea8fcc06, 0x0abf7ee4, 0x050d90c6, 0x4efa5aae, 0x73023a4e, 0x3f375d71,
    72  	0x4ae4f653, 0x4cfd5ab3, 0xe931a218, 0x182799aa, 0x5e6f65bb, 0xf543b708,
    73  	0x18795bb0, 0xd4ae3294, 0x76b8070f, 0x212d8348, 0x11a686c9, 0xf3b7e5e5,
    74  	0x2b4bdb98, 0x2e02a9c8, 0x189563a5, 0x5b0f972d, 0xb8011a14, 0xc7af9dde,
    75  	0x9b513a1d, 0x1b5fda63, 0xf261eba9, 0xce140135, 0x2edeb61a, 0xd43d01a7,
    76  	0x775eff8a, 0x49ecb67b, 0x9dab5f69, 0x4e6a49a0, 0x7646a938, 0x2ce613b3,
    77  	0x608e02c6, 0x76f0a8c8, 0xdd4c1fbc, 0x14428419, 0xfd448d3b, 0xf455b322,
    78  	0xf3da1946, 0xc60e1f5f, 0x6fd517ef, 0xc95b9e66, 0xdfe44510, 0x3026334c,
    79  	0xcc5b2d3f, 0xe8262fa2, 0xd50f5ce2, 0xc954b7cd, 0x518e800d, 0x7856f983,
    80  	0x7caf50f2, 0x24f63d69, 0x2c4ac3a2, 0xbb5abec6, 0xc7bff3a3, 0x5e04ffd7,
    81  	0xb3d871c0, 0x81b026ee, 0x0c722abe, 0x5b9f0762, 0x81c9dac1, 0x47776ef9,
    82  	0x75094951, 0x8a649a57, 0xfae8431f, 0x5a28b7c9, 0x3716fc3f, 0x9f611b38,
    83  	0xb9b256f4, 0x2370626e, 0xc62c3491, 0x5abd6a67, 0x806619eb, 0xba38622f,
    84  	0xe2c58e83, 0x69f0bc7b, 0x232b7f43, 0xf52feeee, 0x159cf88e, 0xaafee79e,
    85  	0xd04827b7, 0x5d8a1bcd, 0x3bf588d8, 0xfca98693, 0x99f1f333, 0x78284a66,
    86  	0xccd93b8a, 0x2bc03a80, 0xb650f5f0, 0x6c9155e4, 0x1a3bacb1, 0xf309174c,
    87  	0x1cd31ce3, 0x8af540d8, 0xac11f96a, 0x53db4e96, 0xdd4accaf, 0x439d4528,
    88  	0x222bb70e, 0x05ee312e, 0x9a31c724, 0x5f0793d0, 0x23292d41, 0xb967d703,
    89  	0xaeab0f40, 0x5f8c4cd2, 0x6d458472, 0xce31e55b, 0xd1adf319, 0x83119c2c,
    90  	0x921d19a2, 0x4041c9fd, 0xe13be3a5, 0xbbd0b2d0, 0x6ac0e361, 0x1ef26e05,
    91  	0xa520a6a7, 0xb1607a2b, 0x4bd85b50, 0x1f6c39ef, 0xd5ff3b54, 0x5f09fac3,
    92  	0xdca20fdb, 0xae76cb8a, 0xbd7e3df4, 0x461028b7, 0xe0b33c78, 0x28461089,
    93  	0x93063cfa, 0x02fe4826, 0x2c51e3d8, 0x68a603bd, 0xfc8a1be7, 0x3090d62a,
    94  	0x14edf090, 0x91199f79, 0x1f7b5a9e, 0xdd110b3a, 0x7bd9e3bc, 0xb654b6bc,
    95  	0x3e66b3a3, 0x53dc5ce6, 0xf008e132, 0xfde93c3f, 0xb45e618a, 0xa823b189,
    96  	0xa5165b7b, 0xc46b7ea5, 0xd1e56efa, 0xa2379e15, 0x51a8987a, 0x2e01345b,
    97  	0x3b58745e, 0xf1d38870, 0xecada142, 0x0cea0381, 0x9da4c711, 0x1e0f989e,
    98  	0x0c6e81f2, 0xcdbbe2b2, 0x3a26d2ec, 0xd67f97ba, 0x1251799f, 0x39e9a32e,
    99  	0x4fb8bbb9, 0x1f624be3, 0xc57ee4f1, 0x6b848d1b, 0x8163c4b8, 0x41c56b5a,
   100  	0x47965501, 0x7a1b09ad, 0xad9d49bf, 0x97aa53b8, 0x6a2b6748, 0xe09d6f0a,
   101  	0x8c816e66, 0x896710dd, 0x30def196, 0x43ecb824, 0xe29fda7a, 0xce93d419,
   102  	0x93f33b7b, 0x06d19b2c, 0xb0952539, 0xd49fa148, 0x20334ddf, 0x99392f11,
   103  	0x5bf01f7b, 0x71e50217, 0x37162852, 0x7bc75662, 0xc501895e, 0x99053915,
   104  	0x1105bf13, 0x9dec9a2f, 0x92e390a1, 0x065a0b50, 0xd86ab0d8, 0x06877f78,
   105  	0xa5ea0796, 0xf6fd9b19, 0x533982be, 0xebe4f01a, 0x5355a391, 0x972bf599,
   106  	0xe87e94e4, 0x6e80ab36, 0x42489d2c, 0x725ecf90, 0x65c21c45, 0xdd2a0685,
   107  	0x16419df4, 0x0700d4f4, 0xd39ee58b, 0xcfa819e9, 0x818b1efc, 0x6cf59661,
   108  	0x028c4675, 0xf11a8705, 0xfa8cd7f4, 0xe89cab16, 0xbf7b8cbc, 0xacbb5eac,
   109  	0x1586d13a, 0x892406c0, 0x78b7d00e, 0x7a2574de, 0xffe0d582, 0x7579a62d,
   110  	0x95890100, 0x962209d4, 0x3e3e4dd3, 0x3ad5aea7, 0xce8999d6, 0x3de56633,
   111  	0x63bf7168, 0x9fe134c8, 0x2e24bba0, 0x28666be5, 0xdbf2de83, 0x51e15afa,
   112  	0xd98f2502, 0x47e07d1d, 0x6eb48b9e, 0x7e776e9b, 0xf6241c09, 0x0538775c,
   113  	0xf85e7880, 0x390b3955, 0x8275ed57, 0xb74073f6, 0xc0a482e6, 0x34a54fd8,
   114  	0x811ee738, 0x0f8a3ce4, 0xc4fcdc60, 0x9272b410, 0x3e90cff0, 0xa8416e4d,
   115  	0xb56bd793, 0xc98bba4c, 0xbcff2f0e, 0xdbb785a7, 0xc9ae27f6, 0x0424a0f5,
   116  	0x8783dc56, 0xf755c346, 0x7046d3b6, 0xea8dcffb, 0xdc391e5b, 0x31cb4c25,
   117  	0x96ac7ba0, 0x04a8c3f3, 0xf8da424d, 0x033ba2e7, 0x113ee6d0, 0x1c6e9dce,
   118  	0x764b02c4, 0x375ff0f3, 0xfb94bae3, 0x89643fcf, 0x97507fee, 0x6c170700,
   119  	0x1f1b20bd, 0xe61d704c, 0x1f076cfc, 0x76d97210, 0x0d170132, 0x49746c7a,
   120  	0x642d27ec, 0xa1223140, 0xcc143b79, 0x40f50978, 0x2a972bf7, 0x9606944f,
   121  	0xd3847269, 0xe4ea542c, 0x904d28d7, 0xd8e40435, 0xc6b045d2, 0x7d310756,
   122  	0x44a866ea, 0xc9f35230, 0x890d1afe, 0x622e8fa6, 0x5d4e6681, 0x9e01d089,
   123  	0xfc93e1c2, 0xb4db29c1, 0xb9a89358, 0xa1cf8e1d, 0xc4c7837b, 0xe34dd6e7,
   124  	0xe368d08a, 0xb59f4919, 0x1ac3d0bc, 0x1f3f8839, 0x1f61bc3c, 0xd88d9edc,
   125  	0x52d31996, 0x33573779, 0x1eda229f, 0xecc02a27, 0x4ff7fc55, 0x88eba92e,
   126  	0x8b96947c, 0x2cb63a97, 0x2cb75eac, 0x8537c28d, 0x529fb80c, 0x01d8217a,
   127  	0x3bf64e8c, 0xfe1a38e1, 0x758248a9, 0xd6b4fe86, 0xe2b9fc58, 0xe29fe7e8,
   128  	0xcb48b9e2, 0x3238bd6f, 0x4664a77b, 0x22fa4e9c, 0xb273a982, 0xdfcd8663,
   129  	0xffa153b3, 0x92f32478, 0x734d5888, 0xb3aebd05, 0xf3f2d449, 0x8b5747b4,
   130  	0x8027c0bf, 0x84424def, 0xaac14418, 0x6d54f49b, 0xfe1a6f4e, 0xa2cf7385,
   131  	0x7b69d190, 0x19055892, 0xae4ac6b7, 0x217d5334, 0xfc2c2036, 0x11ad8f36,
   132  	0x7d42c01c, 0x95f7d081, 0x6d327025, 0x293b5cf9, 0x122b2141, 0xbd270a73,
   133  	0x770d4d93, 0x62334eed, 0x1a1aa292, 0x2298fcd3, 0x6c66a4e2, 0x1347d8a0,
   134  	0xb847ed77, 0x689f94a0, 0x8668c402, 0x3d31850c, 0x2515a677, 0xc1ddbb60,
   135  	0x412c7c5f, 0x037a8597, 0x4cfca84f, 0xaa565793, 0x09525c1d, 0xce66f13d,
   136  	0x4f01a379, 0x75b1aaf5, 0xe0316abb, 0xfb3811c8, 0x953e3590, 0xc0ba83d3,
   137  	0xe1e25039, 0xbd8d17d8, 0xb8987511, 0x33b5d30c, 0xae0ed7ed, 0x055c06e6,
   138  	0x3615e8bf, 0x90fa04a1, 0xbc869e34, 0x82a48ac2, 0x0e69793b, 0x11f4be02,
   139  	0xdd33a0d9, 0x30a29fa7, 0xf7cbe3f4, 0xc8e99a3a, 0xf67ef90b, 0x7ccdaa1d,
   140  	0x82add964, 0xb3849fbc, 0x17d62675, 0xecc50113, 0x53e7ce86, 0x38098fb8,
   141  	0x4849f33a, 0xcfa78dad, 0xd8919d64, 0x24b56349, 0x44103844, 0x25243d7c,
   142  	0x692b5f09, 0x1d74c463, 0xcd02f417, 0x420d333c, 0xf74dd081, 0x14d7b7b3,
   143  	0x1f613963, 0xdeac29e4, 0x0f52d1d1, 0xb6d4e600, 0xed9adf59, 0xfebe84b8,
   144  	0x0a7739a7, 0xfe005feb, 0x49422950, 0x932f34b7, 0x833c0b96, 0xa8e57ee6,
   145  	0x2e5ae108, 0x131de34c, 0xd1e47c8a, 0xd0d3b722, 0xe13b905b, 0x4f61853a,
   146  	0xba0a9a6e, 0xcd0489b9, 0x0420ec57, 0x59e72e5c, 0x4f2208c0, 0xdbf34999,
   147  	0x46582b44, 0xc2d6e7ce, 0xa2435ee4, 0x66546462, 0x8d1bcfb4, 0x89335779,
   148  	0xc4d5aca6, 0x171439b3, 0xe4bf3b00, 0x9157800e, 0x98913343, 0xb8deedba,
   149  	0xb5f89b8c, 0xd381a982, 0xc481d4ea, 0x6f84119f, 0x2665085c, 0xa07f24ef,
   150  	0x4e323421, 0xc35352d1, 0xbf3c86a0, 0x1550f8b5, 0xcb09e198, 0xa72e601f,
   151  	0x66efb5f0, 0x441ac81d, 0x4b3d123c, 0xb50246da, 0xfab28cdb, 0x82291d1e,
   152  	0x45a7b4cb, 0xa3d5c2fe, 0xfdb7ace2, 0x69409b7f, 0x637f2ef9, 0x613bdc83,
   153  	0x586d0463, 0xdf11daf0, 0x593b8a5d, 0xdf3fe612, 0xce01faeb, 0xe5df2fcf,
   154  	0x51a7aef0, 0x463ed3f0, 0x60745a19, 0xbb3b1d0d, 0x50bcb327, 0x3dc7d373,
   155  	0xbe1143c1, 0x81692857, 0xf6b8abc5, 0xf0ec3457, 0x1c71f4a7, 0x9ed096fc,
   156  	0x856d99a8, 0xe1a0a6a7, 0x6a36c552, 0xca470eb8, 0xea8bd4dd, 0x33355610,
   157  	0xc4acf15e, 0x9d795ee8, 0x8894e074, 0xde1097de, 0xdcacae70, 0xce3364a4,
   158  	0xd1c0405b, 0x8a2fd01c, 0x4358e2aa, 0x9076ff72, 0x76ec09b4, 0x6a7e5550,
   159  	0xee888ac7, 0xa4f5adb9, 0x45ab9c18, 0x452cdb82, 0x3c71729e, 0x0588c173,
   160  	0x6ecd0792, 0xe0a2986a, 0x98e4184d, 0x706dce21, 0x12166fb0, 0xa39eaa02,
   161  	0xa9856427, 0xd85f89eb, 0x9b6d50f3, 0xd9e56cd7, 0x4a6dac3f, 0x9686ad70,
   162  	0xa26dbfe5, 0xa1ff2d85, 0xe48eea40, 0xbb69b1fc, 0xb1a77a8b, 0x72c46183,
   163  	0xb771b3d1, 0xdb569898, 0x76627a36, 0xad8ee93f, 0x758e52c2, 0xdc013bbf,
   164  	0xe03d8041, 0xd5aa93f6, 0x021f6cd0, 0x3a413709, 0x4f6c8a84, 0x4bc223ac,
   165  	0x35a3a289, 0xd31cd88f, 0xd750e0f6, 0x342afea5, 0xce8de655, 0x923929f6,
   166  	0x7157346c, 0x36cce6e0, 0x708d9134, 0x2b3f556c, 0x422305cd, 0x73a3affa,
   167  	0x9dd0245e, 0x0d3e5244, 0x579d397a, 0xdde32bd6, 0x43866acf, 0x2d242067,
   168  	0xd0bf9c8e, 0xdfca4bfb, 0x7cf1bf25, 0xa0363bff, 0x6218c735, 0x58139aef,
   169  	0x7d9ad9d8, 0xc70c1aed, 0xc990f75f, 0x1aa8155d, 0xf6d4fbfd, 0xd4c802e4,
   170  	0x0eda82c3, 0x4af3d8f5, 0x65809c20, 0xb5bfe28b, 0xa7b5d527, 0xbdf62dc5,
   171  	0x5a07e0c6, 0xa6028ac0, 0xa166d889, 0xdd958a0b, 0x3f04fdbb, 0x29386f6d,
   172  	0x279170b0, 0x83381ad3, 0xceb06904, 0xc413b6b9, 0x0fdde2a2, 0x638a826d,
   173  	0xc3176382, 0x986ffb6f, 0xd34a4d27, 0x49f6c34b, 0x91b4f101, 0x7cb29aea,
   174  	0xdcf58552, 0x9b1ae718, 0x64e188e3, 0x6ffb1e4d, 0xab17b70c, 0xb4f773c5,
   175  	0xce6306bf, 0x34719f86, 0x59af5abc, 0xc8abb2d8, 0x5eebd369, 0x29413006,
   176  	0xb03ccd29, 0x4699183b, 0x9632c0a8, 0x840eaf29, 0x9375f809, 0x775cdb1a,
   177  	0xe7c0f2ce, 0xdc7b9069, 0xddce1a7c, 0xee3b1f21, 0x671b72d5, 0x003fb0b4,
   178  	0x25a113b9, 0xf596ffd4, 0xcb112a74, 0x036fe050, 0x19890b76, 0xa1a5494f,
   179  	0x2b2b8002, 0xcabb8c7f, 0x633b8f2d, 0x6839543b, 0xd12036a0, 0x01d7c03a,
   180  	0x85a2a435, 0xbc17472b, 0x7852ff15, 0x68adb3e3, 0xb324359c, 0x7b7623e2,
   181  	0x1bbb3c18, 0x3210c88f, 0x65a5c2e5, 0xfdfa5390, 0x0b021f46, 0x86dbf4b3,
   182  	0x3dbd6678, 0xd6843141, 0xe82e19f7, 0x9fd19519, 0xf7c23631, 0x09fbaf78,
   183  	0xcdcd5276, 0xa9df19ac, 0x5ba8f513, 0x5a00faac, 0x58e20648, 0x8b572dc6,
   184  	0x74d3f384, 0x91df4cc2, 0x9a36b96b, 0xffd8d49b, 0x85b65109, 0x213b1a7c,
   185  	0x9a8c20a8, 0x11bbbf70, 0x04f50629, 0x72d27835, 0x04bf9c86, 0xf40cd2b5,
   186  	0xfccf23f6, 0xd914b3b7, 0x74896016, 0x3b9e3505,
   187  }
   188  
   189  func TestFFTMultiply(t *testing.T) {
   190  	var out [1024]uint32
   191  	var f fftCtx
   192  
   193  	f.multiply(&out, &rlweARef, &rlweARef)
   194  	for i, v := range rlweARefSq {
   195  		if out[i] != v {
   196  			t.Fatalf("fft.multiply, mismatch: [%i] %v != %v", i, out[i], v)
   197  		}
   198  	}
   199  }
   200  
   201  func TestBoolToInt(t *testing.T) {
   202  	if boolToInt(false) != 0 {
   203  		t.Fatalf("boolToInt(false) != 0")
   204  	}
   205  	if boolToInt(true) != 1 {
   206  		t.Fatalf("boolToInt(true) != 1")
   207  	}
   208  }