@@ -16,12 +16,12 @@ include = [
1616apis = [
1717 " \\ bEVP_[A-Za-z0-9_]+\\ s*\\ (" ,
1818 " \\ bHMAC\\ s*\\ (" ,
19- " \\ bRSA_[A-Za-z0-9_]+ \\ s*\\ (" ,
20- " \\ bDSA_[A-Za-z0-9_]+ \\ s*\\ (" ,
21- " \\ bEC_KEY_[A-Za-z0-9_]+ \\ s*\\ (" ,
22- " \\ bECDSA_[A-Za-z0-9_]+ \\ s*\\ (" ,
23- " \\ bED25519_[A-Za-z0-9_]+ \\ s*\\ (" ,
24- " \\ bX509_[A-Za-z0-9_]+ \\ s*\\ (" ,
19+ " \\ bRSA_[A-Za-z0-9_]*[a-z][A-Za-z0-9_]* \\ s*\\ (" ,
20+ " \\ bDSA_[A-Za-z0-9_]*[a-z][A-Za-z0-9_]* \\ s*\\ (" ,
21+ " \\ bEC_KEY_[A-Za-z0-9_]*[a-z][A-Za-z0-9_]* \\ s*\\ (" ,
22+ " \\ bECDSA_[A-Za-z0-9_]*[a-z][A-Za-z0-9_]* \\ s*\\ (" ,
23+ " \\ bED25519_[A-Za-z0-9_]*[a-z][A-Za-z0-9_]* \\ s*\\ (" ,
24+ " \\ bX509_[A-Za-z0-9_]*[a-z][A-Za-z0-9_]* \\ s*\\ (" ,
2525 " \\ bPKCS\\ d_[A-Za-z0-9_]+\\ s*\\ (" ,
2626]
2727
@@ -31,8 +31,7 @@ name = "RSA"
3131primitive = " signature"
3232nistQuantumSecurityLevel = 0
3333symbol_patterns = [
34- " \\ bRSA_" ,
35- " \\ bEVP_PKEY_RSA" ,
34+ " \\ bRSA_[A-Za-z0-9_]*[a-z][A-Za-z0-9_]*\\ s*\\ (" ,
3635 " \\ bEVP_PKEY_CTX_set_rsa_keygen_bits\\ s*\\ (" ,
3736]
3837[[library .algorithms .parameter_patterns ]]
@@ -50,8 +49,9 @@ name = "DSA"
5049primitive = " signature"
5150nistQuantumSecurityLevel = 0
5251symbol_patterns = [
53- " \\ bEVP_PKEY_DSA" ,
54- " \\ bDSA_" , # DSA_* low-level API
52+ " \\ bDSA_[A-Za-z0-9_]*[a-z][A-Za-z0-9_]*\\ s*\\ (" ,
53+ " \\ bEVP_PKEY_CTX_new_id\\ s*\\ (\\ s*EVP_PKEY_DSA\\ b" ,
54+ " \\ bEVP_PKEY_CTX_new_from_name\\ s*\\ ([^,]+,\\ s*[\" ']DSA[\" ']" ,
5555 " \\ bEVP_dss1\\ s*\\ (" , # legacy DSA with SHA-1
5656]
5757
@@ -60,8 +60,8 @@ name = "ECDSA"
6060primitive = " signature"
6161nistQuantumSecurityLevel = 0
6262symbol_patterns = [
63- " \\ bECDSA_" ,
64- " \\ bEC_KEY_" ,
63+ " \\ bECDSA_[A-Za-z0-9_]*[a-z][A-Za-z0-9_]* \\ s* \\ ( " ,
64+ " \\ bEC_KEY_[A-Za-z0-9_]*[a-z][A-Za-z0-9_]* \\ s* \\ ( " ,
6565]
6666[[library .algorithms .parameter_patterns ]]
6767name = " curve"
@@ -83,13 +83,13 @@ name = "AES"
8383primitive = " symmetric"
8484nistQuantumSecurityLevel = 3
8585symbol_patterns = [
86- " \\ bEVP_aes_\\ d+_(?:cbc|ctr|ofb|cfb|ecb)" ,
86+ " \\ bEVP_aes_\\ d+_(?:cbc|ctr|ofb|cfb|ecb)\\ s* \\ ( " ,
8787 # Explicit EVP AES mode calls
8888 " \\ bEVP_aes_(?:128|192|256)_cbc\\ s*\\ (" ,
8989 " \\ bEVP_aes_(?:128|192|256)_ecb\\ s*\\ (" ,
9090 " \\ bEVP_aes_(?:128|192|256)_cfb\\ s*\\ (" ,
9191 " \\ bEVP_aes_(?:128|192|256)_ofb\\ s*\\ (" ,
92- " \\ bAES_" ,
92+ " \\ bAES_[A-Za-z0-9_]*[a-z][A-Za-z0-9_]* \\ s* \\ ( " ,
9393]
9494[[library .algorithms .parameter_patterns ]]
9595name = " keySize"
@@ -100,8 +100,7 @@ name = "RSA"
100100primitive = " signature"
101101nistQuantumSecurityLevel = 0
102102symbol_patterns = [
103- " \\ bEVP_PKEY_RSA" ,
104- " \\ bRSA_" ,
103+ " \\ bRSA_[A-Za-z0-9_]*[a-z][A-Za-z0-9_]*\\ s*\\ (" ,
105104 " \\ bEVP_PKEY_CTX_set_rsa_keygen_bits\\ s*\\ (" ,
106105]
107106[[library .algorithms .parameter_patterns ]]
@@ -118,10 +117,10 @@ nistQuantumSecurityLevel = 3
118117symbol_patterns = [
119118 " \\ bEVP_sha256\\ s*\\ (" ,
120119 " \\ bEVP_DigestInit.*SHA256" ,
120+ " \\ bSHA256\\ s*\\ (" ,
121121 " \\ bSHA256_Init" ,
122122 " \\ bSHA256_Update" ,
123123 " \\ bSHA256_Final" ,
124- " \\ bSHA256" ,
125124]
126125
127126[[library .algorithms ]]
@@ -182,7 +181,6 @@ symbol_patterns = [
182181 " \\ bSHA1_Init" ,
183182 " \\ bSHA1_Update" ,
184183 " \\ bSHA1_Final" ,
185- " \\ bSHA1" ,
186184]
187185
188186[[library .algorithms ]]
@@ -195,7 +193,6 @@ symbol_patterns = [
195193 " \\ bSHA384_Init" ,
196194 " \\ bSHA384_Update" ,
197195 " \\ bSHA384_Final" ,
198- " \\ bSHA384" ,
199196]
200197
201198[[library .algorithms ]]
@@ -208,7 +205,6 @@ symbol_patterns = [
208205 " \\ bSHA512_Init" ,
209206 " \\ bSHA512_Update" ,
210207 " \\ bSHA512_Final" ,
211- " \\ bSHA512" ,
212208]
213209
214210[[library .algorithms ]]
@@ -221,7 +217,6 @@ symbol_patterns = [
221217 " \\ bSHA224_Init" ,
222218 " \\ bSHA224_Update" ,
223219 " \\ bSHA224_Final" ,
224- " \\ bSHA224" ,
225220]
226221
227222[[library .algorithms ]]
@@ -259,7 +254,6 @@ symbol_patterns = [
259254 " \\ bRIPEMD160_Init" ,
260255 " \\ bRIPEMD160_Update" ,
261256 " \\ bRIPEMD160_Final" ,
262- " \\ bRIPEMD160" ,
263257]
264258
265259[[library .algorithms ]]
@@ -5536,7 +5530,7 @@ primitive = "signature"
55365530nistQuantumSecurityLevel = 0
55375531symbol_patterns = [
55385532 " \\ brsa\\ .generate_private_key" ,
5539- " \\ bRSA " ,
5533+ " \\ brsa \\ .(?:RSAPrivateKey|RSAPublicKey|RSAPrivateNumbers|RSAPublicNumbers) \\ b " ,
55405534]
55415535[[library .algorithms .parameter_patterns ]]
55425536name = " keySize"
@@ -5554,15 +5548,6 @@ symbol_patterns = [
55545548name = " algorithm"
55555549pattern = " .*"
55565550
5557- [[library .algorithms ]]
5558- name = " SHA-256"
5559- primitive = " hash"
5560- nistQuantumSecurityLevel = 3
5561- symbol_patterns = [
5562- " \\ bhashes\\ .SHA256\\ (" ,
5563- " \\ bSHA256" ,
5564- ]
5565-
55665551[[library .algorithms ]]
55675552name = " AES-GCM"
55685553primitive = " symmetric"
@@ -5778,6 +5763,14 @@ symbol_patterns = [
57785763 " \\ bhashes\\ .SHA224\\ (" ,
57795764]
57805765
5766+ [[library .algorithms ]]
5767+ name = " SHA-256"
5768+ primitive = " hash"
5769+ nistQuantumSecurityLevel = 3
5770+ symbol_patterns = [
5771+ " \\ bhashes\\ .SHA256\\ (" ,
5772+ ]
5773+
57815774[[library .algorithms ]]
57825775name = " SHA-384"
57835776primitive = " hash"
@@ -5909,6 +5902,129 @@ symbol_patterns = [
59095902 " \\ bConcatKDFHMAC\\ (" ,
59105903]
59115904
5905+ # Python standard library crypto usage
5906+ [[library ]]
5907+ name = " Python stdlib crypto"
5908+ languages = [" Python" ]
5909+ [library .patterns ]
5910+ include = [
5911+ " ^\\ s*import\\ s+hashlib\\ b" ,
5912+ " ^\\ s*from\\ s+hashlib\\ s+import\\ b" ,
5913+ " ^\\ s*import\\ s+hmac\\ b" ,
5914+ " ^\\ s*from\\ s+hmac\\ s+import\\ b" ,
5915+ " ^\\ s*import\\ s+ssl\\ b" ,
5916+ " ^\\ s*from\\ s+ssl\\ s+import\\ b" ,
5917+ ]
5918+ apis = [
5919+ " \\ bhashlib\\ .(?:md5|sha1|sha224|sha256|sha384|sha512|blake2b|blake2s)\\ s*\\ (" ,
5920+ " \\ bhashlib\\ .new\\ s*\\ (" ,
5921+ " \\ bhashlib\\ .pbkdf2_hmac\\ s*\\ (" ,
5922+ " \\ bhashlib\\ .scrypt\\ s*\\ (" ,
5923+ " \\ bhmac\\ .new\\ s*\\ (" ,
5924+ " \\ bhmac\\ .compare_digest\\ s*\\ (" ,
5925+ " \\ bhmac\\ .HMAC\\ s*\\ (" ,
5926+ " \\ bssl\\ .SSLContext\\ s*\\ (" ,
5927+ " \\ bssl\\ .create_default_context\\ s*\\ (" ,
5928+ ]
5929+
5930+ # Algorithm definitions for Python stdlib crypto
5931+ [[library .algorithms ]]
5932+ name = " SHA-1"
5933+ primitive = " hash"
5934+ nistQuantumSecurityLevel = 0
5935+ symbol_patterns = [
5936+ " \\ bhashlib\\ .sha1\\ s*\\ (" ,
5937+ " \\ bhashlib\\ .new\\ s*\\ (\\ s*[\" ']sha1[\" ']" ,
5938+ ]
5939+
5940+ [[library .algorithms ]]
5941+ name = " SHA-224"
5942+ primitive = " hash"
5943+ nistQuantumSecurityLevel = 3
5944+ symbol_patterns = [
5945+ " \\ bhashlib\\ .sha224\\ s*\\ (" ,
5946+ " \\ bhashlib\\ .new\\ s*\\ (\\ s*[\" ']sha224[\" ']" ,
5947+ ]
5948+
5949+ [[library .algorithms ]]
5950+ name = " SHA-256"
5951+ primitive = " hash"
5952+ nistQuantumSecurityLevel = 3
5953+ symbol_patterns = [
5954+ " \\ bhashlib\\ .sha256\\ s*\\ (" ,
5955+ " \\ bhashlib\\ .new\\ s*\\ (\\ s*[\" ']sha256[\" ']" ,
5956+ ]
5957+
5958+ [[library .algorithms ]]
5959+ name = " SHA-384"
5960+ primitive = " hash"
5961+ nistQuantumSecurityLevel = 3
5962+ symbol_patterns = [
5963+ " \\ bhashlib\\ .sha384\\ s*\\ (" ,
5964+ " \\ bhashlib\\ .new\\ s*\\ (\\ s*[\" ']sha384[\" ']" ,
5965+ ]
5966+
5967+ [[library .algorithms ]]
5968+ name = " SHA-512"
5969+ primitive = " hash"
5970+ nistQuantumSecurityLevel = 3
5971+ symbol_patterns = [
5972+ " \\ bhashlib\\ .sha512\\ s*\\ (" ,
5973+ " \\ bhashlib\\ .new\\ s*\\ (\\ s*[\" ']sha512[\" ']" ,
5974+ ]
5975+
5976+ [[library .algorithms ]]
5977+ name = " MD5"
5978+ primitive = " hash"
5979+ nistQuantumSecurityLevel = 0
5980+ symbol_patterns = [
5981+ " \\ bhashlib\\ .md5\\ s*\\ (" ,
5982+ " \\ bhashlib\\ .new\\ s*\\ (\\ s*[\" ']md5[\" ']" ,
5983+ ]
5984+
5985+ [[library .algorithms ]]
5986+ name = " BLAKE2b"
5987+ primitive = " hash"
5988+ nistQuantumSecurityLevel = 3
5989+ symbol_patterns = [
5990+ " \\ bhashlib\\ .blake2b\\ s*\\ (" ,
5991+ " \\ bhashlib\\ .new\\ s*\\ (\\ s*[\" ']blake2b[\" ']" ,
5992+ ]
5993+
5994+ [[library .algorithms ]]
5995+ name = " BLAKE2s"
5996+ primitive = " hash"
5997+ nistQuantumSecurityLevel = 3
5998+ symbol_patterns = [
5999+ " \\ bhashlib\\ .blake2s\\ s*\\ (" ,
6000+ " \\ bhashlib\\ .new\\ s*\\ (\\ s*[\" ']blake2s[\" ']" ,
6001+ ]
6002+
6003+ [[library .algorithms ]]
6004+ name = " PBKDF2"
6005+ primitive = " kdf"
6006+ nistQuantumSecurityLevel = 3
6007+ symbol_patterns = [
6008+ " \\ bhashlib\\ .pbkdf2_hmac\\ s*\\ (" ,
6009+ ]
6010+
6011+ [[library .algorithms ]]
6012+ name = " scrypt"
6013+ primitive = " kdf"
6014+ nistQuantumSecurityLevel = 3
6015+ symbol_patterns = [
6016+ " \\ bhashlib\\ .scrypt\\ s*\\ (" ,
6017+ ]
6018+
6019+ [[library .algorithms ]]
6020+ name = " HMAC"
6021+ primitive = " mac"
6022+ nistQuantumSecurityLevel = 3
6023+ symbol_patterns = [
6024+ " \\ bhmac\\ .new\\ s*\\ (" ,
6025+ " \\ bhmac\\ .HMAC\\ s*\\ (" ,
6026+ ]
6027+
59126028[[library ]]
59136029name = " python-oqs"
59146030languages = [" Python" ]
0 commit comments