Lets say I want to build a simple chat program that has
encryption that is impossible to crack for anyone, even a
theoretical government with a massive super computer. Ok here's
my idea. You'll need to read all the points to get the whole
picture I think. - Only two people can communicate with each
other with the chat program. No group conversations. - The
people will be communicating over the internet. - The chat
program will just handle basic characters, numbers and symbols
that are on a standard US keyboard. This is to keep things
simple. - We'll say there's a limit of 160 characters per single
chat message. But obviously being a real-time chat program over
the internet you can type up more than one message. Chat person
#1 (Bob) generates a large list of secret random keys (or pads).
Each one time pad is 160 characters long. So we end up with a
long list of pads. These get put in a SQLite database or
something with primary keys numbered from say 1 to 5000. - Bob
copies the database to a USB drive/CD/DVD/Bl