Elliptic-Curve Cryptography for Solaris [PSARC/2007/446 Self Review]
Krishna Yenduri
bhargava.yenduri at sun.com
Thu Aug 2 10:34:03 PDT 2007
Mark,
This looks good. I have a couple of comments below ...
> 2. Project Summary
> 2.1. Project Description:
> This project will add Elliptic-Curve Cryptography (ECC) to the
> Solaris Encryption Framework. ECC will be available to kernel
> and user-level consumers.
>
One potential kernel consumer is kernel SSL since TLS can use ECC cipher
suites.
> 3.6. How will you know when you are done?:
> When we can use pkcs11 on Apache for ECC.
>
Does this mean this project will modify OpenSSL PKCS #11 engine to
add the support for ECC mechanisms? You might want to test with Sun Java
System web server too.
> 4. Technical Description:
> 4.1. Details:
> The Solaris Crypto Framework has loadable software modules that
> provides cryptographic algorithms for kernel consumers. These offer
> algorithms such as AES and RSA. The framework also has a softtoken
> library that implements algorithms for user-level consumers. This
> project introduces a new module offering ECC. It also adds ECC to
> the softtoken library.
>
> The low-level implemention of ECC that we will use was originally
> developed by Sun Labs and subsequently given to NSS. Legal approval
> to use this code under Mozilla Public License v. 1.1 has been
> obtained.
>
> Supported PKCS#11 mechanisms are: CKM_EC_KEY_PAIR_GEN, CKM_ECDSA,
> CKM_ECDSA_SHA1, and CKM_ECDH1_DERIVE.
I assume this list is for the softtoken library. What mechanisms will
the kernel
ecc software provider support?
Thanks,
-Krishna
> NSS implements 51 ECC curves,
> all of which will be supported. They are:
>
> secp112r1, secp112r2, secp128r1, secp128r2, secp160k1, secp160r1,
> secp160r2, secp192k1, secp224k1, secp224r1, secp256k1, secp384r1,
> secp521r1, sect113r1, sect113r2, sect131r1, sect131r2, sect163k1,
> sect163r1, sect163r2, sect193r1, sect193r2, sect233k1, sect233r1,
> sect239k1, sect283k1, sect283r1, sect409k1, sect409r1, sect571k1,
> sect571r1, c2pnb163v1, c2pnb163v2, c2pnb163v3, c2pnb176v1, c2tnb191v1,
> c2tnb191v2, c2tnb191v3, c2pnb208w1, c2tnb239v1, c2tnb239v2, c2tnb239v3,
> c2pnb272w1, c2pnb304w1, c2tnb359v1, c2pnb368w1, c2tnb431r1, prime192v1,
> prime192v2, prime192v3, prime256v1
>
> 4.2. Bug/RFE Number(s):
> 5066901 Offer the PKCS#11 Elliptic Curve based mechanisms in Solaris
> 6562402 kernel software provider for Elliptic Curve mechanisms
>
> 4.3. In Scope:
>
> 4.4. Out of Scope:
>
> 4.5. Interfaces:
> Changes to softtoken will not affect the interface to softtoken.
> The only visible change will be four new PKCS#11 mechanisms that
> are visible when the capabilities of the softtoken are queried.
> The loadable module will introduce the following:
> /kernel/crypto/ecc
> /kernel/crypto/amd64/ecc
> /kernel/crypto/sparcv9/ecc
>
>
More information about the opensolaris-arc
mailing list