...

Source file src/github.com/cloudflare/circl/sign/dilithium/mode3aes/internal/params_test.go

Documentation: github.com/cloudflare/circl/sign/dilithium/mode3aes/internal

     1  package internal
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/cloudflare/circl/sign/dilithium/internal/common"
     7  )
     8  
     9  // Tests specific to the current mode
    10  
    11  func TestVectorDeriveUniformLeqEta(t *testing.T) {
    12  	var p common.Poly
    13  	var seed [64]byte
    14  	p2 := common.Poly{
    15  		1, 8380415, 8380415, 8380414, 3, 0, 4, 0, 4, 8380415,
    16  		8380414, 3, 0, 0, 8380413, 8380415, 3, 8380414, 3, 8380414,
    17  		8380415, 1, 3, 1, 8380415, 4, 8380414, 8380416, 2, 8380415,
    18  		4, 8380415, 3, 2, 3, 0, 1, 8380415, 2, 4, 8380413, 8380413,
    19  		1, 8380416, 3, 0, 8380416, 3, 0, 8380416, 8380414, 3,
    20  		8380416, 8380413, 2, 1, 3, 8380414, 8380416, 8380413, 4,
    21  		3, 0, 0, 8380413, 8380414, 2, 2, 2, 2, 8380416, 8380414,
    22  		2, 8380413, 8380413, 1, 8380415, 2, 1, 8380416, 2, 0,
    23  		8380416, 2, 8380416, 8380413, 1, 1, 8380416, 4, 8380415,
    24  		8380413, 4, 3, 8380416, 8380414, 0, 2, 4, 4, 8380415, 2,
    25  		3, 8380416, 8380416, 2, 8380416, 8380416, 2, 4, 8380413,
    26  		4, 2, 8380415, 4, 4, 3, 8380415, 0, 4, 4, 0, 4, 2, 8380413,
    27  		0, 0, 8380414, 8380414, 1, 1, 8380413, 8380416, 2, 8380413,
    28  		4, 8380416, 3, 8380416, 8380415, 8380415, 2, 0, 1, 8380416,
    29  		8380413, 3, 1, 4, 1, 8380416, 0, 8380415, 8380415, 2, 2,
    30  		0, 2, 3, 4, 1, 4, 2, 2, 8380414, 1, 8380414, 4, 1, 2, 3,
    31  		2, 8380413, 8380416, 0, 8380415, 8380414, 2, 3, 2, 8380416,
    32  		8380415, 2, 4, 8380414, 2, 2, 8380413, 8380415, 4, 0, 0,
    33  		3, 8380414, 8380415, 4, 4, 8380416, 4, 8380416, 4, 1, 0,
    34  		8380413, 8380414, 1, 3, 1, 8380413, 2, 8380413, 8380415,
    35  		1, 1, 8380416, 0, 8380416, 2, 8380413, 8380416, 3, 1, 2,
    36  		3, 8380415, 8380416, 8380416, 8380414, 8380415, 4, 8380416,
    37  		0, 8380415, 1, 8380415, 8380414, 8380414, 8380416, 1, 0,
    38  		4, 8380415, 1, 2, 8380416, 8380413, 8380416, 1, 4, 8380414,
    39  		8380416, 8380414, 8380416, 8380415, 3, 4,
    40  	}
    41  	for i := 0; i < 64; i++ {
    42  		seed[i] = byte(i)
    43  	}
    44  	PolyDeriveUniformLeqEta(&p, &seed, 30000)
    45  	p.Normalize()
    46  	if p != p2 {
    47  		t.Fatalf("%v != %v", p, p2)
    48  	}
    49  }
    50  
    51  func TestVectorDeriveUniformLeGamma1(t *testing.T) {
    52  	var p, p2 common.Poly
    53  	var seed [64]byte
    54  	p2 = common.Poly{
    55  		91453, 8134283, 8211453, 8218977, 8362980, 431655, 98537,
    56  		320966, 7892886, 144675, 495826, 7910635, 308711, 8024934,
    57  		8314212, 8323958, 8242606, 7947101, 419492, 427692, 354075,
    58  		21485, 456475, 213575, 362300, 8142303, 8322444, 7885879,
    59  		89158, 181715, 8094655, 8303634, 8060028, 7920325, 192378,
    60  		7910586, 7897074, 8097343, 7899868, 8339413, 73206, 237312,
    61  		8183555, 348083, 8154041, 8364746, 8078364, 8312790, 105195,
    62  		8037823, 8356712, 7994594, 240882, 70742, 8109371, 8176349,
    63  		467152, 51422, 340432, 8030176, 342172, 154911, 64858,
    64  		97614, 212758, 8285880, 521738, 326395, 296748, 8111442,
    65  		8016327, 7953747, 158922, 330421, 8331843, 449771, 168214,
    66  		8198309, 8228760, 7940533, 2498, 305217, 475829, 8037995,
    67  		8250962, 305070, 8217080, 432779, 213808, 8162729, 381514,
    68  		7995827, 7989202, 129047, 246099, 67554, 8233257, 398954,
    69  		223629, 444125, 150369, 223365, 159236, 55259, 172419,
    70  		163583, 354428, 8263789, 8017325, 8229594, 32340, 490228,
    71  		450684, 8069619, 53733, 7932894, 7955848, 8197876, 201557,
    72  		8307246, 446889, 8211538, 7889784, 8071108, 496027, 8159198,
    73  		8037, 7973907, 248186, 4806, 185437, 457847, 138862, 8124477,
    74  		284692, 8255820, 8068729, 8292005, 244272, 8061114, 21475,
    75  		8058902, 421466, 8306487, 455649, 8218652, 7634, 148216,
    76  		7951766, 394889, 8127579, 366374, 8062903, 8139245, 367068,
    77  		8281027, 734, 396374, 7969282, 7977632, 8098596, 343569,
    78  		8191282, 223874, 163783, 203572, 109732, 8229113, 8128208,
    79  		321529, 296492, 8202474, 50404, 8336017, 8190899, 8191497,
    80  		8279167, 336877, 7878526, 7922949, 7974614, 8076047, 8201365,
    81  		8334333, 416495, 8090175, 150066, 7947253, 474615, 7937629,
    82  		8027358, 356569, 191566, 87441, 8219157, 8375553, 8029697,
    83  		8026188, 8193863, 295873, 7906281, 487687, 8363474, 386621,
    84  		282726, 8373831, 50680, 8239505, 7912018, 493972, 8335677,
    85  		8079840, 251210, 263667, 221541, 41291, 88028, 8373098,
    86  		505241, 7981448, 8308113, 299485, 428036, 93865, 90428,
    87  		392003, 80833, 7975521, 336649, 7950328, 8049195, 8332757,
    88  		8205291, 8178296, 7911197, 7925805, 519154, 60176, 54121,
    89  		222738, 464285, 8022604, 8174235, 7856202, 8291898, 473254,
    90  		8106411, 7943812, 267650, 7958173, 372387, 409597, 204263,
    91  		477847, 83925, 111791,
    92  	}
    93  	for i := 0; i < 64; i++ {
    94  		seed[i] = byte(i)
    95  	}
    96  	PolyDeriveUniformLeGamma1(&p, &seed, 30000)
    97  	p.Normalize()
    98  	if p != p2 {
    99  		t.Fatalf("%v != %v", p, p2)
   100  	}
   101  }
   102  

View as plain text