pub struct AesGcm<Aes, NonceSize> { /* private fields */ }
Expand description

AES-GCM: generic over an underlying AES implementation and nonce size.

This type is generic to support substituting alternative AES implementations (e.g. embedded hardware implementations)

It is NOT intended to be instantiated with any block cipher besides AES! Doing so runs the risk of unintended cryptographic properties!

The N generic parameter can be used to instantiate AES-GCM with other nonce sizes, however it’s recommended to use it with typenum::U12, the default of 96-bits.

If in doubt, use the built-in Aes128Gcm and Aes256Gcm type aliases.

Trait Implementations§

The length of a nonce.
The maximum length of the nonce.
The upper bound amount of additional space required to support a ciphertext vs. a plaintext.
Generate a random nonce for this AEAD algorithm. Read more
Encrypt the data in-place, returning the authentication tag
Decrypt the message in-place, returning an error in the event the provided authentication tag does not match the given ciphertext (i.e. ciphertext is modified/unauthentic)
Encrypt the given buffer containing a plaintext message in-place. Read more
Decrypt the message in-place, returning an error in the event the provided authentication tag does not match the given ciphertext. Read more
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more

A constant time version of the original https://docs.rs/aes-gcm/0.6.0/src/aes_gcm/lib.rs.html#251

Converts to this type from the input type.
Create new value from fixed size key.
Create new value from variable size key.
Generate random key using the provided CryptoRng.
Key size in bytes.
Return key size in bytes.

Auto Trait Implementations§

Blanket Implementations§

Encrypt the given plaintext payload, and return the resulting ciphertext as a vector of bytes. Read more
Decrypt the given ciphertext slice, and return the resulting plaintext as a vector of bytes. Read more
Encrypt the given plaintext slice, and return the resulting ciphertext as a vector of bytes. Read more
Decrypt the given ciphertext slice, and return the resulting plaintext as a vector of bytes. Read more
Encrypt the given buffer containing a plaintext message in-place. Read more
Encrypt the data in-place, returning the authentication tag
Decrypt the message in-place, returning an error in the event the provided authentication tag does not match the given ciphertext. Read more
Decrypt the data in-place, returning an error in the event the provided authentication tag does not match the given ciphertext (i.e. ciphertext is modified/unauthentic)
Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.