Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions src/kas/sp800-56c/hkdf/sections/04-testtypes.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ There are two test types for KDA testing:

* "AFT" - Algorithm Function Test. In the AFT test mode, the IUT *SHALL* act as a party in the Key Agreement with the ACVP server. The server *SHALL* generate and provide all necessary information for the IUT to perform a successful key agreement; both the server and IUT *MAY* act as party U/V.

* "VAL" - Validation Test. In the VAL test mode, The ACVP server *MUST* generate a complete (from both party U and party V's perspectives) key agreement, and expects the IUT to be able to determine if that agreement is valid. Various types of errors *MUST* be introduced in varying portions of the key agreement process that the IUT *MUST* be able to detect and report on.

=== Test Coverage

The tests described in this document have the intention of ensuring an implementation is conformant to <<SP800-56Cr1>> and <<SP800-56Cr2>>.
Expand Down
237 changes: 0 additions & 237 deletions src/kas/sp800-56c/hkdf/sections/06-test-vectors.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@ Each test group contains an array of one or more test cases. Each test case is a
| JSON Value | Description | JSON Type

| tcId | Numeric identifier for the test case, unique across the entire vector set. | integer
| dkm | Derived keying material value for VAL tests. | hex
| kdfParameter | Object representing inputs into the KDA for single expansion tests. | See <<kdfParameter>>.
| fixedInfoPartyU | Fixed information specific to party U for single expansion tests. | See <<fixedInfo>>.
| fixedInfoPartyV | Fixed information specific to party V for single expansion tests. | See <<fixedInfo>>.
Expand Down Expand Up @@ -240,109 +239,6 @@ The following is a example JSON object for KDA HKDF test vectors sent from the A
}
}
]
},
{
"tgId": 17,
"testType": "VAL",
"kdfConfiguration": {
"kdfType": "hkdf",
"l": 1024,
"saltLen": 512,
"saltMethod": "default",
"fixedInfoPattern": "uPartyInfo||vPartyInfo||l",
"fixedInfoEncoding": "concatenation",
"hmacAlg": "SHA2-224"
},
"zLength": 224,
"tests": [
{
"tcId": 501,
"kdfParameter": {
"kdfType": "hkdf",
"salt": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"z": "DE6AACB5503BCE94E64D6B8772B67FC43092BA8753356E1A109218E6",
"l": 1024
},
"fixedInfoPartyU": {
"partyId": "69BF11A09D903C658FB2FF76F9645CA5",
"ephemeralData": "DB4A0C27CDC4B998562AAD56036D5A41DC18AAE02E475D7863A3562C"
},
"fixedInfoPartyV": {
"partyId": "5595CA1CFF2D7BC6558851D20E8245AF"
},
"dkm": "A3C6AED567A05C6EFAC5C3E42BA24974BDA382ACD44E748F37317900DDDD77F6637897D37AD2C0C72EDC01B6D1AFD019F181533DCC60A56718A715F56CEFF6F78D00FE276175BE4674156C0C5FA8E70B226AEC0F169F3F602EF728B3C1AC6BB6C2A8052D858E150D943B9014A7C2E8A658B61BA79429479660DEB56F2E3E6FA0"
},
{
"tcId": 502,
"kdfParameter": {
"kdfType": "hkdf",
"salt": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"z": "0810C7FE90B9C0228BDEC50E57EDC03392D7F9AECFC7DF1BD6F921C2",
"l": 1024
},
"fixedInfoPartyU": {
"partyId": "914E90330C165C57CC29689E44642695"
},
"fixedInfoPartyV": {
"partyId": "F03F633609E1CC983F5D82D56201ACE5",
"ephemeralData": "479C050507A4BF432940D27D48BF40BA794E2BE8A2CE1A0E81E37FC8"
},
"dkm": "9B9A32A967D0D9FF6798199B4696B7457EC64E7747962F96637422450D9A631068540A647D262D1D0BFE4C790AD937BBB03DF7BD527294DCADECBC1E4BD3225556C10AEDD8360A083BE157859FE8914468DBA57C5244CCE98791DC3EFEFFD25942E204D603D64A766D998F72C955985766E7BBCB5BF08FDC24ECA0C6D7EF078D"
},
{
"tcId": 503,
"kdfParameter": {
"kdfType": "hkdf",
"salt": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"z": "EEE8EF6DD5DBB38AFFFC0BDAD611C5EB3C2D7C7B79688787E8A1BD54",
"l": 1024
},
"fixedInfoPartyU": {
"partyId": "A34D62AFF61666BDBF9580D8596F8438",
"ephemeralData": "F5741952306B63D30CF6417A9F977BCBE1A0A9A964DA9789F0BEA59C"
},
"fixedInfoPartyV": {
"partyId": "D62EF595ECAEFD294AD07D3765284F05",
"ephemeralData": "927C754DAA4DAA3A815A5EE5236F9E8E3A388496562135577FEBF1DD"
},
"dkm": "0B3F948164FA9938CF29F6C5FD126AA7408E4C5D3326994932D1DBBF910F783E8E550BCA12515EA902950A959211F3C0DD9F38EC9305A3121F04F4BDBADC7D5F1428F08B6A71CE4B52FBCC718020E9E74FFA77C83157556BC9CA3014E4EC916EC43DFBAD6D13B9B280DB90E36D28C7E3503684CEC49B1ED314421699CADCC89A"
},
{
"tcId": 504,
"kdfParameter": {
"kdfType": "hkdf",
"salt": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"z": "56BBD9C1C5B1A686314B0818E42E93F11C18600493A49C52534DD839",
"l": 1024
},
"fixedInfoPartyU": {
"partyId": "D6655CE5706E4F73221229ADE9507049",
"ephemeralData": "99C8700C80C86F2F1093494DE17992872793D662DE4C8F26419F81D2"
},
"fixedInfoPartyV": {
"partyId": "524A0A03E023151B58EE93DA402A4CDA",
"ephemeralData": "2537C520A3F34C52AB1603B2C7B5351FB86302C6D212988EF5BDECFB"
},
"dkm": "2C32DB432AB45F95F29418778524C7BA9692D0419B6F379F51B3996E2E092B4A845EE0FDCA2FA42E7C58E52B50CC83EA1D61311B4D81CA7F01C54E5CB6603CE8E37D603066574054A5F8E20B990CADC37B6DA8113A45871974E7C51365FF860BE8DB7B734A97029F5650C3E076F45B3B8802A4F68D611D754C336530701308F2"
},
{
"tcId": 505,
"kdfParameter": {
"kdfType": "hkdf",
"salt": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"z": "8CEF2CEB7F8BB2D7A75200A9B968FA6C998FB365D1E368CCF87BC0E0",
"l": 1024
},
"fixedInfoPartyU": {
"partyId": "534591B3457E8284ED782F27CA8C0863"
},
"fixedInfoPartyV": {
"partyId": "799F0DFC352EB3BABC6E9FCD8A28BBA8",
"ephemeralData": "4A7B6D0D1D699602C6704223386D45F40D8226347A813D72C4275C6E"
},
"dkm": "B1AE1B451E375F2B14C58D115CAB2689D5F4E827D9E9DB66224ADB6D4108A5AA861B3A7169DFD683AD3ED713029F2720CC2DE2F105968157F02F91C1CAADD2B6846AA54B5131777E38BF75CC772B9CD4F7647CC9ADD614E0192BFE7A41C03A0D47756D1C8EA163B2A2B7AD73E2ADB6509E7C3794893FB1AF7776829B280E3F73"
}
]
}
]
}
Expand Down Expand Up @@ -474,139 +370,6 @@ The following is a example JSON object for KDA HKDF test vectors sent from the A
}
}
]
},
{
"tgId": 201,
"testType": "VAL",
"kdfConfiguration": {
"kdfType": "hkdf",
"l": 1024,
"saltLen": 512,
"saltMethod": "default",
"fixedInfoPattern": "uPartyInfo||vPartyInfo||l",
"fixedInfoEncoding": "concatenation",
"hmacAlg": "SHA2-224"
},
"zLength": 280,
"usesHybridSharedSecret": true,
"auxSharedSecretLen": 128,
"multiExpansion": false,
"tests": [
{
"tcId": 1001,
"kdfParameter": {
"kdfType": "hkdf",
"salt": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"z": "88D8AC2D6D75147EC9ACF1D885F0407C7E3CBB2A48DAB0FD121813AC0DDECE875A6CC8",
"t": "F9E46546388A90BBD85207ED6E6205A0",
"l": 1024
},
"fixedInfoPartyU": {
"partyId": "600D500E36E5D32A232CEA95797B59DC"
},
"fixedInfoPartyV": {
"partyId": "89B765B50FAE21E988A2D4ECFF15CB3D"
},
"dkm": "A0EC5BDE1C2A4CD814A9A258FF1D608BA7161CD961F0668C030CED65D27063C41743578ED5BB3CE21B535C4D5EF52BA96FB7F005BCBDDAF43B784F0D74ADFD3F634CBB3E186A904DDC8E470562C2B61F88F25D87091EFC305CA5314DBE84B5FC751545FD3CAA3D9D2D6A18026259044C43B93BB16AD64E6C7C45877E37F4E1F3"
},
{
"tcId": 1002,
"kdfParameter": {
"kdfType": "hkdf",
"salt": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"z": "774842CB739C91BFA58F52594AEA02B838AA8DCA00102CC18CE5A7166EE1C77B9841D7",
"t": "D189BB492E9413A0420A96B8FFDE451E",
"l": 1024
},
"fixedInfoPartyU": {
"partyId": "7EC0710B84AF3C38293FF6EDC37667E7"
},
"fixedInfoPartyV": {
"partyId": "08045B60BD45AAA7F72180ABAE85E299"
},
"dkm": "5C535DA521DB5260924BFD59538C1742B6325EBCF110EE0E8189CF23F0A43F5777481E6241E05865E86AA584093E7DE16204838ACA1E6798B163B43AB3EF072EF1AC192EC7F08002DA6E149F1F58E4E4EFFDDE55EAF54F9D4B6BD73FDF8FCEABD965AD86481751653410A01C0CAC0FEA73E9F0FC464F7A2230E4373DE5036E0B"
}
]
},
{
"tgId": 202,
"testType": "VAL",
"zLength": 280,
"usesHybridSharedSecret": true,
"auxSharedSecretLen": 128,
"multiExpansion": true,
"kdfMultiExpansionConfiguration": {
"kdfType": "hkdf",
"l": 1024,
"saltLen": 512,
"saltMethod": "default",
"hmacAlg": "SHA2-224"
},
"tests": [
{
"tcId": 1006,
"kdfMultiExpansionParameter": {
"kdfType": "hkdf",
"z": "60D8AADBD25EDB2B2111650DA11CBF7695178BC714580555376298A93577F8670C5E1A",
"t": "0C2C369126D49BECB2E79693D795E508",
"hmacAlg": "SHA2-224",
"salt": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"iterationParameters": [
{
"l": 1024,
"fixedInfo": "AC8436F7EC4E82E61CE75720ADC6BEA0"
},
{
"l": 1024,
"fixedInfo": "EF674F42A1E788B97BD374D959A48F79"
},
{
"l": 1024,
"fixedInfo": "D0FCF1667B6F832242F7D0760C3D8FE0"
}
]
},
"dkms": [
"5799CF30BF9962CB93F43B9E77BDE2FC7CD84831A828918090EE5702CD199E08D535D865227BAA2D525E34231B8913E046DFA8DBD02168BC3C335EB951D0B54617EB14BC8AEA35014F549E0012ECCAEDC09B50584F96D8E30E049A2A2F328E0317B29D719B1B0400033A3EAABBABD0F7B58E19BF3AD126556B53944935FDD940",
"822B00F5D52CA132D31EDFAE4BD41B85EC7A28390578699FA4F4125ECCD2DE492538F2DD1638143DF88AAEDAED62B10510978AE3D3ABA0F70CDB13F7FD5A15081523F29F9FEFD860D4226AF8EAA0643C5C2D21B31D1CCF5BA149D39036C9724204956FEEA88419A649AF5A000DD6A719BBE764E4A2A590BD3E5A6FAAEEC9428F",
"83FA92F7D2B58DBCF1F5EC97714B9AEB1B72FBB7F0647DEA98CB955A1FB6AAE638652403AE92EA383333DFA8A3BB0CF9EF832C01A3D48803EB24F888AF85FC615E09F537074343A40961CEF01F30536925015E5F1256B25593379A6CB7BDE60381B10B3CECB9287CA96A1541A74BF8BBEB2B6EC4A6807D0607CE9F70DAE557FD"
]
},
{
"tcId": 1007,
"kdfMultiExpansionParameter": {
"kdfType": "hkdf",
"z": "214266BEB39DC34DE9F9E79EF7ECAE46AD5377652E5CA25EF0CCD5233A720DD1152336",
"t": "B5E3EBF9492A32D51CDFED3C924CD696",
"hmacAlg": "SHA2-224",
"salt": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"iterationParameters": [
{
"l": 1024,
"fixedInfo": "AB6328F195B1E7BC08D959CD482F17F0"
},
{
"l": 1024,
"fixedInfo": "DA9E2AD50EF93AEA6EA08427931EA3B3"
},
{
"l": 1024,
"fixedInfo": "4747A897E370E439BC87F3125F1F8F5D"
},
{
"l": 1024,
"fixedInfo": "9132CA60935EC1776B18AC25F68AA56C"
}
]
},
"dkms": [
"83FA1B81C2DB911D42EB2C026B34485074995C029D841D3B4AEF5E9C8213EBD343AEDBD379F20809266977BC4BA21EA51ADBF3D34798FA1658D8BBA88161120F4DF8C2E19E737B5E11D168AD18FF37528D187298B3C8F700654C9DDB28BC26209132CAD75C7828EA225ED81E2C97AA2C5E44777DE07EC2374A2D0701FD5D66BE",
"7FC003A357754CF05293602DE37848266A1C206E3F33598A225D181FA27B9F1067AF59295F5147A769AD87A947FAAF6DF5BDC15E609F91E80F0C50CCD6580C489802AAF43614DB73544EF3FE1BD0F5B0CC0B0153E1C44DCB2399F5A80371AC8FB747DC337BBCAB717150CF59FA0CE607CB2258BD7AC1E636F8DB3B89EEE2C2E3",
"DC9235A585436EDC4B31460D46FC825AE90B77971405AA757BF830ACE8EA494E9C978C7D97D77F0DB86669611B090828E6C511AB94F83A3276DF014482C000734166204D354A500092F05F27916EDF5DB830463A9BDE63E63CD1F4A94AA1E5B8F65A0CB59735435DEBC37B287E2D20761FAEBDC779BDCA174E4EAF61A2488370",
"13F9F740B48C1E6CC1B8667A3320B58826DABA0BC204BDD91D21F5AA38BA8BC7EB6DC2F19FCC988EF154ED274733558C83C1A723E625178C5C05CB5A01865F061079320D866DACA0CFBD7A285174D20DBB100ADA7F2AAD22A1FBC77763D84C5475D998811DC80A99E5FA27160BA83BF343E6B0AB0CAF7C1FBBAA51265F83DA4F"
]
}
]
}
]
}
Expand Down
2 changes: 0 additions & 2 deletions src/kas/sp800-56c/onestep/sections/04-testtypes.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ There are two test types for KDA testing:

