In the paper, under section 4.1 Goals and environment of use we read:
In applications that demand the most efficient use of space, the block cipher will often only be implemented as encryption-only.
I presume this is NOT the same as one-way encryption (perhaps I should say hash?) as used for passwords.
- So in what cases might we need only encryption but not decryption? It seems strange we would encrypt something that does not need decrypting at some point.
Furthermore, the quote above continues with ...
In this way it can be used in challenge-response authentication protocols and, with some careful management, it could be used for both encryption and decryption ...
This just added to my confusion.
- It seems PRESENT can decrypt a ciphertext by running it in reverse. So why the need for some careful management for PRESENT to be used for both encryption and decryption?