A whimsical STROBE based encryption protocol
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Constant time continuation checking

+7 -3
+7 -3
src/strobe.rs
··· 64 64 #[$doc] 65 65 pub fn $name(&mut self, data: &mut [u8]) { 66 66 let flags = $flags; 67 - self.operate(flags, data, self.prev_flags == flags); 67 + let prev_flags = self.prev_flags.bits(); 68 + let more = prev_flags.ct_eq(&flags.bits()); 69 + self.operate(flags, data, bool::from(more)); 68 70 } 69 71 )* 70 72 }; ··· 78 80 #[$doc] 79 81 pub fn $name(&mut self, data: &[u8]) { 80 82 let flags = $flags; 81 - self.operate_no_mutate(flags, data, self.prev_flags == flags); 83 + let prev_flags = self.prev_flags.bits(); 84 + let more = prev_flags.ct_eq(&flags.bits()); 85 + self.operate_no_mutate(flags, data, bool::from(more)); 82 86 } 83 87 )* 84 88 }; ··· 436 440 437 441 define_non_mut_operations! { 438 442 /// AD 439 - pub fn ad(OpFlags::App.into()); 443 + pub fn ad(BitFlags::from(OpFlags::App)); 440 444 /// META AD 441 445 pub fn meta_ad(OpFlags::App | OpFlags::Meta); 442 446 /// KEY