Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3.3.0] Sporadic dilithium_kat_4x4_AES_Deterministic failure #3917

Open
thesamesam opened this issue Feb 21, 2024 · 4 comments
Open

[3.3.0] Sporadic dilithium_kat_4x4_AES_Deterministic failure #3917

thesamesam opened this issue Feb 21, 2024 · 4 comments

Comments

@thesamesam
Copy link

thesamesam commented Feb 21, 2024

I was trying to reproduce #3916 with 3.3.0 but not yet succeeded.

I can reproduce with both:

  • gcc (Gentoo Hardened 14.0.9999 p, commit 568b3f9940f87a775060aea789b2f438af477e9f) 14.0.1 20240218 (experimental) e63ae9085aca9d306a2f16445b473289b9186e10
  • gcc-13 (Gentoo Hardened 13.2.1_p20240217 p13) 13.2.1 20240217

I did however hit another failure once in many runs:

Testing Botan 3.3.0 (release, dated 20240220, revision git:9074b04c1303a24e2084f8325fa570a5ad4f2478, distribution Gentoo 3.3.0)
Properties:
  CPU flags: rdtsc sse2 ssse3 avx2 bmi2 adx aes_ni clmul rdrand rdseed intel_sha
  drbg_seed: 17B5D570B30DF7D1
