ChaCha20Poly1305Mode

Base class See draft-irtf-cfrg-chacha20-poly1305-03 for specification If a nonce of 64 bits is used the older version described in draft-agl-tls-chacha20poly1305-04 is used instead.

Constructors

this
this()
Undocumented in source.

Members

Functions

cfrgVersion
bool cfrgVersion()
Undocumented in source. Be warned that the author may not have intended to support it.
clear
void clear()
Undocumented in source. Be warned that the author may not have intended to support it.
defaultNonceLength
size_t defaultNonceLength()
Undocumented in source. Be warned that the author may not have intended to support it.
keySchedule
void keySchedule(const(ubyte)* key, size_t length)
Undocumented in source. Be warned that the author may not have intended to support it.
keySpec
KeyLengthSpecification keySpec()
Undocumented in source. Be warned that the author may not have intended to support it.
setAssociatedData
void setAssociatedData(const(ubyte)* ad, size_t ad_len)
Undocumented in source. Be warned that the author may not have intended to support it.
startRaw
SecureVector!ubyte startRaw(const(ubyte)* nonce, size_t nonce_len)
Undocumented in source. Be warned that the author may not have intended to support it.
tagSize
size_t tagSize()
Undocumented in source. Be warned that the author may not have intended to support it.
updateGranularity
size_t updateGranularity()
Undocumented in source. Be warned that the author may not have intended to support it.
updateLength
void updateLength(size_t len)
Undocumented in source. Be warned that the author may not have intended to support it.
validNonceLength
bool validNonceLength(size_t n)
Undocumented in source. Be warned that the author may not have intended to support it.

Properties

name
string name [@property getter]
Undocumented in source. Be warned that the author may not have intended to support it.

Variables

m_ad
SecureVector!ubyte m_ad;
Undocumented in source.
m_chacha
Unique!StreamCipher m_chacha;
Undocumented in source.
m_ctext_len
size_t m_ctext_len;
Undocumented in source.
m_nonce_len
size_t m_nonce_len;
Undocumented in source.
m_poly1305
Unique!MessageAuthenticationCode m_poly1305;
Undocumented in source.

Inherited Members

From AEADMode

authenticated
bool authenticated()
Undocumented in source. Be warned that the author may not have intended to support it.
setAssociatedData
void setAssociatedData(const(ubyte)* ad, size_t ad_len)

Set associated data that is not included in the ciphertext but that should be authenticated. Must be called after setKey and before finish.

setAssociatedDataVec
void setAssociatedDataVec(Vector!(ubyte, Alloc) ad)
Undocumented in source. Be warned that the author may not have intended to support it.
defaultNonceLength
size_t defaultNonceLength()

Default AEAD nonce size (a commonly supported value among AEAD modes, and large enough that random collisions are unlikely).

tagSize
size_t tagSize()

Return the size of the authentication tag used (in bytes)

From Transformation

start
SecureVector!ubyte start(RefCounted!(Vector!(ubyte, Alloc), Alloc) nonce)

Begin processing a message.

start
SecureVector!ubyte start(Vector!(ubyte, Alloc) nonce)

Begin processing a message.

start
SecureVector!ubyte start(const(ubyte)* nonce, size_t nonce_len)

Begin processing a message.

start
SecureVector!ubyte start()

Begin processing a message.

startRaw
SecureVector!ubyte startRaw(const(ubyte)* nonce, size_t nonce_len)

Begin processing a message.

update
void update(SecureVector!ubyte blocks, size_t offset)

Process some data. Input must be in size updateGranularity() ubyte blocks.

finish
void finish(SecureVector!ubyte final_block, size_t offset)

Complete processing of a message.

outputLength
size_t outputLength(size_t input_length)
updateGranularity
size_t updateGranularity()
minimumFinalSize
size_t minimumFinalSize()
defaultNonceLength
size_t defaultNonceLength()
validNonceLength
bool validNonceLength(size_t nonce_len)
provider
string provider()

Short name describing the provider of this tranformation.

name
string name [@property getter]
Undocumented in source.
clear
void clear()
Undocumented in source.

Meta