Take the 2-minute tour ×
Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. It's 100% free, no registration required.

When using PGP type public encrypted communication, would it be a good idea to generate a new public for each message and attach that in the new public key in the reply to back to sender mail body? Idea is you start the communication with the known public key from a key server, but for each new message/chat message you generate a new public/private key for that particular end-user. That way if someone cracks your initial public/private key they may not read all the messages? Would that be a good or bad idea? Ie the person who want to read your mail conversation must crack all PGP keys in the conversation sequence to read all the messages.

share|improve this question
cracking a rsa key is very unlikely, your idea seems like extremist –  Shaga Jul 4 '13 at 16:44
@Shaga It's only hard if you only consider cryptographic attacks. Attackers gaining access to the private key by compromising an endpoint is a practical threat. This includes trojans, police raids, subpoenas,... –  CodesInChaos Jul 4 '13 at 17:10
@Christian The problems with this one is that key management becomes annoying. That's why protocols with a live connection like SSL or OTR can use similar techniques, for example to obtain forward-secrecy. For store and forward protocols like email it's far more annoying. For example how would you support receiving mails on multiple devices? –  CodesInChaos Jul 4 '13 at 17:12
Multiple devices would be impossible, but one a single device the mail program could handle the key changes automatically. There was claims that germany could decrypt certain types of SSH/PGP. golem.de/news/… –  Christian Jul 4 '13 at 17:41
If someone were to crack your initial public/private key (I'm assuming this is the typical pre-generated, shared public style keypair) then they could still man in the middle you emails/chats and insert their own key upgrades - trying to design a security protocol around a compromised endpoint is probably an exercise in futility. –  archie Jul 4 '13 at 20:19
add comment

1 Answer

In the case of emails your solution is not really practical. The problem is that the sender of an email uses the public key whereas the receiver should have the secret key. This means that whenever somebody wants to send you an email (and therefore generate a new key) you have to be online or you have to provide a set of pre-computed key pairs. If multiple people are sending you emails at the same time. Who is taking which key? Making the key management more complicated doesn't necessarily give you more security.

In the case of communications, like chats, the property you are asking for is called (perfect) forward secrecy. This property, roughly speaking, states that an adversary, who at some point obtains your secret key(s), should not be able to decrypt past conversations. The following paper should be a good starting point for you: https://otr.cypherpunks.ca/otr-wpes.pdf

share|improve this answer
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.