Table 2.
ProVerif code for defining values and functions.
(*—-channels—-*) |
free privateChannel:channel [private]. |
free publicChannel:channel [private]. |
(*—-constants—-*) |
free ID:bitstring [private]. |
free N:bitstring [private]. |
(*—-shared key—-*) |
free K:bitstring [private]. |
(*—-functions—-*) |
fun xor(bitstring, bitstring):bitstring. |
fun concat(bitstring, bitstring):bitstring. |
fun h(bitstring):bitstring. |
fun H(bitstring):bitstring. |
equation forall a:bitstring, b:bitstring; xor(xor(a, b), b) = a. |
(*—-events—-*) |
event startfstS(bitstring). |
event endfstS(bitstring). |
event startfstN(bitstring). |
event endfstN(bitstring). |
event start2ndS(bitstring). |
event end2ndS(bitstring). |
event start2ndN(bitstring). |
event end2ndN(bitstring). |