@ -71,36 +71,37 @@ func NewWithIO(cmd *exec.Cmd, in io.WriteCloser, out io.ReadCloser) *Subprocess
}
m . primitives = map [ string ] primitive {
"SHA-1" : & hashPrimitive { "SHA-1" , 20 } ,
"SHA2-224" : & hashPrimitive { "SHA2-224" , 28 } ,
"SHA2-256" : & hashPrimitive { "SHA2-256" , 32 } ,
"SHA2-384" : & hashPrimitive { "SHA2-384" , 48 } ,
"SHA2-512" : & hashPrimitive { "SHA2-512" , 64 } ,
"SHA2-512/256" : & hashPrimitive { "SHA2-512/256" , 32 } ,
"ACVP-AES-ECB" : & blockCipher { "AES" , 16 , 2 , true , false , iterateAES } ,
"ACVP-AES-CBC" : & blockCipher { "AES-CBC" , 16 , 2 , true , true , iterateAESCBC } ,
"ACVP-AES-CBC-CS3" : & blockCipher { "AES-CBC-CS3" , 16 , 1 , false , true , iterateAESCBC } ,
"ACVP-AES-CTR" : & blockCipher { "AES-CTR" , 16 , 1 , false , true , nil } ,
"ACVP-AES-XTS" : & xts { } ,
"ACVP-AES-GCM" : & aead { "AES-GCM" , false } ,
"ACVP-AES-GMAC" : & aead { "AES-GCM" , false } ,
"ACVP-AES-CCM" : & aead { "AES-CCM" , true } ,
"ACVP-AES-KW" : & aead { "AES-KW" , false } ,
"ACVP-AES-KWP" : & aead { "AES-KWP" , false } ,
"HMAC-SHA-1" : & hmacPrimitive { "HMAC-SHA-1" , 20 } ,
"HMAC-SHA2-224" : & hmacPrimitive { "HMAC-SHA2-224" , 28 } ,
"HMAC-SHA2-256" : & hmacPrimitive { "HMAC-SHA2-256" , 32 } ,
"HMAC-SHA2-384" : & hmacPrimitive { "HMAC-SHA2-384" , 48 } ,
"HMAC-SHA2-512" : & hmacPrimitive { "HMAC-SHA2-512" , 64 } ,
"ctrDRBG" : & drbg { "ctrDRBG" , map [ string ] bool { "AES-128" : true , "AES-192" : true , "AES-256" : true } } ,
"hmacDRBG" : & drbg { "hmacDRBG" , map [ string ] bool { "SHA-1" : true , "SHA2-224" : true , "SHA2-256" : true , "SHA2-384" : true , "SHA2-512" : true } } ,
"KDF" : & kdfPrimitive { } ,
"KAS-KDF" : & hkdf { } ,
"CMAC-AES" : & keyedMACPrimitive { "CMAC-AES" } ,
"RSA" : & rsa { } ,
"kdf-components" : & tlsKDF { } ,
"KAS-ECC-SSC" : & kas { } ,
"KAS-FFC-SSC" : & kasDH { } ,
"SHA-1" : & hashPrimitive { "SHA-1" , 20 } ,
"SHA2-224" : & hashPrimitive { "SHA2-224" , 28 } ,
"SHA2-256" : & hashPrimitive { "SHA2-256" , 32 } ,
"SHA2-384" : & hashPrimitive { "SHA2-384" , 48 } ,
"SHA2-512" : & hashPrimitive { "SHA2-512" , 64 } ,
"SHA2-512/256" : & hashPrimitive { "SHA2-512/256" , 32 } ,
"ACVP-AES-ECB" : & blockCipher { "AES" , 16 , 2 , true , false , iterateAES } ,
"ACVP-AES-CBC" : & blockCipher { "AES-CBC" , 16 , 2 , true , true , iterateAESCBC } ,
"ACVP-AES-CBC-CS3" : & blockCipher { "AES-CBC-CS3" , 16 , 1 , false , true , iterateAESCBC } ,
"ACVP-AES-CTR" : & blockCipher { "AES-CTR" , 16 , 1 , false , true , nil } ,
"ACVP-AES-XTS" : & xts { } ,
"ACVP-AES-GCM" : & aead { "AES-GCM" , false } ,
"ACVP-AES-GMAC" : & aead { "AES-GCM" , false } ,
"ACVP-AES-CCM" : & aead { "AES-CCM" , true } ,
"ACVP-AES-KW" : & aead { "AES-KW" , false } ,
"ACVP-AES-KWP" : & aead { "AES-KWP" , false } ,
"HMAC-SHA-1" : & hmacPrimitive { "HMAC-SHA-1" , 20 } ,
"HMAC-SHA2-224" : & hmacPrimitive { "HMAC-SHA2-224" , 28 } ,
"HMAC-SHA2-256" : & hmacPrimitive { "HMAC-SHA2-256" , 32 } ,
"HMAC-SHA2-384" : & hmacPrimitive { "HMAC-SHA2-384" , 48 } ,
"HMAC-SHA2-512" : & hmacPrimitive { "HMAC-SHA2-512" , 64 } ,
"HMAC-SHA2-512/256" : & hmacPrimitive { "HMAC-SHA2-512/256" , 32 } ,
"ctrDRBG" : & drbg { "ctrDRBG" , map [ string ] bool { "AES-128" : true , "AES-192" : true , "AES-256" : true } } ,
"hmacDRBG" : & drbg { "hmacDRBG" , map [ string ] bool { "SHA-1" : true , "SHA2-224" : true , "SHA2-256" : true , "SHA2-384" : true , "SHA2-512" : true } } ,
"KDF" : & kdfPrimitive { } ,
"KAS-KDF" : & hkdf { } ,
"CMAC-AES" : & keyedMACPrimitive { "CMAC-AES" } ,
"RSA" : & rsa { } ,
"kdf-components" : & tlsKDF { } ,
"KAS-ECC-SSC" : & kas { } ,
"KAS-FFC-SSC" : & kasDH { } ,
}
m . primitives [ "ECDSA" ] = & ecdsa { "ECDSA" , map [ string ] bool { "P-224" : true , "P-256" : true , "P-384" : true , "P-521" : true } , m . primitives }