Understanding Cryptography by Christof Paar and Jan Pelzl - Chapter 3 Solutions - Ex3.13 - 6 mins
This problem deals with the lightweight cipher PRESENT.
- Calculate the state of PRESENT-80 after the execution of one round. You can use the following table to solve this problem with paper and pencil. Use the following values (in hexadecimal notation):
- plaintext = 0000 0000 0000 0000,
- key = BBBB 5555 5555 EEEE FFFF.
- Now calculate the round key for the second round using the following table.
This solution is verified as correct by the official Solutions for Odd-Numbered Questions manual.
1. After round one, the state is as follows:
2. The generation of the round key for the second round is as follows (Round 1 does not modify the key register):
I wrote a python script which can perform PRESENT-80 encryption:
Note: This is not a remotely efficient implementation of PRESENT-80.