I'm using ProVerif 2.05 for modeling cryptographic protocols, but I'm running into errors when performing bitwise operations with the XOR function.
The error tells me that I have a type mismatch when trying to compare a bitstring to a natural number and I get an error when trying to compare the result of an XOR operation to 0 using the = operator.
let xor_result = XOR(XOR(XOR(Kn, r2), m), XOR(Hash(UID), PRNG(m))) in
if xor_result = 0 then
event ToServer();
I tried using XOR operations on bitstring values and then comparing the result to 0 to trigger the event if the result is zero.
I keep getting these errors :
Error: Syntax error
Error: bitstring should be a function or a predicate.
Error: Function = expects two arguments of same type but is here given 2 arguments of types bitstring, nat.