/// Name: verify
///
/// Description: Compare two arrays for equality in constant time.
///
/// Arguments: const [u8] a: first byte array
/// const [u8] b: second byte array
/// size_t len: length of the byte arrays
///
/// Returns 0 if the byte arrays are equal, 1 otherwise
pub
/// Name: cmov
///
/// Description: Copy len bytes from x to r if b is 1;
/// don't modify x if b is 0. Requires b to be in {0,1};
/// assumes two's complement representation of negative integers.
/// Runs in constant time.
///
/// Arguments: [u8] r: output byte array
/// const [u8] x: input byte array
/// size_t len: Amount of bytes to be copied
/// [u8] b: Condition bit; has to be in {0,1}
pub