fix: Add ciphertext padding to gcm_crack

This commit is contained in:
Alivecow 2024-12-03 22:58:10 +01:00
parent 6a2f631e46
commit 9e31b6cc5b

View file

@ -34,7 +34,10 @@ struct Message {
fn parse_message(val: &Value) -> Result<(Message, Polynomial)> { fn parse_message(val: &Value) -> Result<(Message, Polynomial)> {
let ciphertext_text: String = serde_json::from_value(val["ciphertext"].clone())?; let ciphertext_text: String = serde_json::from_value(val["ciphertext"].clone())?;
let ciphertext_bytes: Vec<u8> = BASE64_STANDARD.decode(ciphertext_text)?; let mut ciphertext_bytes: Vec<u8> = BASE64_STANDARD.decode(ciphertext_text)?;
if ciphertext_bytes.len() % 16 != 0 {
ciphertext_bytes.append(vec![0u8; 16 - (ciphertext_bytes.len() % 16)].as_mut());
}
let ciphertext_chunks: Vec<FieldElement> = ciphertext_bytes let ciphertext_chunks: Vec<FieldElement> = ciphertext_bytes
.chunks(16) .chunks(16)
.into_iter() .into_iter()