Skip to content

Commit 8d27d30

Browse files
authored
Extend crypto definitions (#676)
Iteration over the crypto definitions, extending the list with more algorithms. No changes to the schema. <!-- Thank you for taking the time to develop and contribute a core enhancement or fix for a defect! We kindly request that you create pull requests only for things that have been discussed in a ticket first; exceptions may be made for spelling or grammar fixes. Read more about the process here: https://cyclonedx.org/participate/standardization-process/#working-model Please have the related ticket/issue ID ready. If there is none, feel free to create a new ticket: https://github.com/CycloneDX/specification/issues/new/choose --> <!-- Please provide a brief description of what this pull request intends to do and which ticket it fixes/closes. Example: > As discussed in ticket #485, this PR adds Streebog to the hash algorithm enum. > > fixes #485 In case this is for a spelling or grammar improvement, please provide a brief description. Example: > Fixe typo: color(AE) -> colour(BE) -->
2 parents 92d1642 + 35dbc57 commit 8d27d30

File tree

1 file changed

+195
-30
lines changed

1 file changed

+195
-30
lines changed

schema/cryptography-defs.json

Lines changed: 195 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,51 @@
7777
}
7878
]
7979
},
80+
{
81+
"family": "ECIES",
82+
"standard": [
83+
{"name": "SEC1", "url": "https://www.secg.org/sec1-v2.pdf"},
84+
{"name": "ISO/IEC 18033-2", "url": "https://www.iso.org/standard/37971.html"}
85+
],
86+
"variant": [
87+
{
88+
"pattern": "ECIES[-{ellipticCurve}][-{kdf}][-{symmetricCipher}][-{mac}]",
89+
"primitive": "pke"
90+
}
91+
]
92+
},
93+
{
94+
"family": "MQV",
95+
"standard": [
96+
{"name": "SP800-56A", "url": "https://doi.org/10.6028/NIST.SP.800-56Ar3"}
97+
],
98+
"variant": [
99+
{
100+
"pattern": "FFMQV[-{namedGroup}]",
101+
"primitive": "key-agree"
102+
},
103+
{
104+
"pattern": "ECMQV[-{ellipticCurve}]",
105+
"primitive": "key-agree"
106+
}
107+
]
108+
},
109+
{
110+
"family": "ElGamal",
111+
"standard": [
112+
{"name": "ISO/IEC 18033-2", "url": "https://www.iso.org/standard/37971.html"}
113+
],
114+
"variant": [
115+
{
116+
"pattern": "ElGamal[-{keyLength}]",
117+
"primitive": "pke"
118+
},
119+
{
120+
"pattern": "EC-ElGamal[-{ellipticCurve}]",
121+
"primitive": "pke"
122+
}
123+
]
124+
},
80125
{
81126
"family": "DSA",
82127
"standard": [
@@ -638,47 +683,25 @@
638683
]
639684
},
640685
{
641-
"family": "SP800-108",
686+
"family": "Skipjack",
642687
"standard": [
643-
{"name": "SP800-108", "url": "https://doi.org/10.6028/NIST.SP.800-108r1-upd1"}
688+
{"name": "Escrowed Encryption Standard (EES)", "url": "https://doi.org/10.6028/NIST.FIPS.185"}
644689
],
645690
"variant": [
646691
{
647-
"pattern": "SP800_108_(CounterKDF|FeedbackKDF|DoublePipelineKDF)[-{prfFunction}][-{dkmLength}]",
648-
"primitive": "key-derive"
649-
}
650-
]
651-
},
652-
{
653-
"family": "PKCS12-PBEA",
654-
"variant": [
655-
{
656-
"pattern": "SHA1-PBE-(2|3)K-3DES-CBC",
692+
"pattern": "Skipjack[-{mode}][-{padding}]",
657693
"primitive": "block-cipher"
658-
},
659-
{
660-
"pattern": "SHA1-PBA-SHA1-HMAC",
661-
"primitive": "mac"
662694
}
663695
]
664696
},
665697
{
666-
"family": "PKCS5-PBE",
698+
"family": "SP800-108",
699+
"standard": [
700+
{"name": "SP800-108", "url": "https://doi.org/10.6028/NIST.SP.800-108r1-upd1"}
701+
],
667702
"variant": [
668703
{
669-
"pattern": "SHA1-PBE-DES(2|3)-EDE-CBC",
670-
"primitive": "block-cipher"
671-
},
672-
{
673-
"pattern": "SHA1-PBA-SHA1-HMAC",
674-
"primitive": "mac"
675-
},
676-
{
677-
"pattern": "{hashFunction}-PBE-{blockCipher}",
678-
"primitive": "block-cipher"
679-
},
680-
{
681-
"pattern": "PBKDF2",
704+
"pattern": "SP800_108_(CounterKDF|FeedbackKDF|DoublePipelineKDF)[-{prfFunction}][-{dkmLength}]",
682705
"primitive": "key-derive"
683706
}
684707
]
@@ -936,6 +959,18 @@
936959
}
937960
]
938961
},
962+
{
963+
"family": "RC6",
964+
"standard": [
965+
{"name": "The RC6 Block Cipher", "url": "https://web.archive.org/web/20181223080309/http://people.csail.mit.edu/rivest/rc6.pdf"}
966+
],
967+
"variant": [
968+
{
969+
"pattern": "RC6[-{keyLength}][-{mode}]",
970+
"primitive": "block-cipher"
971+
}
972+
]
973+
},
939974
{
940975
"family": "HC",
941976
"standard": [
@@ -1000,6 +1035,136 @@
10001035
"primitive": "hash"
10011036
}
10021037
]
1038+
},
1039+
{
1040+
"family": "PBKDF1",
1041+
"standard": [
1042+
{"name": "RFC8018", "url": "https://doi.org/10.17487/RFC8018"}
1043+
],
1044+
"variant": [
1045+
{
1046+
"pattern": "PBKDF1[-{hashFunction}][-{iterations}][-{dkLen}]",
1047+
"primitive": "kdf"
1048+
}
1049+
]
1050+
},
1051+
{
1052+
"family": "PBKDF2",
1053+
"standard": [
1054+
{"name": "RFC8018", "url": "https://doi.org/10.17487/RFC8018"},
1055+
{"name": "SP800-132", "url": "https://doi.org/10.6028/NIST.SP.800-132"}
1056+
],
1057+
"variant": [
1058+
{
1059+
"pattern": "PBKDF2[-{hashFunction}][-{iterations}][-{dkLen}]",
1060+
"primitive": "kdf"
1061+
}
1062+
]
1063+
},
1064+
{
1065+
"family": "PBES1",
1066+
"standard": [
1067+
{"name": "RFC8018", "url": "https://doi.org/10.17487/RFC8018"}
1068+
],
1069+
"variant": [
1070+
{
1071+
"pattern": "PBES1[-{encryptionAlgorithm}][-{kdf}][-{dkLen}][-{iterations}]",
1072+
"primitive": "other"
1073+
}
1074+
]
1075+
},
1076+
{
1077+
"family": "PBES2",
1078+
"standard": [
1079+
{"name": "RFC8018", "url": "https://doi.org/10.17487/RFC8018"}
1080+
],
1081+
"variant": [
1082+
{
1083+
"pattern": "PBES2[-{encryptionAlgorithm}][-{kdf}][-{dkLen}][-{iterations}]",
1084+
"primitive": "other"
1085+
}
1086+
]
1087+
},
1088+
{
1089+
"family": "PBMAC1",
1090+
"standard": [
1091+
{"name": "RFC8018", "url": "https://doi.org/10.17487/RFC8018"}
1092+
],
1093+
"variant": [
1094+
{
1095+
"pattern": "PBMAC1[-{macAlgorithm}][-{hashFunction}][-{iterations}][-{dkLen}]",
1096+
"primitive": "mac"
1097+
}
1098+
]
1099+
},
1100+
{
1101+
"family": "bcrypt",
1102+
"standard": [
1103+
{"name": "A Future-Adaptable Password Scheme", "url": "https://www.usenix.org/legacy/events/usenix99/provos/provos.pdf"}
1104+
],
1105+
"variant": [
1106+
{
1107+
"pattern": "bcrypt[-{cost)]",
1108+
"primitive": "hash"
1109+
}
1110+
]
1111+
},
1112+
{
1113+
"family": "A5/1",
1114+
"variant": [
1115+
{
1116+
"pattern": "A5/1",
1117+
"primitive": "stream-cipher"
1118+
}
1119+
]
1120+
},
1121+
{
1122+
"family": "A5/2",
1123+
"standard": [
1124+
{"name": "ETSI ETR 278", "url": "https://www.etsi.org/deliver/etsi_etr/200_299/278/01_60/etr_278e01p.pdf"}
1125+
],
1126+
"variant": [
1127+
{
1128+
"pattern": "A5/2",
1129+
"primitive": "stream-cipher"
1130+
}
1131+
]
1132+
},
1133+
{
1134+
"family": "CMEA",
1135+
"standard": [
1136+
{"name": "TIA TR45.0.A", "url": ""}
1137+
],
1138+
"variant": [
1139+
{
1140+
"pattern": "CMEA",
1141+
"primitive": "block-cipher"
1142+
}
1143+
]
1144+
},
1145+
{
1146+
"family": "Fortuna",
1147+
"standard": [
1148+
{"name": "Fortuna - A secure pseudorandom number generator", "url": "https://www.schneier.com/academic/fortuna"}
1149+
],
1150+
"variant": [
1151+
{
1152+
"pattern": "Fortuna[-{blockCipher}][-{hashFunction}]",
1153+
"primitive": "drbg"
1154+
}
1155+
]
1156+
},
1157+
{
1158+
"family": "Yarrow",
1159+
"standard": [
1160+
{"name": "Yarrow - A secure pseudorandom number generator", "url": "https://www.schneier.com/academic/yarrow"}
1161+
],
1162+
"variant": [
1163+
{
1164+
"pattern": "Yarrow[-{blockCipher}][-{hashFunction}]",
1165+
"primitive": "drbg"
1166+
}
1167+
]
10031168
}
10041169
],
10051170
"ellipticCurves": [

0 commit comments

Comments
 (0)