📄 phelixkat.h
字号:
/* ---------- KAT vector # 1 ------------- */
{ 256, 36, 0, 128, 128, /* keySize, msgLen, aadLen, macSize, nonceSize */
{0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
{0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
{0x00}, /* aad */
{0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
0x80,0x81,0x82,0x83}, /* pText */
{0x20,0xC5,0xD6,0x0E,0x02,0x87,0xBC,0x91,0xFD,0x92,0x61,0x40,0x9F,0xBE,0x0A,0xE3,
0x09,0x4E,0x0A,0xD9,0x50,0x20,0xD4,0xF9,0x14,0x93,0x76,0x5F,0x9C,0xE5,0x4B,0xF4,
0x1E,0x69,0xFE,0x0A}, /* cText */
{0xA1,0x88,0x07,0x0F,0x2B,0x69,0xB9,0x95,0xF5,0x76,0x43,0x90,0x55,0x1E,0xD1,0x4D} /* mac */
},
/**************************************************************
**** Phelix internal state (for debugging)
**************************************************************
SetupKey: keySize = 256 bits. MAC tag = 128 bits.
Raw Key =
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
KeyMixing:
X.8 =03020100 07060504 0B0A0908 0F0E0D0C 13121110 17161514 1B1A1918 1F1E1D1C
X.7 =03020100 07060504 0B0A0908 0F0E0D0C E3DC267F 9ECE76F5 370C2290 5B28AF7D
X.6 =A57CE5E2 1F0BD1A4 AFD4D6C5 8E6A3507 E3DC267F 9ECE76F5 370C2290 5B28AF7D
X.5 =A57CE5E2 1F0BD1A4 AFD4D6C5 8E6A3507 3D15BE6A E09C18BD D259C05D 97161AC6
X.4 =B4B8DC6A FC96BF3C 2E44AB26 2D44B245 3D15BE6A E09C18BD D259C05D 97161AC6
X.3 =B4B8DC6A FC96BF3C 2E44AB26 2D44B245 914B8D55 3C33F8EF D9EC6283 DF52FE84
X.2 =AE882E92 38A9D24A D781FE26 C9F73885 914B8D55 3C33F8EF D9EC6283 DF52FE84
X.1 =AE882E92 38A9D24A D781FE26 C9F73885 33DCF194 108B400F 4A22EA98 A4FB8F6F
X.0 =0EAB0C2A 31422C85 3A4113EC AFECC7C2 33DCF194 108B400F 4A22EA98 A4FB8F6F
**********
Phelix_C_Encrypt: msgLen = 36. aadLen = 0.
SetupNonce: keySize = 256 bits. MAC tag = 128 bits.
Nonce=
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
Working key schedule:
X_i_0=0EAB0C2A 31422C85 3A4113EC AFECC7C2 33DCF194 108B400F 4A22EA98 A4FB8F6F
X_i_1=56FF12B4 37B165B3 754D13C0 D429BC9B EB88EB0A 0A1C07E2 0F16EAC6 80BE9A99
Z.-8 =8CCEE6E2 14FAD4B0 3BA16927 650CC7B4 A4FB8F6F.
Z.-7a=B75D2DE3 D9907EE7 8F6394F5 DA2C5699 A9C4BECF. OldZ = 00000000. X_i_0 = 0EAB0C2A.
Z.-7b=F205F8A4 A6014382 DDBC82BD E6DFD5CE 7934112D. plainText= 00000000.
Z.-7c=CB9CE5B1 D552BC7C 999E0AB2 F5D227C0 604BB4F1. X_i_1 = 56FF12B4.
Z.-7 =FC5874DD C8446DA8 1D7D4EE4 F28D927D 5675C67E.
Z.-6a=CC0EB5DD E8D0987A 937DE736 D784CD60 F048354A. OldZ = 00000000. X_i_0 = 31422C85.
Z.-6b=C38C4C84 C56980C4 08C66DCB 4E79E088 5EEF6D67. plainText= 00000000.
Z.-6c=0C5A1824 63B8AC91 818E3580 D41CC917 E97E1FA1. X_i_1 = 37B165B3.
Z.-6 =6EF07943 35998456 244D8DF1 7FCDE575 4AD65140.
Z.-5a=7CBD71DD BF565A01 A69395E7 72D56A70 4B897FEB. OldZ = 00000000. X_i_0 = 3A4113EC.
Z.-5b=F81D1AB0 F92F57A6 07D4AD0F 11948086 57C3CC19. plainText= 00000000.
Z.-5c=63366C13 CC8EFD43 6C721CCA 10B02B75 4114BDD1. X_i_1 = 754D13C0.
Z.-5 =324E6CB5 D204946C 67ADFDCA D1C64B6F C48747CC.
Z.-4a=29704808 2F70E25A 8BDCC772 B33C34DB FD42547D. OldZ = 00000000. X_i_0 = AFECC7C2.
Z.-4b=4954A58B 95B13E91 C6AF80FA BF01C35D 9CBAC3AF. plainText= 00000000.
Z.-4c=ACD1D010 B00900C9 D0259DF3 D3C2DDC0 2E335D99. X_i_1 = D429BC9B.
Z.-4 =A4E0B3D4 D2EA84F1 6C5D083B D32B14C0 B0D1CD87.
Z.-3a=179128F0 F149E20E 815E28AD 09DC3BED 23B8644A. OldZ = 5675C67E. X_i_0 = 33DCF194.
Z.-3b=5712A280 8C322697 70C5C3D5 1568953F A70F6A69. plainText= 00000000.
Z.-3c=F66F7ED8 064400CD E8D4397D 79DE1BB4 F00D133E. X_i_1 = EB88EB0A.
Z.-3 =81A93087 489F9FB2 7B9632EF 14C09AE0 D9BB6F96.
Z.-2a=D396CF2C 6C3D2089 F311DBFF 6F2B0528 1BB37067. OldZ = 4AD65140. X_i_0 = 108B400F.
Z.-2b=A1BAC208 728773BC E64CC353 93591238 F13E856C. plainText= 00000000.
Z.-2c=27A8806A 17E4A18F 2E27A6BE EAD9B084 AD41941D. X_i_1 = 0A1C07E2.
Z.-2 =801D35D3 29AC95D5 309BD7E0 F55BA1B3 33076B17.
Z.-1a=F1AF0CEA D003B172 00CC8BC6 8C6DFA41 74490F3C. OldZ = C48747CC. X_i_0 = 4A22EA98.
Z.-1b=833273FE 55F27522 018E7F25 07663CDE 09EBFD70. plainText= 00000000.
Z.-1c=3161B915 79CA497F 9FF3162D 41B17121 6B2AA7F3. X_i_1 = 0F16EAC6.
Z.-1 =2F861A9E 07746097 339F24A0 634D4AD4 55629440.
Z.00a=A6CAE525 5BD35D73 83A54298 F9BCC571 21F706FA. OldZ = B0D1CD87. X_i_0 = A4FB8F6F.
Z.00b=1C53872B 22DC4BD1 82FE8BB7 F8938CE5 5CC8B063. plainText= 00000000.
Z.00c=CE282029 93F0D1FE 3F4F2C33 B9D6007D 5CD33107. X_i_1 = 80BE9A99.
Z.00 =B34F4BCB 1F07CE79 817CECE6 3D996118 522B0CFD.
**********PHASE_DATA:
Z.01a=D159C7E1 CB6DD9C4 800AE328 C1BEC5BA 6C38961E. OldZ = D9BB6F96. X_i_0 = 0EAB0C2A.
Z.01b=60501301 AA7ED53A 275F25B0 57C50148 93F934AA. Keystream = 6DB4A440. plainText= 63626160.
Z.01c=EEE65329 E02790F9 AD336750 BEDC2206 08D04902. X_i_1 = 56FF12B4.
Z.01 =7EBFB3D6 BECFDF47 0E19E775 98AEE27C A1508E21. cipherText= 0ED6C520.
Z.02a=DD2CA42E 81B5A180 E24E32EE 111E213F 5CBA1243. OldZ = 33076B17. X_i_0 = 31422C85.
Z.02b=9EA9F4CE 7D9E1EE8 33639B10 A1573C12 C3D3774F. Keystream = F6DAE266. plainText= 67666564.
Z.02c=B69C88C9 C658DD05 AAA8AF71 DF78C69C F7407C42. X_i_1 = 37B165B3.
Z.02 =491A1B6A C50A3988 8BEA8049 68F6D2EE 43D70AEA. cipherText= 91BC8702.
Z.03a=21DCB164 8511C823 DC2273F4 61967009 0E821C26. OldZ = 55629440. X_i_0 = 3A4113EC.
Z.03b=291BA0B3 9EA02C5C C5B4D0B2 E3F97007 D5A96755. Keystream = 2B0BFB95. plainText= 6B6A6968.
Z.03c=5D744563 264EC5D1 D520E834 CC4A624D 1FC5BD5E. X_i_1 = 754D13C0.
Z.03 =3741CE33 5BC479CC 4083751E AC9E1122 45AFD850. cipherText= 406192FD.
Z.04a=BFBEABC7 D1487285 549746B9 A9E50453 43E809FB. OldZ = 522B0CFD. X_i_0 = AFECC7C2.
Z.04b=7D2E66F6 03DBF495 60D5D167 7D19BC92 3A39C6F6. Keystream = 8C64D3F3. plainText= 6F6E6D6C.
Z.04c=4C71E91F 56EE2CF8 D327DEE7 E05C8507 DBE85D20. X_i_1 = D429BC9B.
Z.04 =8B2F8F7A 338EC468 83F0F339 851D9319 C7BB9CE4. cipherText= E30ABE9F.
Z.05a=9A452620 298533ED A355277B 32C6A3C2 5D4D48E3. OldZ = A1508E21. X_i_0 = 33DCF194.
Z.05b=376FCE6B 43D873A6 077B5E34 017A23FE 0927B158. Keystream = AA783F79. plainText= 73727170.
Z.05c=F041F352 0093F934 FD9B5C06 5CFF2443 5E15CE2F. X_i_1 = EB88EB0A.
Z.05 =C0BB8C9F 31B8DAF4 CCAB0236 35C6002B 0FA0B3D3. cipherText= D90A4E09.
Z.06a=031995ED 663B1D05 1DF87455 414C1424 E049D063. OldZ = 43D70AEA. X_i_0 = 108B400F.
Z.06b=1DE52CEC 966B3433 18E6C66E 96C5D26F 4ACB4A3A. Keystream = 8EA25524. plainText= 77767574.
Z.06c=31A80FFF D9F9B784 24D3CEFC 0801B50F 5C13A8FD. X_i_1 = 0A1C07E2.
Z.06 =30123B5B 50FBCC2F 11303FA9 47EA8CBC 3D962A7F. cipherText= F9D42050.
Z.07a=F9902EEF 47DABA3A EF7CCD99 C8CFD55B 65482412. OldZ = 45AFD850. X_i_0 = 4A22EA98.
Z.07b=11CEB629 94F14114 5BEBD6BB 14C6937E DE5D121C. Keystream = 240CEA6C. plainText= 7B7A7978.
Z.07c=17405F03 394CC1CD ED29B4C0 3AF15953 141D30B8. X_i_1 = 0F16EAC6.
Z.07 =B245D481 8F8BA96A 4E39FC89 FC0E47C9 EC66CD67. cipherText= 5F769314.
Z.08a=A838955C C9DB45EF C187C0DB 581688D6 B046AE5D. OldZ = C7BB9CE4. X_i_0 = A4FB8F6F.
Z.08b=D19552A8 EF5D93CC D649BE82 0FA38DE7 C379FBFC. Keystream = 8B3598E0. plainText= 7F7E7D7C.
Z.08c=E6868684 5E3F22CB FB832875 74240819 8DC1F1B8. X_i_1 = 80BE9A99.
Z.08 =44512642 F69B9E9F BCE99741 3107D579 33D05D02. cipherText= F44BE59C.
Z.09a=B1F776EA AFEE84A9 D9F59362 C0D76322 CE190DB4. OldZ = 0FA0B3D3. X_i_0 = 0EAB0C2A.
Z.09b=9A67E751 BC48EB0F 0D55A10B 122D61E5 79DC34CB. Keystream = 897CE89E. plainText= 83828180.
Z.09c=2F8F6C58 947F68D8 CD7A4284 86D796CC B8361F26. X_i_1 = 56FF12B4.
Z.09 =5C8F259C 4BBFF162 FA810997 4DFF5DB1 7C30DF4A. cipherText= 0AFE691E.
**********PHASE_MAC_GEN:
Z.10a=441E3C37 C342B31F 0D13C246 69287653 761B6847. OldZ = 3D962A7F. X_i_0 = 31422C85.
Z.10b=EEFDE749 CEDAC5AA 710C26BD 8FA3F8EC 86808FF6. Keystream = C416BA75. plainText= 00000000.
Z.10c=43C06AFD 6D568155 8D101F5B A92D1271 FCBAC7A7. X_i_1 = 37B165B3.
Z.10 =2C8A31E1 6237948F 05C64466 FC378B8E 68DACDB4. cipherText= C416BA75.
Z.11a=837ADE51 49890F2C F2125A0F 0ED51C58 95D9AEA4. OldZ = EC66CD67. X_i_0 = 3A4113EC.
Z.11b=E15CA6CE 850C46E2 8FE90497 E005E89E 89ABDA9F. Keystream = 7612A806. plainText= 00000000.
Z.11c=C51ED982 E086043A 17F69D17 FAF75183 8D9EE3B0. X_i_1 = 754D13C0.
Z.11 =CD7B55AB C73C5368 AA2B3DD9 6BD6BBEA 1127485D. cipherText= 7612A806.
Z.12a=A4232A72 8E6F1761 589926F2 8596AE2E 4D9B7ADC. OldZ = 33D05D02. X_i_0 = AFECC7C2.
Z.12b=F8291A05 A36DEE1F 4730CE9D 655A1948 85620FC7. Keystream = B9326CC9. plainText= 00000000.
Z.12c=06669ABB 3FF798A3 FBA03567 246BCF4B A9BEC1EF. X_i_1 = D429BC9B.
Z.12 =142FEF31 4ACA64B2 5268D53F 5F644D1E 22AEB39E. cipherText= B9326CC9.
Z.13a=28789EE7 E46141B5 D2E043F9 4BF637E2 5E4246D7. OldZ = 7C30DF4A. X_i_0 = 33DCF194.
Z.13b=79157ABB 183B15D1 517F7145 4D20955A 62511042. Keystream = DE81EF8C. plainText= 00000000.
Z.13c=6C202B8C 30984DEA C2A12E92 30210083 1C0E0370. X_i_1 = EB88EB0A.
Z.13 =02D7789C B274D164 455DD7E7 F89E8EBA FA44ED3E. cipherText= DE81EF8C.
Z.14a=EC0EADF6 E6FA8AB2 A1637C57 EBE4C2ED 3C205A8B. OldZ = 68DACDB4. X_i_0 = 108B400F.
Z.14b=F0A107EA D681CED6 3C456C36 55D400F4 BAB34CE5. Keystream = 238E1A99. plainText= 00000000.
Z.14c=EA11BC8C D46EEE44 C9D0F460 914F3151 45A5CB81. X_i_1 = 0A1C07E2.
Z.14 =5C4717A8 592E2C8E 696F4487 F61EF219 823B5290. cipherText= 238E1A99.
Z.15a=CC1382A4 A5FC7B6D 9A8C7612 A2658411 5C0DC3EB. OldZ = 1127485D. X_i_0 = 4A22EA98.
Z.15b=C0D209BE 8DC437CF 650C43F7 628B198A 0355099E. Keystream = 147C51FB. plainText= 00000000.
Z.15c=BA469046 6505B644 C17E8CA2 1DDC7028 82580AD2. X_i_1 = 0F16EAC6.
Z.15 =B4296B5C EDE4B73A 068AFC8B EED4D8A0 596E07AF. cipherText= 147C51FB.
Z.16a=FC87F945 4AFBA51D 7EEF48E9 2B02C983 03279B86. OldZ = 22AEB39E. X_i_0 = A4FB8F6F.
Z.16b=1B73379A E1F4DA4E 4D1D5416 149CF0FB 41182AC4. Keystream = 63C6DE62. plainText= 00000000.
Z.16c=20512A60 3414488C F906FA1A 5B708F5C 058FACD8. X_i_1 = 80BE9A99.
Z.16 =06CFC7E0 DF22A18C B09F50DE 4878082B 001FFA37. cipherText= 63C6DE62.
Z.17a=8FA0169E 0A6F0F7D 01ABFFB1 DB573FFF 6DD8C0C9. OldZ = FA44ED3E. X_i_0 = 0EAB0C2A.
Z.17b=AB765A25 BE7DA33D E9CB4D0C 5E8D9FB3 7F5777D3. Keystream = 799C6511. plainText= 00000000.
Z.17c=07F3B014 546C40F7 69A9C791 F20CB456 8AC763C3. X_i_1 = 56FF12B4.
Z.17 =7364EF87 5919A6F5 1447D8F7 9B2E5049 54DA4F9F. cipherText= 799C6511.
Z.18a=267FA01D CFDA52B7 CE4E35A9 85D73B03 597E9BC6. OldZ = 823B5290. X_i_0 = 31422C85.
Z.18b=7959166C 264B8CB5 F69FA7CB 781A9831 8CCC3611. Keystream = 0F0788A1. plainText= 00000000.
Z.18c=E75D3BE2 5F0B1ACC 12AC0FD8 FF0F7ECB 2B05A1C2. X_i_1 = 37B165B3.
Z.18 =F75D19DD 75D873A0 893DE9BC 73D29AC0 5071AA2D. cipherText= 0F0788A1.
Z.19a=5F693AD6 28773719 BA43C424 8B2A2424 3CB34075. OldZ = 596E07AF. X_i_0 = 3A4113EC.
Z.19b=2C69A020 23BB60A6 88B8DD4A 378F0075 3C4B617C. Keystream = 95B9692B. plainText= 00000000.
Z.19c=F1412AC7 1B088980 FBBFD680 E03C59E5 E3B914A1. X_i_1 = 754D13C0.
Z.19 =778A4C84 8CE90FC5 1103BF14 70C0B39A 821C218F. cipherText= 95B9692B.
Z.20a=96003DD0 14C5503C 7E15F291 56C80934 184CF74D. OldZ = 001FFA37. X_i_0 = AFECC7C2.
Z.20b=D2690B4E 4D3B8864 D95BF6E1 223BA9BE 90237CBE. Keystream = 904376F5. plainText= 00000000.
Z.20c=496A19E9 7C148B75 87DA5BFE 0980143F AB1F8AE6. X_i_1 = D429BC9B.
Z.20 =91C94C3C 580C9EB8 93C4A343 996B06A2 EDC2F079. cipherText= 904376F5.
Z.21a=68A5BC56 3E3CC517 E33B71E1 C69EC384 ACCC777D. OldZ = 54DA4F9F. X_i_0 = 33DCF194.
Z.21b=94E92DE0 85935497 C32F65EE C498634B F8F6CEB6. Keystream = 4DD11E55. plainText= 00000000.
Z.21c=032256B3 288D35FA E98B355D 4F2FC101 08A0E262. X_i_1 = EB88EB0A.
Z.21 =A94399AF 6EBCC101 64C5FE24 73F9C7D8 3F6A6EE5. cipherText= 4DD11E55.
***************************************************************/
/* ---------- KAT vector # 2 ------------- */
{ 256, 35, 0, 128, 128, /* keySize, msgLen, aadLen, macSize, nonceSize */
{0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F}, /* key */
{0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F}, /* nonce */
{0x00}, /* aad */
{0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,
0x80,0x81,0x82}, /* pText */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -