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.