Why can some users not decrypt messages encrypted in Kleopatra? : PGP | Torhoo darknet markets
Title pretty much explains my question - some users cannot decrypt messages that have been encrypted with Kleopatra. I have heard this in a couple of places now.
Does it have anything to do with the DrugHub notice implying they're using outdated software?: "... don't use outdated pgp software like gpg4usb ..."
So there's a couple of points here, but I'm not sure which one you are referring to.
Kleopatra will often crash for me attempting to decrypt a message that has unknown keys (More than two, the person you are talking to and yours). USUALLY closing and re-opening the software alleviates this. If not, I use gpg from the command line or gpa (GNU privacy assistant) to decrypt the message. I also don't write a message in Kleopatra notepad when this happens, too often Kleopatra will crash and I have to start over. I've learned my lesson there.
gpg4usb is outdated and should not be used.
If I missed your point, let me know what you meant with more clarity.
A possible explanation for this issue is Gpg4Usb only supports RSA keys, while Kleopatra enables the newer, fancier ECC based keys.
If user A owns one of those, he's likely to have trouble exchanging with legacy software like Gpg4Usb (last updated 9 years ago). The PGP message payload will obviously match the recipient RSA public key; however, additional information, such as metadata (timestamp, recipients), signature, or co-recipients payloads could be build on top of ECC encryption. This is likely to create a conflict when processing the full message for decryption.
When user A tries again using Gpg4Usb, he has to generate a new, RSA compliant key. Messages extended with this new key are 100% RSA and can, therefore, be decrypted by user B.
this makes sense and yes, it's probably the reason - Does this imply that specific parts of the message is encrypted using differing encryption methods? Or maybe the outdated recipient software doesn't understabd how to deal with newer gen metadata (eg. timestamp, recipients)
I had to do a bit of digging. I don't know the specification that well honestly.
I would think it's a bit of both. When there are both RSA and ECC recipients, I'd assume the message payload will contain parts encoded with one, then the other algorithm. Signature are clearly shorter when generated with an ECC key, which suggests the encryption algorithm also matters here. I'm less sure about metadata (my bad) as the specification seems to indicate it's algorithm independent (also it's only fingerprints, date only matter for signing).
Any case I can imagine the PGP version to matter for parsing. Interestingly enough, it is included in the messages for compatibility reasons. One can remove it using the following parameter:
--no-emit-version
Also sorry for the double post :) Had a connection issue earlier.
no worries - I guess we won't know for certain unless I'm very bored one day and feel like properly analysing the messages (and the implementations) for differences
worth notting the message succesfully encrypted has a version ""header"" specifying GnuPG v1 - almost definintely a breaking change from v1->v2.xyz
The RFC4880 is 80 pages with a fair part of hardcore cryptography. Way beyond my level. But reading some comments here and there, it seems ECC is one of the few things to actually break compatibility. Some people mentioned decrypting messages they wrote in the 90s with recent software. Which is another concern for the darknet world. But. We have another thread going on for that :)
So I'm guessing the person decrypting the message is using outdated software... do you know of anything under the hood that may be causing this?
The only thing I can think of is if some feature was used by the sender's software, which is a new feature that has not been implemented in the receiving user's software
Kleopatra will often crash for me attempting to decrypt a message that has unknown keys (More than two, the person you are talking to and yours). USUALLY closing and re-opening the software alleviates this. If not, I use gpg from the command line or gpa (GNU privacy assistant) to decrypt the message. I also don't write a message in Kleopatra notepad when this happens, too often Kleopatra will crash and I have to start over. I've learned my lesson there.
gpg4usb is outdated and should not be used.
If I missed your point, let me know what you meant with more clarity.
User A necrypts message with Kleopatra
User B cannot decrypt for some reason
User A encrypts same message using same public key, but this time uses gpg4usb (just to test)
User B successfully decrypts the new message
-----
I have heard twice now that this problem experienced by user B only happens when the sender uses Kleopatra to encrypt the message
If user A owns one of those, he's likely to have trouble exchanging with legacy software like Gpg4Usb (last updated 9 years ago). The PGP message payload will obviously match the recipient RSA public key; however, additional information, such as metadata (
timestamp, recipients), signature, or co-recipients payloads could be build on top of ECC encryption. This is likely to create a conflict when processing the full message for decryption.When user A tries again using Gpg4Usb, he has to generate a new, RSA compliant key. Messages extended with this new key are 100% RSA and can, therefore, be decrypted by user B.
I would think it's a bit of both. When there are both RSA and ECC recipients, I'd assume the message payload will contain parts encoded with one, then the other algorithm. Signature are clearly shorter when generated with an ECC key, which suggests the encryption algorithm also matters here. I'm less sure about metadata (my bad) as the specification seems to indicate it's algorithm independent (also it's only fingerprints, date only matter for signing).
Any case I can imagine the PGP version to matter for parsing. Interestingly enough, it is included in the messages for compatibility reasons. One can remove it using the following parameter:
Also sorry for the double post :) Had a connection issue earlier.
worth notting the message succesfully encrypted has a version ""header"" specifying GnuPG v1 - almost definintely a breaking change from v1->v2.xyz