Context

GPG is used for encryption and authentication. It’s use case requires easily local access, but this may expose it to a large variety of attacks. The aim is to make software replication of private keys difficult by implementing the key in hardware.

Prototype 01

More research is required on how GPG works internally. If the algorithm can be easily synthesized on hardware, an FPGA-based approach may be ideal. The private key must be encrypted and stored securely to prevent easy exploitation with hardware access.

For establishing a hardware foundation, a Caesar shift can be implemented. It will take as input a key (shifting constant) and a string of text ([a-z][A-Z]), and output the encrypted text ([a-z][A-Z]). The key should be requested each time a new input is provided and should only be stored for the duration of the encryption process.