12 Oct 2026 / Security
PGP for Darknet Markets: Encrypting Addresses and Confirming Vendor Keys in 2026
PGP does two separate jobs in darknet communications: it hides the contents of a message, and it helps prove who controls a key. Those jobs are easy to mix up. Encryption without key verification can send a private address to an impostor. A verified key without encryption leaves the message readable to anyone who obtains the page, account, or database.
This is a research and privacy guide, not an access guide. Do not use it to contact illegal vendors or arrange prohibited transactions. The same techniques apply to protecting sensitive research notes, source communications, incident reports, and other high-risk messages.
What PGP protects, and what it does not
PGP uses a key pair. The public key is shared. The private key stays under the owner’s control. Someone encrypting a message uses the recipient’s public key. Only the matching private key should decrypt it.
That protects message contents. It does not automatically hide the sender, recipient, timing, account activity, metadata, or the fact that an encrypted message was posted. It also does not make a compromised device safe. If malware can read your clipboard or private key, strong cryptography cannot rescue the conversation.
Marketplace software may offer encrypted messaging or PGP-encrypted text. One analysis of marketplace scripts describes both approaches, with the stated goal of preventing operators from reading buyer and vendor conversations. Treat that as a design claim, not proof of implementation quality. A site can display a PGP feature while mishandling keys, retaining plaintext, or presenting a substituted public key.
Addresses are the high-risk message
A shipping address is usually more sensitive than an ordinary question. It can identify a person, connect an account to a location, and create lasting harm if exposed. Never paste an address into a normal message field simply because the page uses Tor or shows a lock icon.
Encrypt the complete address locally before submitting it. Include only the information genuinely needed for the stated research purpose. Avoid adding your real name, phone number, workplace, or unnecessary delivery instructions.
A practical workflow looks like this:
- Obtain the intended recipient’s public key from a source you can authenticate.
- Verify its full fingerprint independently.
- Import the key into a local PGP application.
- Write the address in a local text editor, not in the browser form.
- Encrypt the file or text to the recipient’s key.
- Review the encrypted output before copying it.
- Delete the plaintext securely according to the limits of your operating system and storage device.
PGP output commonly appears as ASCII armor, beginning with —–BEGIN PGP MESSAGE—–. ASCII armor is a text-safe encoding of binary ciphertext. It exists so encrypted data can be copied into a form, email, or message field without being converted into unreadable raw binary.
Confirm the key before encrypting
The most dangerous mistake is encrypting to the wrong public key. A fake key can still produce perfectly valid ciphertext. You may receive a reassuring-looking encrypted message while the attacker quietly holds the matching private key.
Key verification is meant to prevent this man-in-the-middle attack. Do not rely on a username, avatar, short key ID, marketplace profile, or a key copied from a single page. Those identifiers can be changed or replaced.
Use the full fingerprint. It is the compact identity record for a public key, and it should be checked through an independent channel. Suitable evidence can include a previously authenticated signed announcement, a separately obtained official statement, or an in-person comparison. A fingerprint printed on the same compromised page as the key adds little protection.
In a terminal, a typical GnuPG inspection command is:
gpg –fingerprint KEYID
Compare every character of the displayed fingerprint with the independently obtained value. Do not accept a partial match. Once confirmed, record the fingerprint and the date of verification in your own notes.
Key continuity matters. A vendor or researcher changing accounts does not prove an identity change, and a new key does not prove compromise. Ask what signed statement links the old fingerprint to the new one. If no authenticated transition exists, treat the new key as unverified.
Signing proves control, not truth
Encryption and signatures answer different questions.
- Encryption: can the intended private key decrypt this message?
- Signature: was this message produced by someone controlling the signing key?
A signature does not prove that the content is accurate, safe, or lawful. It only supports key continuity and message integrity. A malicious administrator can sign a malicious announcement. A compromised private key can produce valid signatures. PGP is an authentication tool, not a reputation system.
For a signed message, save the original text and signature. Do not verify a screenshot or a message copied through a rich-text editor. In GnuPG, verification commonly uses:
gpg –verify announcement.txt.asc
Read the result carefully. A “good signature” means the mathematical signature matches a public key in your keyring. You still need to compare that key’s full fingerprint with the one you independently verified. The displayed name and email are descriptive fields, not identity proof.
| Torzon Market |
torzon7aphar3x4l5b77nsylgyw26kntbi4m2wemrjh72aczeh27f6qd.onion
|
| DrugHub |
drughuj7l72ig56pza77eriu7yh6qsao4xb4yasq2qfjusxzuq6rlwqd.onion
|
| DarkMatter |
darkmafmzgnsmow5z3spgludhpwxhwbg77oam433fjx3clzh2yp2oaid.onion
|
| Omega Market |
omega7yhz7n4vg4yhf2na2qaaaeatdlqvjbj2juc245mr5muxtnuvgyd.onion
|
| BlackOps |
blackoogcnxogvymmebfwfjhx4k7efpgeoeytxtsev2lc4pqlbz54qad.onion
|
Signed announcements are useful for tracking continuity. Some communities also publish signed canary messages intended to show continued control of an account or service. Such a canary can provide a signal, but it is not a guarantee of safety. Missing posts, changed wording, or a new signing key deserve investigation rather than automatic trust.
A careful local encryption workflow
For serious work, use a maintained local PGP implementation rather than pasting sensitive material into an unfamiliar web tool. Browser-based tools can be convenient. One documented tool runs its PGP engine locally through WebAssembly and states that data is not sent to its server. Even so, verify the application source and deployment before trusting it with a real address.
Generate your own key pair locally. Keep the private key encrypted with a strong passphrase. Make an offline backup, and protect that backup as carefully as the original. A lost private key can make old encrypted records unreadable. A stolen private key can expose them.
Export only the public key when sharing it:
gpg –armor –export YOUR_FINGERPRINT
Do not upload a private key to a profile, support ticket, browser form, or “recovery” page. A service requesting it is asking for the ability to decrypt your past and future messages.
After importing a recipient key, inspect it before use:
gpg –fingerprint RECIPIENT_FINGERPRINT
Encrypt an address stored in a local file with:
gpg –armor –encrypt –recipient RECIPIENT_FINGERPRINT address.txt
The result is an armored message suitable for a text field. The original address.txt remains on disk unless you remove it. Do not assume deleting it means it is unrecoverable. Temporary files, backups, filesystem snapshots, clipboard history, and text editor recovery files can retain copies.
If you need to read your own encrypted copy later, encrypt to both the recipient and your own public key. Otherwise, you may be unable to decrypt the message after sending it because it was encrypted only for the recipient.
Test before handling sensitive content
Use a harmless test message first. Encrypt it to the verified recipient key, then decrypt it with the intended private key if you control it. Check that the result is exactly what you wrote. This catches wrong-recipient errors, damaged armor, and confusing application settings.
Do not paste an armored message into a field that silently reformats text. Watch for missing lines, altered characters, or an incomplete ending. Copying through word processors is a poor choice. Plain text editors are safer.
Keep the encrypted output intact. Do not edit a ciphertext block manually. If a message must be changed, edit the plaintext locally and encrypt it again.
Common verification failures
Trusting a profile key
A marketplace profile can be altered. The key shown there may belong to an attacker, even if the account name looks familiar. Use an independently authenticated fingerprint and compare it before every first use.
Checking only the short key ID
Short IDs are convenient labels, not sufficient identity checks. Collision and substitution risks are why the full fingerprint matters.
Confusing encryption with authentication
A message encrypted to a known key is not necessarily written by the person you expect. If authorship matters, require a signature and verify the signing key separately.
Assuming a valid signature means a safe service
Administrators, vendors, and researchers can sign false statements. A valid signature proves control of the key at signing time. It does not verify a listing, a delivery claim, a refund promise, or an operational security claim.
Keeping plaintext everywhere
The address may survive in browser history, clipboard managers, backups, swap space, crash reports, and screenshots. Reduce copies before encryption and inspect the tools involved in the workflow.
A compact research checklist
- Verify the full public-key fingerprint through an independent source.
- Check that the key is current and has no unresolved revocation warning.
- Use the recipient fingerprint, not a name or short key ID.
- Encrypt locally before entering sensitive text into a site.
- Sign messages when identity continuity matters.
- Verify signatures against the expected fingerprint.
- Keep private keys and passphrases offline where practical.
- Assume metadata and endpoint compromise remain possible.
- Retain only the encrypted record required for legitimate research.
PGP is strongest when treated as one control in a wider process. Verified keys reduce substitution risk. Encryption protects message content. Neither feature makes an untrusted platform trustworthy, and neither removes the need to question every key change, signed announcement, and request for sensitive data.