I've just started a cryptography course. I am beginning to understand the concepts (I'm only in week 2) but I just can't get my head around the theories and principles when written as equations.
I've been posed the below question to answer:
Consider a very simple symmetric block encryption algorithm in which 64-bit blocks of plaintext are encrypted using a 128-bit key. Encryption is defined as:
$$C = (P ⊕ K_0) ⊞ K_1$$
Show the decryption equation, that is, show the equation for $P$ as a function of $C$, $K_0$ and $K_1$
- $C$ = ciphertext
- $P$ = plaintext
- $K$ = secret key
- $K₀$ = leftmost 64 bits of secret key
- $K₁$ = rightmore 64 bits of secret key
- $⊕$ = bitwise exclusive or (XOR)
- $⊞$ = addition mod $2^{64}$
I simply don't understand what the function of $⊞$ serves.
Can anybody assist me with tackling this problem? I just don't know where to start other than to $P = (C.....)$ possibly? I'm unsure as to what the 'addition mod 2⁶⁴' refers too.
EDITED FOR CLARIFICATION
So if for example, our plaintext is:-
messagea (ASCII)
01101101 01100101 01110011 01110011 01100001 01100111 01100101 01100001 (binary - 64 bit)
and our 128-bit secret key is:-
mysecretpassword (ASCII)
01101101 01111001 01110011 01100101 01100011 01110010 01100101 01110100 01110000 01100001 01110011 01110011 01110111 01101111 01110010 01100100 (binary - 128 bit)
To achieve the first past of the algorithm, "C=(P⊕K₀)", I XOR the plaintext against the first 8 characters (64 bits) of the secret key to get the following:-
01101101 01100101 01110011 01110011 01100001 01100111 01100101 01100001
01101101 01111001 01110011 01100101 01100011 01110010 01100101 01110100 ⊕
00000000 00011100 00000000 00010110 00000010 00010101 00000000 00010101
Now, how do I then apply '⊞K₁' to the above? I am aware that I need to do something with the above to the last 64-bits of the key but I'm unsure what calculation. If someone could walk me through it, that'd be great. Thanks