Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion tests/compression.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#[cfg(test)]
mod compression {
use cas_lib::compression::zstd::{self, compress, decompress};
use cas_lib::compression::zstd::{compress, decompress};
#[test]
pub fn test_compression() {

Expand Down
2 changes: 1 addition & 1 deletion tests/digital_signatures.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#[cfg(test)]
mod digital_signatures {
use cas_lib::{asymmetric::cas_rsa::CASRSA, digital_signature::{cas_digital_signature_rsa::{ED25519DigitalSignature, RSADigitalSignature, RSADigitalSignatureResult, SHAED25519DalekDigitalSignatureResult}, sha_256_ed25519::SHA256ED25519DigitalSignature, sha_256_rsa::SHA256RSADigitalSignature, sha_512_ed25519::SHA512ED25519DigitalSignature, sha_512_rsa::SHA512RSADigitalSignature}};
use cas_lib::digital_signature::{cas_digital_signature_rsa::{ED25519DigitalSignature, RSADigitalSignature, RSADigitalSignatureResult, SHAED25519DalekDigitalSignatureResult}, sha_256_ed25519::SHA256ED25519DigitalSignature, sha_256_rsa::SHA256RSADigitalSignature, sha_512_ed25519::SHA512ED25519DigitalSignature, sha_512_rsa::SHA512RSADigitalSignature};

#[test]
pub fn ed25519_sha_512_digital_signature_verify() {
Expand Down
38 changes: 38 additions & 0 deletions tests/hybrid.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#[cfg(test)]
mod hybrid {
use std::path::Path;

use cas_lib::hybrid::{cas_hybrid::CASHybrid, hpke::CASHPKE};


#[test]
pub fn test_generate_key_pair() {
let (private_key, public_key, info_str) = CASHPKE::generate_key_pair();
assert!(!private_key.is_empty());
assert!(!public_key.is_empty());
assert!(!info_str.is_empty());
}

#[test]
pub fn encrypt_hpke() {
let path = Path::new("tests/test.docx");
let file_bytes: Vec<u8> = std::fs::read(path).unwrap();

let (_private_key, public_key, info_str) = CASHPKE::generate_key_pair();
let (encapped_key, ciphertext, tag) = CASHPKE::encrypt(file_bytes.clone(), public_key, info_str);
assert!(!encapped_key.is_empty());
assert!(!ciphertext.is_empty());
assert!(!tag.is_empty());
assert_ne!(file_bytes, ciphertext);
}

#[test]
pub fn decrypt_hpke() {
let path = Path::new("tests/test.docx");
let file_bytes: Vec<u8> = std::fs::read(path).unwrap();
let (private_key, public_key, info_str) = CASHPKE::generate_key_pair();
let (encapped_key, ciphertext, tag) = CASHPKE::encrypt(file_bytes.clone(), public_key, info_str.clone());
let decrypted_bytes = CASHPKE::decrypt(ciphertext, private_key, encapped_key, tag, info_str);
assert_eq!(file_bytes, decrypted_bytes);
}
}
22 changes: 22 additions & 0 deletions tests/message.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#[cfg(test)]
mod message {
use cas_lib::message::{cas_hmac::CASHMAC, hmac::HMAC};

#[test]
pub fn hmac_sign() {
let key = vec![1, 2, 3, 4, 5];
let message = vec![6, 7, 8, 9, 10];
// Replace `ConcreteHmacType` with the actual struct that implements CASHMAC
let signature = HMAC::sign(key.clone(), message.clone());
assert!(!signature.is_empty());
}

#[test]
pub fn hmac_verify() {
let key = vec![1, 2, 3, 4, 5];
let message = vec![6, 7, 8, 9, 10];
let signature = HMAC::sign(key.clone(), message.clone());
let is_valid = HMAC::verify(key, message, signature);
assert!(is_valid);
}
}