Trait zeroize::Zeroize[][src]

pub trait Zeroize {
    fn zeroize(&mut self);
}
Expand description

Trait for securely erasing types from memory

Required methods

Zero out this object from memory using Rust intrinsics which ensure the zeroization operation is not “optimized away” by the compiler.

Implementations on Foreign Types

“Best effort” zeroization for Vec.

Ensures the entire capacity of the Vec is zeroed. Cannot ensure that previous reallocations did not leave values on the heap.

Unlike Vec, Box<[Z]> cannot reallocate, so we can be sure that we are not leaving values on the heap.

Implementors

Impl Zeroize on slices of MaybeUninit types This impl can eventually be optimized using an memset intrinsic, such as core::intrinsics::volatile_set_memory. This fills the slice with zeros Note that this ignore invariants that Z might have, because MaybeUninit removes all invariants.

Impl Zeroize on slices of types that can be zeroized with Default.

This impl can eventually be optimized using an memset intrinsic, such as core::intrinsics::volatile_set_memory. For that reason the blanket impl on slices is bounded by DefaultIsZeroes.

To zeroize a mut slice of Z: Zeroize which does not impl DefaultIsZeroes, call iter_mut().zeroize().

Implement Zeroize on arrays of types that impl Zeroize

impl Zeroize for Scalar

impl Zeroize for MontgomeryPoint

impl Zeroize for CompressedEdwardsY

impl Zeroize for EdwardsPoint

impl Zeroize for CompressedRistretto

impl Zeroize for RistrettoPoint

impl Zeroize for SecretKey

impl Zeroize for ExpandedSecretKey

impl Zeroize for Transcript