#include <eccrypto.h>
Inheritance diagram for DL_PrivateKey_EC< EC >:

Definition at line 159 of file eccrypto.h.
Public Types | |
| typedef EC::Point | Element |
|
typedef DL_GroupParameters_EC< EC > | GroupParameters |
Public Member Functions | |
| void | Initialize (const DL_GroupParameters_EC< EC > ¶ms, const Integer &x) |
| void | Initialize (const EC &ec, const Element &G, const Integer &n, const Integer &x) |
| void | Initialize (RandomNumberGenerator &rng, const DL_GroupParameters_EC< EC > ¶ms) |
| void | Initialize (RandomNumberGenerator &rng, const EC &ec, const Element &G, const Integer &n) |
| void | BERDecodePrivateKey (BufferedTransformation &bt, bool parametersPresent, size_t size) |
| decode privateKey part of privateKeyInfo, without the OCTET STRING header | |
| void | DEREncodePrivateKey (BufferedTransformation &bt) const |
| encode privateKey part of privateKeyInfo, without the OCTET STRING header | |
| bool | Validate (RandomNumberGenerator &rng, unsigned int level) const |
| check this object for errors | |
| bool | GetVoidValue (const char *name, const std::type_info &valueType, void *pValue) const |
| void | AssignFrom (const NameValuePairs &source) |
| void | GenerateRandom (RandomNumberGenerator &rng, const NameValuePairs ¶ms) |
| generate a random key or crypto parameters | |
| bool | SupportsPrecomputation () const |
| |
| void | Precompute (unsigned int precomputationStorage=16) |
| do precomputation | |
| void | LoadPrecomputation (BufferedTransformation &storedPrecomputation) |
| retrieve previously saved precomputation | |
| void | SavePrecomputation (BufferedTransformation &storedPrecomputation) const |
| save precomputation for later use | |
|
const DL_GroupParameters< Element > & | GetAbstractGroupParameters () const |
| DL_GroupParameters< Element > & | AccessAbstractGroupParameters () |
| const Integer & | GetPrivateExponent () const |
| void | SetPrivateExponent (const Integer &x) |
| void | MakePublicKey (DL_PublicKey< DL_GroupParameters_EC< EC >::Element > &pub) const |
| OID | GetAlgorithmID () const |
| bool | BERDecodeAlgorithmParameters (BufferedTransformation &bt) |
| bool | DEREncodeAlgorithmParameters (BufferedTransformation &bt) const |
|
const DL_GroupParameters_EC< EC > & | GetGroupParameters () const |
| DL_GroupParameters_EC< EC > & | AccessGroupParameters () |
| void | BERDecode (BufferedTransformation &bt) |
| decode this object from a BufferedTransformation, using BER (Basic Encoding Rules) | |
| void | DEREncode (BufferedTransformation &bt) const |
| encode this object into a BufferedTransformation, using DER (Distinguished Encoding Rules) | |
| virtual void | BERDecodeOptionalAttributes (BufferedTransformation &bt) |
| decode optional attributes including context-specific tag | |
| virtual void | DEREncodeOptionalAttributes (BufferedTransformation &bt) const |
| encode optional attributes including context-specific tag | |
| void | Save (BufferedTransformation &bt) const |
| save key into a BufferedTransformation | |
| void | Load (BufferedTransformation &bt) |
| load key from a BufferedTransformation | |
| virtual void | BEREncode (BufferedTransformation &bt) const |
| encode this object into a BufferedTransformation, using BER | |
Protected Attributes | |
| ByteQueue | m_optionalAttributes |
| bool DL_PrivateKeyImpl< DL_GroupParameters_EC< EC > >::Validate | ( | RandomNumberGenerator & | rng, | |
| unsigned int | level | |||
| ) | const [inline, virtual, inherited] |
check this object for errors
| level | denotes the level of thoroughness: 0 - using this object won't cause a crash or exception (rng is ignored) 1 - this object will probably function (encrypt, sign, etc.) correctly (but may not check for weak keys and such) 2 - make sure this object will function correctly, and do reasonable security checks 3 - do checks that may take a long time |
Implements CryptoMaterial.
Definition at line 756 of file pubkey.h.
References Integer::Gcd(), DL_PrivateKeyImpl< GP >::GetAbstractGroupParameters(), DL_PrivateKeyImpl< GP >::GetPrivateExponent(), Integer::IsPositive(), and Integer::One().
| void DL_PrivateKeyImpl< DL_GroupParameters_EC< EC > >::GenerateRandom | ( | RandomNumberGenerator & | rng, | |
| const NameValuePairs & | params | |||
| ) | [inline, virtual, inherited] |
generate a random key or crypto parameters
| KeyingErr | if algorithm parameters are invalid, or if a key can't be generated (e.g., if this is a public key object) |
Reimplemented from GeneratableCryptoMaterial.
Definition at line 779 of file pubkey.h.
References DL_KeyImpl< PKCS8PrivateKey, GP >::AccessGroupParameters(), DL_PrivateKeyImpl< GP >::GetAbstractGroupParameters(), NameValuePairs::GetThisObject(), Integer::One(), and DL_PrivateKeyImpl< GP >::SetPrivateExponent().
Referenced by DL_PrivateKey_EC< EC >::Initialize().
| void DL_PrivateKeyImpl< DL_GroupParameters_EC< EC > >::Precompute | ( | unsigned int | precomputationStorage = 16 |
) | [inline, virtual, inherited] |
do precomputation
The exact semantics of Precompute() is varies, but typically it means calculate a table of n objects that can be used later to speed up computation.
Reimplemented from CryptoMaterial.
Definition at line 792 of file pubkey.h.
References DL_PrivateKeyImpl< GP >::AccessAbstractGroupParameters().
| void PKCS8PrivateKey::BERDecodeOptionalAttributes | ( | BufferedTransformation & | bt | ) | [virtual, inherited] |
decode optional attributes including context-specific tag
/note default implementation stores attributes to be output in DEREncodeOptionalAttributes
Definition at line 583 of file asn.cpp.
References PKCS8PrivateKey::m_optionalAttributes.
Referenced by PKCS8PrivateKey::BERDecode().
| void ASN1CryptoMaterial< PrivateKey >::Load | ( | BufferedTransformation & | bt | ) | [inline, virtual, inherited] |
| virtual void ASN1Object::BEREncode | ( | BufferedTransformation & | bt | ) | const [inline, virtual, inherited] |
encode this object into a BufferedTransformation, using BER
this may be useful if DEREncode() would be too inefficient
Definition at line 1579 of file cryptlib.h.
Referenced by ASN1CryptoMaterial< PublicKey >::Save().
1.5.1-p1