[...]
dilithium_kat_4x4_AES_Deterministic:
Dilithium_4x4_AES ran 601 tests in 92.28 msec 4 FAILED
Failure 1: Dilithium_4x4_AES unexpected result for generated expected private key hash
Produced: B882DEC292A05E8890222097C4C00FD9774B49E0BDBE981EBB9F8371A181CE6C
Expected: BD0C8516566A958D12A458E7A1B5AC2763208AA9988BEC64E3A695DD12D93DD8
XOR Diff: 058E5BD4C4CACB05828678706575A3FE146BC3492535747A583916ACB358F3B4 (at src/tests/test_dilithium.cpp:101)
Failure 2: Dilithium_4x4_AES unexpected result for generated expected public key hash
Produced: F40020D52D757DA856F42F7FFE03E7C78F4F9ECC5BF3BCBFA79713EE82D5BDB5
Expected: 1ECBF9C21C96E7C287901D8853995FC2EDBE0A86680E42A0747E2DEB4BD11056
XOR Diff: EACBD91731E39A6AD16432F7AD9AB80562F1944A33FDFE1FD3E93E05C904ADE3 (at src/tests/test_dilithium.cpp:101)
Failure 3: Dilithium_4x4_AES unexpected result for generated expected signature hash
Produced: 3D00CA1AA521DE5FEECE2238E6618287854A38DE269D2EF46AB8075A6EFF3C3D
Expected: 02BE7AAD469649B0F6833B3B975A8897829A4F987394DAB82D8D0BF55BBEEE11
XOR Diff: 3FBEB0B7E3B797EF184D1903713B0A1007D077465509F44C47350CAF3541D22C (at src/tests/test_dilithium.cpp:101)
Failure 4: Dilithium_4x4_AES unexpected result for generated expected signature
Produced: 43AECF930F5CDCE7DE1077C07321C58B9811942AF74701041C39638EBB27ED7D1568554BA0CB6F5A2B5182F928E344AEC71951C971B94282898EE75F79F475CCCC6C7D8F9523F301E43DEFC9B3BA10EEA63F98B39D479EB
101417C7C5F9DA150DA63ED556B8878AA540E66E21E05AC1E8AD169EE6C8822A3916852F0282D1547A168584553FC858EAE6538CDFA37022E9B32287080D590A87846842128B68B37FCDBBE54D80AA8F3FE16B1250964C127ECF1AD50
652D63A3367D9CD42FF72AF7E567D8F20608F19C63E47ECF688804920E523A7E2FB1C42B01D4AE14EBED2ECAD1694C0F2CA1A80A42B9792A23279360BDEAB8D168A1F294644982CEE6D625251C30A10254D04AEDF34671105B57CF6F7
F3269DDC97CE8ADE11CD7D12AA2DFF5BC76815D124486DF2E86CAF10B43D6A5299EB92679C4A2C41CC2E0587466B1CE46C01B3203E70366846DE6313A3782CA28CCBB0A9E6D2D6639608247BA5F83C68ECC9EC12D34CA684B3D020135
6D2A4CD51CB980F110AAC8E77C04843E10479943320EA947165BF5FD8E098D6C41140899B5182F55237E1F62235C3F6CC8B37D1CF4703258E43ADA096DF9105BE92BE5CBD7EE691B323794285075500723C0A82F693BC09FA55B7BD52
40A10A438C002FBECD77A86C38B2CDA8F84A3D22BA4AEF2F9F33597E2805911F3A5277D13753496FC3F9963C6CDC3CBC0F4A43EFAD7197C0101CE2FF0484F8FB1BC966CBC2D02C23872DFB43E96B3613C61F86C855635C97FE68C5B45
5A3C70A55A74B4712F31C01DD6B57A868E791CE3E8F511BE198A8DC28CB3A8A07FCFB5FAADB48D599450CF2DE95EBC29E7EF195DD2E2027CF176E12C71F626B023F74B78144F1CEF7107560E46524C5DAAE4AA36A524F2CE6F32A70A1
C1482A922EC3CEDC8ECC5E94C11F715C4AF5618F62FAB9E305760CC4359BF8D1E2240B3B6AC94A9628273B9EC91CE4FBEA94B268E7CE187DBF2360A7BE45CECFE3AE82D7484A6CE1DD662C2C705CBB7FF00208DA39E43A854C2D5699D
C3B18233F34195300C8514EE19D9F1A94162D5106ECD1DA86820013A6A1EB465F85C46994351275A6F6AAD6A0D0BADC329916AFF2E66D7251BE0B8CEFFCAB1D3E50C8222F8BBB964C023FE5048CBC5A35F147ACEB8A2E578380F930E0
F04E3BE13A1D51403B7A2D80B14007C1F555EA124897E17B7A01B7EF171F5878922EFFA68F36FF86BF4574B90AF6452998389923E6B22D49C65E51F88911EBF1E2AB109D6C8F49157276772F7C46CFA0138E20E9EC7254820AC919997
0F3B7F419E9ACDBFC78240B5340DF188A2097D9599A75D15C24D996D243B16FE9ECC09E40268318B70F2759FCEBB6F03C60D5CDE9B813609A96F5ABB074D8D02B6BBB5C50F6F4E63B77DB51D88D9757D45B9F34C32DFF8EF90AC8BE7B
306334F018BAE4FA2A6983537A34D81B13A60F782A3AA05051C41B203D74F4BEFC6BF3D4FCEA87CBA32D9D3E611D5EC3BEB943ECB3A9F85423DA612DB91A0265C996598EC30BB89459A61998FAF42EB3F86C995FBE24F2FFA4AD9E831
280EFDA5DF103CAAB858FC5A36C90A8948647AEB3D882FF0ADAF47A0EF718358032A5995DB822BFD34568F4EB9F41A9FBFBF9B3F299058FC977104C421738BDFC4F246F5D8B629422AEE08D5EF97B2BF5F39A3662093B20549DF963B4
160CDBF2607655EF19F3A8195C0D179F728CE576388B907A2B35927F3C855484034B777B311890F76F12749B6E28E220931D4169E36576A9A2D1ED2A5FA1D7FAE56D5908689DFFABEBC22436D0EB3C7B898E98E5E11D362FC5236139A
6EB11B9506FB08231BC9EF8D3D2DBAC02C509E5C2FDA261310A25540967F482F272D1C049694871B5603502B9B91C29F656D60CB9A07F228D84736893993735FEFFCA1C87501A987AD43DF17868C826E7EAD91E64A6132544FE993878
3A10E323DC693DC56FCE4EA7CB3B38809596F91B1C87CE8E208F600324FFF28C42590BBA07C9AEF4737AF52C15A21590652B35D2D73EFF25A96444BFE5619DC41D9D4A4024A2D8154A6EDBA3F7F2EA7C265B8B84E46902B15CA623859
A232AF9B989F4C810053AA920A375F2E6983B1BB8DADCC186EF6D9A9EF60DCB53F554D4E73CD7B437DA914ED51478AC827A3589427DDC1E3A901AFF2C6091CE14CA36CBBF8DD7B9897D8832CE58BA8524CE33AC619166B22A20D3F90D
E9D039EDA557AEA6C49AA4224ED5FE71C12CC7687A7E4DD6C496ED6E6293267B7C9CD478357F90E0D9419F4EBA113A95529B88DA7337F75E1F6E04A98CDA6CC19BFB1D34AE127C69C1F8E111E7275E09BADC7B4CEA30C11DA420F17B7
56FD50D8B6352B303922D230BCCC3358769EE38752F13DE705A3512692FD9948AD2D77F8785E50A5A112C7AD8FAAF9CDFF49E45BC2CEFCEFFBCE5E2B28DCBCBC919159DA036EA3D3071BB588902D7C28DEA23F040AD6710FBB13C88FF
CC91729C6680B0A03254555A4519ED5EF0738326F28411408E06C15880300D82147BB9EE859D77C39FD7639CF1B8BD2A8CA0DD58A18E78DAB926FF276960BAD108C0F14A1439C873922C98A360D9A97FFEC23ADAFA75ECA90D5E704AD
DE045C844F0FC5377F869080C5F077B09E30D6256FF590587A7BC87E4FDFC3792B9CB3B351F67A371E54A9716B442CC3668C9B2BF6B465D9821B4C5AE1648E95F7CD5C4CDC7E3C880324996146547169D68E7D7AC3861CE56D2A05062
98368F3887783AA8986E20F10B69F4ED4F500B266B8F0FA7B709D2DCE9D65C3B76ACC55BE1FE6DC814F94C0FE1562B22678D60658569584D292FB17F379DD0358F8A64018FA1EFEDA3D08A7665DFF252764FBE2742CA47BB1F56D5BC2
86C9C3AED3CD7F2059B219C3B96CD4766C4637F74087C5FC2C4CE13C21A8AB20653AF16CF4D6DB92C765FD17853E5823CC48AAEB0518C042E65FE51A62E24F888194E09F86C9FE9453ED444BE511A44D760F4A4AEA81C768DE77228D2
E8B71DB64BABD9A552EEA2FBE50F8FEF1CF108E286A1566926A80B1BAFE2C34C166AAF34A688018A71E3618DD7FC9E8D3C4C0DD0C9F4F3EDF9AB7085203DB04D6DAB02DAD37E1AC6F27364863C6EB4D43F50A23F9C75E6C117691636F
5FB809E4D4363C37B9F3D1AF2CDB9870DBC14E36DCDA919841DA560B54FC83F82B34F346BFBD13E163AF0EA98A976CD8BDC5EA1846ACE573814CE3A89E32BE72A24A7951A0275C49F47A01C1819C624300FD14B16D9608082CC881480
59AE01EDEBC9DCCB6D9730265215ECC893001C92F4192C0BED8B6573B09425F757A8B9C9EA7ABF3F4FB0B1E2A323B40657E9EACBFC3CCE4E6F3F60F24253A4C4D525A79888F919BA4ADBCC8CED2EBEDF5F60308111A22254D6674899B
9DBFC4E3F2F6000000000000000000000D1E3546
Expected: EB5742B00BD29D1365DE0E434DA8A154B0D939088507EABF21C68FF30BAEA9F0E6FEB469B6D4F14FCFA520ED2233A54778CE4FACF32A82593F741C3F1351DC21248C06F0688F3566AE473B0602E09:05:20 [1392/9019]
C1F3AE2639466F14376391C675CF50839FE2C29C3D159BF45413CB9119B7626FE5D4365D7A910D579FACCFF17CFF7959FA9DF0E73C3DAECF1892E7C5A19F009A19186A99D2864E9516E50FF8703E10BC320C976AA76E43064C88FA5AE
0342FEBD206B3D365667CEDDC8301C80FD5E0FBB344256907A4634F7C28DF75B6B8C959A9F659584A5E0B1EE70C2AA757EE84D878E52992D01EF38D77625CD9544B8281958EC99AC5C735506BEA736BB9FD82CCFF5B3FA30BDC61EB6F
B16C6729A0657E4DEDA0CC7841E11E05087DF7724A6FCAA8C9F538662FF043C54FFBDC4DCE9F76CF07DB4A2DFF1D1E063D94C71730F0AAABFC67F8E97DBBA4714F84948F4B8E85BFD9B745833B3490C5B4FD166B2A128E8843A2C9D3D
852599BDC7C365990EC971C4F1D2B1E7E3468666FBB7D2CCC31FC1B64D0E97BEFDBE7FD3F47318C3DFD70A9B3A0506CAE57623E77E2953E62DFDBD1EC81C63EAA41C58E835206914C5A60884EB0A4DA40F9542582FCEB8E5400EDE7C7
5ABDD0C97DE2C1842AF5D5C667CF49F8C459529EB0CDFD2F8F29570D637AE6F1B87B929D9D0C394C7D18C32E3179B4F089C0B2D31DE590E32A06DE6EFE438246864729FE67739BAB47429F23A460BE5E3584432A3CCB739619CF75040
5157C405C3C8F18C7BD351F3A31F7CB3442BC8ABAF8D1BD7EE2C299F12A80A5BAC18FCB3A35E4D908AEFD35E4EC283749960333DA17B670FB434D4519CB3A89FCCEE6D9DAA514C4033D44DE0B44BC2313FCC0D971C84798CEC07786B9
788305950C776D3FA28045E795CE83C9BEE884B4DA3C9C52DBEC6C918DBE2925CEEB303D8A9BCF82280EF93487E6F11BF5427274A39D0AEC18A97AA8220E32A88DD0FF84A762D08674408197BB33D79F489CBA1EF67EE978E78B7C967
20E44CE9C63146739311E752671D14529F616EF55B9375DBF5D4065428BD38FEF2E348AD8660F7D1A89DF1B4E997D1D9F7A1A3C920D3CDB86279E823F9640D5A0DA87C72257F1B147A881FD6E878EB1196C7A2DE7602D21D69055C927
BC593CBA380687CE2CA0B7E40EB175C02409282318363D36AC8009306D913758204F394DE0D5B49FE7882B3665BEDFF8B6B49AA1A7B26E5CAE27E6A0FCA4986468703B2D32675B3812F59B7E6DCCCE73CAAAF7FE503B766AD05D5B2E5
DBC77999B692715890AFF83BFD63205A42A59F6EE3BC13C13E3A53C4130D0FE1024F871C1C149AB6DD715EF9BD810237EB0FDCC21645BDF31CE91D324F76E7CFD7F09B0506CBAFF37BE519FBE9C8AC7C44AB78382BCBB2AA303C662BB
DAAF8C3B8EA07BCD5EE1EC1A57356BE728FEBBD4463502AC998832A3CA40BA5B64F1A2D020BF350017DBEEFE43C292CCC13E8B44FF8D929BE6C5B9517FA9EED7259C7C87EA63D54E3F6178908CC80EB036B0D0FCD9398CC194B21E45A
0E0A9AFF15D2EE81B497BD55DE0B608DC5CF278AEE096D241C73C7385D2087F4B86DD890538F37A297E41A0E7F2F97917FBBF369E36EB0A4C12733A8473C7636393FDAF40932E3DD02B67A3A3A838F93D1EA0DBBC6D6685C5E82DC2B9
1D86FBDA077CA826FF515383768F4D03A7BDC41F4F91695C01C02666B4134C51EE1F6E6F8283E336D2CCC41154A23211F9DB06530A3707095A4F21F2D3E423B5D059A8DF17E62E84DB880477F0E6A7CA063B52AD819FE9F11D4822467
EA80272BBA5A56608FF5748EE521876F89EEF035EB83B092E7CDA8329850BCBC323583AE31D9FE5725B8ADCFEB41EE8297ED7D84EF47E76B7193891572DE286F1630FB03A93262DE3E893949B0671E7343DADB408E2E76793F53AF034
6581D41D12CEFA435B9EBAB31134811A237DC0E815B5925C6649E6D51AFC7DC9F3416F3A84C1A440D82753D54BF17AC51DD047C3F90B3455D4E31B9DF9E41E99F26800FBDDEC1F62777CBA1ED83F15D1E807F4DC638EAC9AD86CAE3BF
25AB460EEF4E55C37C2225C3BA2FE12D8ADFFAF06488FB839369407ABFDDA75DA47446414B76522011EA4084C521DC423FDA10EEDCB864383517936DBADBA395433E4AD4ABBAC6E58F3586BA22908AD9984673B540BA45F01AE9F1CB8
34B6EA8E56E4280036F7FE9E61C5BA2AABAD0161BE181D1CFBAC87BFA2AF311D114812894C8E92A7243C37C1E3DCBAD00F536DBAEA1156D0062C1265450B005BC1C20C637CDDD7378EA4CC08771AE4D5F86A43518B660FDBB93DEBA34
4026405C5BE26FF5F62AA491C5A9593C11FAE4191AF7BAD9044E60D426598A9CF42BD88F90A2DDFA8F51E45FB593054680A4871D8A6886D978D82D0F715905E80837D8430CE568DD7D70D055EAF6F36DA9335905D4EFBB9CFA2250F61
992B162623150ABC0F151A55FBB0A9564CAADB134D0619854EA664985B02ABF8A76F7B9A15C95D0190FD709226EC0684E804F6E7B5A9CCABF99790232F60132FDBB29024F8B4FE4CA7C7234F10B58133098DA1CB0EB456363DE9C9F2D
0A3EB3851855A50ADC06FE5C4FA08084B2B5056F9DAB5B5107397CF52F98C1AEB5CC62BC53C47F0F1E6F907224C384EDFCE3382D00E04394678564E6914C46848BDE4ECE80394D494D484AC4454D06F3188F24001B7CB605BF525CAC0
B1B8B1D80B4481D3373828C6C5DAF1599EF7C47FB9AF4F790749FB5330AF057C1A9A38B493C2451719D239037009E4D09738F07BB4DBFE2093279338F5D2C2524988EF5FB9B3BA864D520A519668157847791960EC557076E628E92A8
1E7BE0D3D0F5310348BA0ADEA97FE9E6FD5B264B31CC1068FF8516A6157E1440AE2DAD72DB883E3FBFCEBA66A595461A9CD4BCABB8EB629E0A8ECCF011B30F90FE2EEF622A8C9BD30AFBBAE92EEFE075BB47CA020CB1B7309B7B1E46D
8999B3A8EAB58A5CD7C79FD287E78EDDB5602C17972BD417073D78355E0C83BC0315847D348C7A61054688AA0E633331900F08DC24CB324ABCC29A8ADB18F6B2AA74EA5E6E506F5AD4E870DE2B965682D7503368F2E971781B5E63FB6
8507D6781837E91E0C880E094732B65F08DEC61813DE64A6269EC0557D3A00611F5D1C9BE130DE092C80E603EEBFCECA6343819CA7FAC59A9514691A7376F026C226B345CAF856F04B9A704388F223DE421D95EDD2EC184B94582D8A9
7798FC2E14B6493679A2BBAD860DE418460114E8F218F989CC638A10D22284A546C7A7B858C91A4ACBDC0C5D2FD132C3E4B85AEB2BFC0C8D5DBE9ED0313181E283944516C7A8596A2A8AAB2DEE1E2E3E5F41F2021263F545D65676F74
99A2A7B4BFCAD2EDFD00000000000000111F3549
XOR Diff: A8F98D23048E41F4BBCE79833E8964DF28C8AD227240EBBB3DFFEC7DB089448DF396E122161F9E15E4F4A2140AD0E1E9BFD71E658293C0DBB6FAFB606AA5A9EDE8E07B7FFDACC6674A7AD4CFB1581D139550555D2D51BED
D1E7B9E1FCBFB5013AC5AF132377D7093AA224F21CF5C135BCBEDD0FFF7FE045DCC2B3727813DC03E5BA4A7529C0B101107BA36BE39EDEEDF121C542A99259909E9C02DBC00D26266928B41D3DBEBA330DEDFC78F7F80F143247E08FE
666F9D1E1616A1E27990E42A2D57C472FB56FE2757A6285F12CE3065CCDFCD25443D51B19EB13B904E0D9F24A1ABE67A5249E58DCCEBE00722C8ABB7CBCF75442C19DA8D3CA51B62BAA57023A29797B9CB08662206F58B20E691D1D98
424AFAF537ABF493FC6DB16AEBCCE15ECF15E2A36E27A75A219997769BCD2997D6104E2A52D55A8ECBF54FAAB97602E2519574370E809CC3BAB99BFADEC388D3C34F2426AD5C53DC4FBF61F89ECCACAD5834FA79F95E280CF072E9C08
E80FD568DB7AE5681E63B9238DD635D9F3011F25C9B97B8BD544344BC3071AD2BCAA774A416B3796FCA915F9195939A62DC55EFB8A5961BEC9C76717A5E573B14D37BD23E2CE000FF7919CACBB7F1DA32C55EA7746F5787AE555A5A95
1A1CDA8AF1E2EE3AE7827DAA5F7D84503C136FBC0A871200101A0E734B7F77EE8229E54CAA5F7023BEE155125DA5884C868AF13CB09407233A1A3C91FAC77ABD9D8E4F35A5A3B788C06F64604D0B884DF39BC5E269A82F01E7A7B0B05
0B6BB4A099BC45FD54E291EE75AA0635CA52D44847780A69F7A6A45D9E1BA2FBD3D749490EEAC0C91EBF1C73A79C3F5D7E8F2A60739965734542357DED458E2FEF1926E5BE1E50AF42D31BEEF2198E6C9528A7A1B9A08B428335DF618
B9CB2F0722B4A3E32C4C1B7354D1F295F41DE53BB8C625B1DE9A6055B825D1F42CCF3B06E05285140029C2AA4EFA15E01FD6C01C44531291A78A1A0F9C4BFC676E7E7D53EF28BC67A926ADBBCB6F6CE0B89EB2C4CF9AD3FDABA62A0FA
E355CEDA3570D3439F94F3BC7EC4E5FBDE03BBE5355E68739DF4076E42A38C9B0ABF0E34C531D08BC7F75CDEE49C7C1ADE30C9360EB51A9D799950ED06AEBC89E8A4FE50DDC4A270BAABE186A0B32EB2C9D3D810CEA03765510ACF9C7
4C17075B021BD68E17DA9A64BFF17201D15CC23150A1DC4DD681BEDF7A8E6F20B261C6EB6FE34B1958CD5F8F6F489AD12E8C0382410043156879B75875B573958ADB2BB05EE8122D6083EC51118A01D3D924D717BC4922E8DA9442B72
D4FC06D82808BCE7572DB88EC96ED1D2E0ACE2FB7A1B4ED4FC77CAA93736191F9C838EF81E7CAB3DAD832B66733A6D342D02801C8DC48BFAB5864789483B6ACD614B2EC009A4E190CC98ACE66111D90101128B7419144A45A090EDCC0
EACCB8CB961A9F3774886F492D01B3FC3B58B4AC6C0FA2FCC84C2983F7344EE5989A5104DC55B2CBB4F673C022DFCC0F7F87C8A84C246ACFC51FD87CC6B3ECB2EC0A250929686DDA66C76108763C2003CEDC49A3671D7E3E301F80C6B
2604675ACAC2D22B0CCF410FE8C26A048DAB5D61D38142D4B1DC8098B25104ACBB478105880D1C5FA3B29540C6DB8D0EC0046856CAFEE8585656376C664FFDE9FDCD9C01D184CA9F285872EFD5143D2C8ED3AEDDE645DA59175D4A10D
0B8A2028670AFDC9E6A2FB9A2A825A9CD5312169771AF9262AF5B419889618D5ED541914B39B73C1BDDEB08A3A8AD0316AC6473AE95271A0F89ECCD88C45F44F3534F1D77F7BD12F304A2041200D9BB18FB5CA486082DFDED86B437FD
84313CBEBCA15E43943C9B03D80C3DAFA5BE6E69C4599681F76FFD720E2FF49315189FAAA74D794C73BBFDE470D02C1DF2801D4F75401543A9D4BF9C4B4D5B30F9CC5ACBDC33CB5993CAE65E36EB9C1D3D774AA6C44F442D70BA3C84C
5F91373ECEA7C7863450F414DA0FB99AB6EB39F309325CD246C686D63E038F45B118648083080AB4AB5DA6F95E536F5578FB72112E35CB707D875F221C85835DEFF54ABBF94EC7773D1261BD2FCDFFADCE5C7F5887E7AE2B84CA8DBE6
8799E99577D119427C718F51B018BE03E35C4B4BE925379BFD9F99D350BD7BE89B210B0F38BB29636C4354699466568A1879487AFB65A5DB9C163C9F7CD2BF740F9D266F5367BD7D18ED0596C71B228BD4A5497359AC2ED2B8E4CE5B5
DD66D363F3B386A6F26D5ABC2F10445B6A81C609C46650CA3F3A6AD1C03C17666DD4C6F179F10247FD7DA88F59CD80455DC8E5609926A18E194216CCC9D16C9A5A391157D2CFAB5E4F5C2D19903DBADC42B6381D6156CEC61D1D1AD83
16DB1084EDD744C5CF0876A179656A646764079E4806873E01ED31F2B4A413D45906AF77E8FC8D5F2E4323F23A39FC8B7FED634648A67A36831673245985B95499A681990F8BCB0E7A6B65DD7ADB8F4577916601DE39CA9341319879E
55BA64BA4595BA1C3D414F0FBEA94408BCD95835BF8208C5C0A0A5C0DB32A67AB314C27490542AC20F2A130ED754BBAE64A42BBF1427B47140B16F044600A9FED372616EEC8D363F35EBBBEC706C284CF74F9B11F4C1BA9F30B7B9B80D43AEF01575A603DA3806EDC8A50F7342C85D34AF25ECB097D42B48B604702D79E50D10F02320538003B39034F87A82E9A6FA306F654264DE59E28BC7028C8117C1312825C4771C14E6CD3A50319779ACE01597AD8FAAAE0D27859AA2
298E3EE08C3CBB7BAF560837CEB305B4D1A7CF59D22040DEB040298FD97959476C36FDEF723C28DF0D2B750C915FCFF2F0B5901E31B2A66DBA082247C24F1267C6028B5E3612556BEE828027F3B7E72A3136A747AE9F37CDF97E3C96A
98B2237D03384E231108131D10133D90911D11BC714BD594D3C9F79A34D6BF60CB175C1E2F5EE5AD78AB477120AB1E39509C1640BDF3A2DCECD129EA735140187FBA0FFDAC4565475916FEA2CBFE4438CD488048E6307058450C3CCBF
612EAE1EA11E53F985293D2962E80132A99124F5118A827E2195732EF1EE40F0157F2B4992047BEB74A5E927D99FADBCAC43050CED3FC1A74569EA0FFB2546FFC7DFE884BD2E759C269B145817F8E256E80091576E9C97B90C3775CD9
DABFDF9CCC01D529B57BDFA66BE92E2FD31F882ECF04F53E6744965E29C683993469EFDD5E8DCDE84F2FE8AA6428A212DE866B84E15620E914588AB2ED444E54606CCA146ADF0AB9BFE07182096E419D42E0815CBF7A1043B890ACC29
2E36FDC3FF7F95FD14358B8BD41808D0D501087A0601D58221E8EF6362B6A152116F1E71B2B3A575846CBDBF8CF286C5B351B020D7C0C2C33281FE227362252656B1E28E4F5140D0605167A1033090E10021C28303C1D71100313E6EF
041D63574D3CD2EDFD000000000000001C01000F (at src/tests/test_dilithium.cpp:101)
Note 1: Dilithium_4x4_AES Test # 1 Dilithium_4x4_AES failed HashPk=1ecbf9c21c96e7c287901d8853995fc2edbe0a86680e42a0747e2deb4bd11056 HashSig=02be7aad469649b0f6833b3b975a8897829a4f987394d
ab82d8d0bf55bbeee11 HashSk=bd0c8516566a958d12a458e7a1b5ac2763208aa9988bec64e3a695dd12d93dd8 Msg=D81C4D8D734FCBFBEADE3D3F8A039FAA2A2C9957E835AD55B22E75BF57BB556AC8 Seed=061550234D158C5EC
95595FE04EF7A25767F2E24CC2BC479D09D86DC9ABCFDE7056A8C266F9EF97ED08541DBD2E1FFA1
dilithium_kat_4x4_AES_Randomized:
Dilithium_4x4_AES ran 601 tests in 79.86 msec all ok
[...]
ZFEC encoding/decoding ran 10449 tests in 6.09 msec all ok
Tests complete ran 2940448 tests in 23.23 sec 4 tests failed (in dilithium_kat_4x4_AES_Deterministic)
@thesamesam
Copy link
Author

Huh, I hit this one before in #3623 (comment).

gentoo-bot pushed a commit to gentoo/gentoo that referenced this issue Feb 21, 2024
Has a test failure.

Bug: randombit/botan#3917
Bug: https://bugs.gentoo.org/925147
Signed-off-by: Sam James <sam@gentoo.org>
@randombit
Copy link
Owner

This is a surprising test to sporadically fail since it's specifically testing that the (completely deterministic) Dilithium key generation process behaves as expected. If it failed, I would expect it to be due to a miscompilation and always fail.

Just did ./botan-test dilithium_kat_4x4_AES_Deterministic --test-runs=1000 and all passed. I'm going to try 10,000 runs now. If I can't repro with that it's probably either an interleaving problem running tests in multiple threads, or a hardware fluke on your machine, and in either case would need further digging.

@reneme
Copy link
Collaborator

reneme commented Feb 22, 2024

Last time @thesamesam saw such sporadic test failures, it had to do with tests racing each other on CPUID and (independently) a racy registration of ECC curves.

Given that the failing test deals with AES: Could this again be a CPUID race?

Edit: Perhaps #3860?

@reneme
Copy link
Collaborator

reneme commented Feb 23, 2024

@thesamesam Could you try whether this patch helps?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants