All you need to know to use PrismCipher like a pro:


Why did you create PrismCipher for Chrome?

I created the PrismCipher cryptosystem in response to wholesale data collection by the NSA and the Five Eyes countries, and by companies offering “free” services where the account holder’s data itself is the price of admission.

Whether it’s from a global SaaS company or a nation-state actor, data collection is routinely performed 1) without a warrant, 2) with little judicial oversight, and 3) with no opportunity for redress.

In response, I wanted a solution for the problems of corporate espionage of user data (Google reading my Gmails) and government surveillance of the internet (NSA PRISM program) while still being able to enjoy the use of mainstream services.

PrismCipher for Chrome is the initial implementation as a Chromium browser extension.

What kind of encryption does PrismCipher use?

The software employs symmetric key (private key) encryption. This means the sender and receiver must use the same password key to encrypt and decrypt the message, similar to AES.

Is this like using One-Time Secret to protect data?

As far as protecting data before transit, PrismCipher is similar to services such as self-destruct-o, One-Time Secret or read-once.

Self-destruct-o is like One-Time Secret on steroids, while read-once doesn’t even try to protect the message or password it uses.

PrismCipher does not store protected data on servers like self-destruct-o or One-Time Secret, neither does it transmit a plaintext password over the air like read-once does. Services such as One-Time Secret are good for creating protected data shares and, once protected, you choose how to send the data to the intended recipient.

PrismCipher is good for seamlessly transmitting data over existing services like LinkedIn, Yahoo or Gmail. Once you encrypt, you can see exactly what you’re sending prior to transmission.

Where did the name PrismCipher come from?

With some malice, the name “PrismCipher” was created as a retort to the specific NSA surveillance program made known by Snowden.

In a perfect world, once citizens have determined their government is spying on them, necessary course corrections would be made via elected officials. By now, it’s naive to think that’s ever gonna happen. In June 2013, Snowden disclosed a program begun in 2007. From then to now, the only thing that has improved is our awareness of it.

Since the NSA can’t be prevented from using PRISM to analyze and archive our data, we might choose to use software like PrismCipher to render the NSA’s ill-gotten gains unintelligible.

What are the consequences of using PrismCipher?

The use of encryption is growing and its benefits are obvious, but that doesn’t mean you’ll fly under the radar according to a document signed by U.S. Attorney General Eric Holder and published by the Guardian.

If the NSA determines the data collected on you involves “communications that are enciphered or reasonably believed to contain secret meaning,” then you can bet they’ll keep that data indefinitely. “Such communications can be retained for a period sufficient to allow thorough exploitation and to permit access to data that are, or are reasonably believed likely to become, relevant to a future foreign intelligence requirement.”

That encryption exception is just one of many outlined in the document, which also allows the NSA to give the FBI and other law enforcement any data from an American if it contains “significant foreign intelligence” information or information about a crime that has been or is about to be committed. Americans’ data can also be held if it’s “involved in the unauthorized disclosure of national security information” or necessary to “assess a communications security vulnerability.” Other “inadvertently acquired” data on Americans can be retained up to five years before being deleted.

So when the NSA figures out you’re protecting your privacy using encryption such as PrismCipher, go ahead and figure they’ll keep your message until they can crack it. Further, you should likely assume you and your message recipients might become “persons of interest” in the interim.

What data does PrismCipher collect on me?


Unlike most services, the PrismCipher for Chrome browser extension does not monitor where you are, what you do or even how long it took. Neither Google Analytics nor any other tracking service is used to watch you. No cookies, no hidden files, no local storage, no web databases and no BS.

And as a handy reference, your browser’s Do Not Track (DNT) setting is always displayed.

What browsers will PrismCipher work with?

PrismCipher should work flawlessly as an extension in any webkit Chromium browser, such as:
Ungoogled Chromium


Gmail has confidential mode, so how is PrismCipher better?

Gmail’s “confidential mode” is neither encrypted, protected, anonymous nor private. Calling it “confidential” is therefore little more than an intentionally misleading marketing strategy.

Consider the following when using confidential mode:
• messages are not end-to-end encrypted (and thus are not secure)
• message contents are not private because Google can always read them
• expired messages aren’t permanently erased because they remain in the sender’s sent folder

How does any of this ensure confidentiality?

PrismCipher gives you data security and protection. It provides endpoint encryption for supported services because the point at which you create the data you send is the point at which PrismCipher encrypts it (before it’s sent). Protection & security don’t occur in the background. Instead of transmitting plaintext, you send encrypted text to your recipient.

It doesn’t matter how long data hangs around in your sent folder or in the destination inbox. It also doesn’t matter whether Google peeks at the contents or some government compels its disclosure. Since the message is encrypted, and since only you and the recipient can decrypt it, nobody else can get anything out of it.

Isn’t Gmail’s SMS passcode protection a good idea?

Not really, because the whole thing is misleading from the start.

The sender gets to unilaterally decide if the recipient’s data is shared with Google. The recipient is neither asked for permission up front nor offered the opportunity after the fact to have their associated data removed from Google’s servers. Now, stop and read that again.

For example, when you send a passcode-protected email to a non-Google user, you’ve just allowed the company to link that phone number to that email address, as well as whatever sensitive information is in your message. There is no mechanism whereby the recipient may decline having their phone number associated with their email, neither is there a restriction permitting this feature to be used only for recipients already registered with Gmail.

This is a clever way for Google to gather information on people who’ve likely refused to use their service to avoid just such data collection—all under the ruse of 2FA.

Offering “protection” like this at the expense of another’s privacy isn’t really about protection at all. This is an invasion of privacy for the sake of data mining.

Message Output

Please use a supported email or chat product

This error message indicates the page does not work with PrismCipher.

To use PrismCipher, you must first start with the web page of a supported product, such as Gmail or Outlook.

The page is out of sync and must be reloaded

This status message means you are using a supported product, but the chrome extension is not in sync with the web page itself. (This can happen when the web page is loaded before the extension.)

The easiest way to remedy this is to refresh the page by clicking the link that says “(Click here to fix it.)”

You could also manually refresh the web page by using the F5 key or clicking the browser’s Reload icon.

Please create some editable content

This status message tells you this is a supported product, but there isn’t any message content able to be encrypted or decrypted yet. (This can happen when you haven’t Composed a new message, or haven’t Forwarded an existing message, etc.)

When PrismCipher encrypts or decrypts, it actually overwrites the existing message, but it can’t do that unless the contents can be changed.

The easiest way to use PrismCipher is to Compose a new message and then encrypt it. You could also Forward an existing message and encrypt it before you hit send. Both of these options create editable content.

Optionally, you can Reply to a message, but you must “show trimmed content” by making the message visible in the edit window. If you can’t see the message, PrismCipher won’t be able to edit it.

No plaintext was found. Please type (or select) something

This error message indicates the product is supported, the page is in sync and the contents seem to be editable, but no data could be found to encrypt. (This can happen when you Reply to a message, but the contents are hidden.)

If you are replying to a message, you’ll want to “show trimmed content” for things to work. This means making sure the message contents are visible in the edit window, not hidden from view.

No ciphertext was found. Have you encrypted anything?

This error message indicates the product is supported, the page is in sync and the contents appear to be editable, but no encrypted data was found.

This can happen when you Reply to a message, but the contents are hidden. It can also occur when you try to decrypt a message that doesn’t have any encrypted data in it.

If you are replying to a message, ensure you “show trimmed content” to proceed. This means making sure the message contents are visible in the edit window, not hidden. You’ll also want to be certain the message has encrypted data in it before decrypting it.

Please enter a passphrase

This error message means you’ve forgotten to enter a passphrase (or password) when you chose to encrypt or decrypt the message.

Decryption error: no ciphertext detected

When you see this error it means PrismCipher tried to use the passphrase you supplied to decrypt the message, but no ciphertext could be detected. (This can happen when the message is all plaintext and contains no encrypted data.)

The contents are encrypted

This success message indicates the data is now encrypted and the entire message has been converted to ciphertext.

Now it’s safe to send your message through the service (Yahoo! email, LinkedIn, etc.)

The selection is encrypted

This success message tells you PrismCipher has just encrypted the text you selected (not necessarily the entire message).

Note: HTML content can be quite complex. The internal markup can contain much more than just the text and images you may see. When PrismCipher cannot successfully encrypt just your selection, it will encrypt the entire message. It may also start with your selection and encrypt all the way to the end of the message. It does this to ensure the integrity of the encrypted contents and to ensure the message can be successfully decrypted.

The contents have been decrypted

This success message indicates the encrypted data is now decrypted and the entire message has been returned to its original state.

The selection has been decrypted

This success message means PrismCipher decrypted the text you had selected and encrypted.


What are the limits on my password?

Unlike some encryption products that limit password length or character set, passwords in PrismCipher are virtually unbounded.

This means your password can have as much as 4,000 characters, and it can be created using regular ASCII characters as well as full Unicode (over 277,000 symbols) including foreign characters and emoji.

How does PrismCipher work internally?

PrismCipher is a synchronous stream cipher where the keystream depends only on the key, not the ciphertext or plaintext. However, it is designed to withstand differential cryptanalysis. If a single digit is corrupted (via transmission or tampering), the entire message is lost and unrecoverable.

It is also polyalphabetic. A rotating substitution array is applied to the plaintext to expand its dynamic range. This means the relationship between a character in the plaintext and the characters in the ciphertext is one‑to‑many.

Prior to encryption, the plaintext message is diffused, compressed and randomly padded. Internally, confusion is introduced to the ciphertext during the main encryption cycle.

PrismCipher supports very long, user-selectable keys (up to 4,000 characters in length). Encryption keys are hashed using algorithms that exhibit a very high avalanche effect.

Messages and keys support full UTF-8 encoding allowing the cryptosystem to process language scripts from Arabic to Katakana to Yi. Visible and invisible graphemes can be used.

No two ciphertexts are identical, even if the same keys are used to encrypt the same plaintext, because the cryptosystem randomly adjusts each ciphertext for uniqueness.