* "AFT" - Algorithm Function Test. In the AFT test mode, the IUT *SHALL* act as a party in the Key Agreement with the ACVP server. The server *SHALL* generate and provide all necessary information for the IUT to perform a successful key agreement; both the server and IUT *MAY* act as party U/V.

* "VAL" - Validation Test. In the VAL test mode, The ACVP server *MUST* generate a complete (from both party U and party V's perspectives) key agreement, and expects the IUT to be able to determine if that agreement is valid. Various types of errors *MUST* be introduced in varying portions of the key agreement process that the IUT *MUST* be able to detect and report on.

=== Test Coverage

The tests described in this document have the intention of ensuring an implementation is conformant to <<SP800-56Cr1>> and <<SP800-56Cr2>>.
Expand Down
70 changes: 1 addition & 69 deletions src/kas/sp800-56c/onestep/sections/06-test-vectors.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -162,75 +162,7 @@ The following is a example JSON object for KDA OneStep test vectors sent from t
"fixedInfoEncoding": "concatenation",
"auxFunction": "KMAC-128"
}
},
{
"tgId": 62,
"testType": "VAL",
"tests": [
{
"tcId": 276,
"kdfParameter": {
"kdfType": "oneStep",
"salt": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"t": "ACAACF33C0CFEA2B0B6FE884E3FD1C76",
"z": "4B683C8CBC7028E528ABD784137EB255C3105008D8D78EC38D8C79CEE2A1D6A2",
"l": 1024
},
"fixedInfoPartyU": {
"partyId": "F8E181C1F45364D1686DFEA344082A0E"
},
"fixedInfoPartyV": {
"partyId": "51B6A79C64A970909E071057FAC4A75C",
"ephemeralData": "9CBC3504C48D13A6011AB6407A31941EB153AD804DFE37806C011ACF1629FFDF"
},
"dkm": "9749C26AB38765D404CF3470E565506150382A12DD4F0D13BE26BA13563DB07F2BAB8A4B52BED6B9B25497D1568D0619077E7CD4DEC4BECC661A4D0721125BFB7693B1BA2D400FC233AAB90E01ADB8348021A7A5CCFD7159E632B7495678D808757F09E642CDC5B47BBCF8E418113C5B7CCE4B32984EA4EB31B108A6BC39317F"
},
{
"tcId": 277,
"kdfParameter": {
"kdfType": "oneStep",
"salt": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"t": "D106D45E752306418108A1A69D3B6DDA",
"z": "E2B857A381F3A97D4B4A1AE56DDF3B5EDB6C9DB91B03C64CB91D697CD28C6519",
"l": 1024
},
"fixedInfoPartyU": {
"partyId": "A3C8ED9DE050824F715699067F76AF78"
},
"fixedInfoPartyV": {
"partyId": "0DF4169C75D354401AFFEC99F4221648",
"ephemeralData": "5B6BB3FC8244C56576C3DEEE95415BE650E190AE6AC9631D6EE5C5D5EC2709A2"
},
"dkm": "2BCD760599ED47108D77BC1AFB2CB804123C39297CEE67A7534415D7ACFE7ACCDFBEC29E6B3A07FB6D0733755D038ABBCCBFEF8495FF53091CC9A1166050F89785C6E6D2016132EB4A550B3376C705F884DE0B1465046EC98C0FA437BC60AFFE22D0828B4426E62A63590F9F269D45778619EE73F0D86676D0F87AD35D9EBF20"
},
{
"tcId": 278,
"kdfParameter": {
"kdfType": "oneStep",
"salt": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"t": "8F4F473B36EC804E3991D3644DD50715",
"z": "CE9D5E67F3C01596438EF93639C53DFBF63ABF74BA5622530AC5690927D9502F",
"l": 1024
},
"fixedInfoPartyU": {
"partyId": "8FC4D67C41F9CB42AC556FB1B2227C1F"
},
"fixedInfoPartyV": {
"partyId": "85F5A2D1A9F39095C236581581FE3BF6"
},
"dkm": "815955F14297C53C98FD5922CFE24A7E27D70FF20897B59EC9844240D9EFE8B1D51FBDDAF629B2B13C902DBD348D65D11D482E5072A0224A9F5E68F612FC68EB7D3C8B38B3CF945AC6086F683DC8D769AA3E4F3189ED48B8B27AAF93B9BD35D65D7996FBB9FCE4E3DAC4FBF1E15CDDE55D5CA741B3344BFE107A8E42C64D2C16"
}
],
"kdfConfiguration": {
"kdfType": "oneStep",
"l": 1024,
"saltLen": 1312,
"saltMethod": "default",
"fixedInfoPattern": "t||uPartyInfo||vPartyInfo||l",
"fixedInfoEncoding": "concatenation",
"auxFunction": "KMAC-128"
}
}
}
]
}
----
1 change: 0 additions & 1 deletion src/kas/sp800-56c/onestep/sections/07-responses.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ The following table describes the JSON object that represents a test case respon
| JSON Property | Description | JSON Type

| tcId | The test case identifier | integer
| testPassed | Was the provided `dkm` valid? Only valid for the "VAL" test type. | boolean
| dkm | The derived keying material. Provided by the IUT for "AFT" test type test cases. For single expansion tests. | hex

|===
Expand Down
2 changes: 0 additions & 2 deletions src/kas/sp800-56c/onestepnocounter/sections/04-testtypes.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ There are two test types for KDA testing:

* "AFT" - Algorithm Function Test. In the AFT test mode, the IUT *SHALL* act as a party in the Key Agreement with the ACVP server. The server *SHALL* generate and provide all necessary information for the IUT to perform a successful key agreement; both the server and IUT *MAY* act as party U/V.

* "VAL" - Validation Test. In the VAL test mode, The ACVP server *MUST* generate a complete (from both party U and party V's perspectives) key agreement, and expects the IUT to be able to determine if that agreement is valid. Various types of errors *MUST* be introduced in varying portions of the key agreement process that the IUT *MUST* be able to detect and report on.

=== Test Coverage

The tests described in this document have the intention of ensuring an implementation is conformant to <<SP800-56Cr2>>.
Expand Down
Loading