I want to decrease attack surface by preventing the plaintext string or encryption key from ever being typed or otherwise entered into a computer. Ideally the decryption key would be something that the user can generate and store in their head. But encryption should still be as strong as possible. I don't need to be able to decrypt without a computer, though that would be cool.

  • $\begingroup$ It's hard to explain why, but I believe that's impossible. $\endgroup$
    – Zergatul
    Oct 5, 2017 at 16:41

1 Answer 1


A one time pad, the first problem is the key is as big as the message, the second problem is you have to roll some dice a whole bunch of times and do a lot of repetitive math and looking at tables to convert numbers to characters.

The advantage is perfect secrecy. But I think that answers the question as nothing is more secure.

  • $\begingroup$ Hmm, I think that would fail the requirement that the key has to be easy to be user defined and easy to remember. Is there no pen and paper way to encrypt "Be sure to drink your Ovaltine" using the key "hunter2"? $\endgroup$
    – the8thbit
    Oct 6, 2017 at 5:14
  • $\begingroup$ Well there's en.m.wikipedia.org/wiki/Vigenère_cipher then, the main weak point it's open to frequency analysis for short key lengths, use a long enough high quality key and you are back to a OTP. $\endgroup$
    – daniel
    Oct 6, 2017 at 5:58

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