pub struct Coffio<'a> { /* private fields */ }Expand description
Base structure used to encrypt and decrypt data.
§Examples
use coffio::Coffio;
let data = b"Hello, World!";
let coffio = Coffio::new(&ikm_list);
let encrypted_data = coffio.encrypt(&my_key_ctx, &my_data_ctx, data)?;
let decrypted_data = coffio.decrypt(&my_key_ctx, &my_data_ctx, &encrypted_data)?;
assert_eq!(data, decrypted_data.as_slice());
Implementations§
Source§impl<'a> Coffio<'a>
impl<'a> Coffio<'a>
Sourcepub fn new(ikm_list: &'a InputKeyMaterialList) -> Self
pub fn new(ikm_list: &'a InputKeyMaterialList) -> Self
Initialize a new structure with an IKM list.
Sourcepub fn encrypt(
&self,
key_context: &KeyContext,
data_context: &DataContext,
data: impl AsRef<[u8]>,
) -> Result<String, Error>
pub fn encrypt( &self, key_context: &KeyContext, data_context: &DataContext, data: impl AsRef<[u8]>, ) -> Result<String, Error>
Encrypt data using a key context and a data context. If the key is periodic, use the current timestamp.
Sourcepub fn decrypt(
&self,
key_context: &KeyContext,
data_context: &DataContext,
stored_data: &str,
) -> Result<Vec<u8>, Error>
pub fn decrypt( &self, key_context: &KeyContext, data_context: &DataContext, stored_data: &str, ) -> Result<Vec<u8>, Error>
Decrypt data using a key context and a data context.
Auto Trait Implementations§
impl<'a> Freeze for Coffio<'a>
impl<'a> RefUnwindSafe for Coffio<'a>
impl<'a> Send for Coffio<'a>
impl<'a> Sync for Coffio<'a>
impl<'a> Unpin for Coffio<'a>
impl<'a> UnwindSafe for Coffio<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more