Hi guys, I am stuck with key scheduling part in lightweight block PRESENT-80 on VHDL not sure how it generates the key in every itration following is a piece of code I am confuse lease help me out in this regard,,
It appears to be doing exactly what is described in this paper on page 5.
Not sure why you didn't find that paper (which looks to be the original paper on the subject). Maybe you live somewhere that has restrictions on accessing information on crypto?
It appears to be doing exactly what is described in this paper on page 5.
Not sure why you didn't find that paper (which looks to be the original paper on the subject). Maybe you live somewhere that has restrictions on accessing information on crypto?
Every bit is shifted by 61 to the left as described in the paper.
e.g. bit 14 shifted left by 61 bits becomes bit 75 (14+61), which is what is shown in the code.
I will say the code that you have is written rather strangely, which separates the upper bit rotation into a separate module. I probably would have coded it into a function and added it into the koutput assignment (assuming I wanted the whole thing to be combinational, which this code does do).