DLSchemePublicKey

This class represents discrete logarithm (DL) public keys.

Constructors

this
this(T options, AlgorithmIdentifier alg_id, SecureVector!ubyte key_bits)
Undocumented in source.
this
this(T options, DLGroup grp, BigInt y1)
Undocumented in source.

Members

Functions

algorithmIdentifier
AlgorithmIdentifier algorithmIdentifier()
Undocumented in source. Be warned that the author may not have intended to support it.
checkKey
bool checkKey(RandomNumberGenerator rng, bool strong)
Undocumented in source. Be warned that the author may not have intended to support it.
checkKey
bool checkKey(RandomNumberGenerator rng, bool strong)
Undocumented in source. Be warned that the author may not have intended to support it.
decodeOptions
void decodeOptions(T options)
Undocumented in source. Be warned that the author may not have intended to support it.
estimatedStrength
size_t estimatedStrength()
Undocumented in source. Be warned that the author may not have intended to support it.
getDomain
const(DLGroup) getDomain()

Get the DL domain parameters of this key.

getY
const(BigInt) getY()

Get the public value m_y with m_y = g^m_x mod p where m_x is the secret key.

groupG
const(BigInt) groupG()

Get the generator g of the underlying DL m_group.

groupP
const(BigInt) groupP()

Get the prime p of the underlying DL m_group.

groupQ
const(BigInt) groupQ()

Get the prime q of the underlying DL m_group.

maxInputBits
size_t maxInputBits()
Undocumented in source. Be warned that the author may not have intended to support it.
messagePartSize
size_t messagePartSize()
Undocumented in source. Be warned that the author may not have intended to support it.
messageParts
size_t messageParts()
Undocumented in source. Be warned that the author may not have intended to support it.
publicValue
Vector!ubyte publicValue()
Undocumented in source. Be warned that the author may not have intended to support it.
setY
void setY(BigInt y)

Set the value m_y

x509SubjectPublicKey
Vector!ubyte x509SubjectPublicKey()
Undocumented in source. Be warned that the author may not have intended to support it.

Properties

algoName
string algoName [@property getter]

Used for object casting to the right type in the factory.

Variables

m_algo_name
string m_algo_name;
Undocumented in source.
m_check_key
bool function(in DLSchemePrivateKey, RandomNumberGenerator, bool) m_check_key;
Undocumented in source.
m_format
DLGroup.Format m_format;

options

m_group
DLGroup m_group;

The DL group

m_msg_parts
short m_msg_parts;
Undocumented in source.
m_y
BigInt m_y;

The DL public key

Inherited Members

From PublicKey

algoName
string algoName [@property getter]

Get the name of the underlying public key scheme.

estimatedStrength
size_t estimatedStrength()

Return the estimated strength of the underlying key against the best currently known attack. Note that this ignores anything but pure attacks against the key itself and do not take into account padding schemes, usage mistakes, etc which might reduce the strength. However it does suffice to provide an upper bound.

getOid
OID getOid()

Get the OID of the underlying public key scheme.

checkKey
bool checkKey(RandomNumberGenerator rng, bool strong)

Test the key values for consistency.

messageParts
size_t messageParts()

Find out the number of message parts supported by this scheme.

messagePartSize
size_t messagePartSize()

Find out the message part size supported by this scheme/key.

maxInputBits
size_t maxInputBits()

Get the maximum message size in bits supported by this public key.

algorithmIdentifier
AlgorithmIdentifier algorithmIdentifier()
x509SubjectPublicKey
Vector!ubyte x509SubjectPublicKey()
loadCheck
void loadCheck(RandomNumberGenerator rng)

Self-test after loading a key

Meta