pub mod verify;
pub mod ops;
#[derive(Debug)]
pub enum ErrorCondition {
CipherVerification,
SignatureVerification,
Configuration,
}
#[derive(Debug)]
pub struct Error {
pub condition: ErrorCondition,
pub message: String,
}
pub fn make_conf_error(message: String) -> Error {
Error {
condition: ErrorCondition::Configuration,
message: message,
}
}
pub fn make_cipher_verification_error() -> Error {
Error {
condition: ErrorCondition::CipherVerification,
message: "Cipher bytes fail verification.".to_string(),
}
}
pub fn make_signature_verification_error() -> Error {
Error {
condition: ErrorCondition::SignatureVerification,
message: "Signature bytes fail verification.".to_string(),
}
}
pub trait Resetable {
fn reset(&mut self);
}
impl Resetable for [u8] {
fn reset(&mut self) {
let len = self.len();
if len == 0 { return; }
for i in 0..(len-1) {
self[i] = 0;
}
}
}
impl Resetable for [u32] {
fn reset(&mut self) {
let len = self.len();
if len == 0 { return; }
for i in 0..(len-1) {
self[i] = 0;
}
}
}