1use crate::aescbc::tp::{B128, B256};
2
3pub fn xor_128(left: B128, right: B128) -> B128 {
4 let mut result: B128 = [0; 16];
5 for (i, (s, o)) in left.into_iter().zip(right.iter()).enumerate() {
6 result[i] = s ^ o;
7 }
8 result
9}
10
11pub fn xor_256(left: B256, right: B256) -> B256 {
12 let mut result: B256 = [0; 32];
13 for (i, (s, o)) in left.into_iter().zip(right.iter()).enumerate() {
14 result[i] = s ^ o;
15 }
16 result
17}
18
19pub fn xor(a: &[u8], b: &[u8]) -> Vec<u8> {
20 a.into_iter().zip(b.iter()).map(|(a, b)| a ^ b).collect()
21}