The description of this thread included creating crypts, as well as data protection. One of the simplest and most effective methods is to create your own number table, and use it as the base for your coder. This is easiest if you are encrypting just text/numbers and a few symbols. abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()?|><,. This is the base set you need as a reference to build your cypher for. Count them, and rearrange them. No two may be the same. Arrainge them in stacks for the cypher to choose from. There are near infinite possible combinations. What you will do is construct a long data stream that will replace every character in your file to be encrypted with one character from the cypher, then migrate to the next line you choose. This is a key cypher. You may make it a coded key cypher by simply choosing the line of the key to start with, and choosing every 3rd, 8th, 21st line, etc... to take characters from. The idea behind this is that without the key, you cannot break the code. The characters MUST be random, or the key will not work. I recommend placing it on a memory stick so it may be readily destroyed, thus keeping your secret data secret.
I hope this helps some of you.
Your description there is kinda confusing, but it seems that what you're talking about is a substitution cipher. A substitution cipher is not secure at all, as it doesn't hide patterns that the language being encrypted may present.
To explain this, assume we are using the the letters (A-Z) for our plaintext alphabet (no spaces or punctuation). If you substitute the letter e with the letter g, g will probably be the most frequent character in the cipher text file. This is because the letter e is the most common letter in the English language. A cryptographer would simply have to create a histogram of letter frequencies in the cipher text, and compare them with actual letter frequencies in the english language to figure out (or at least narrow down) the key. Also because of the way the English language is constructed, there are common pairs of letters such as (ss, ee, tt, ff, ll, mm and oo) that will show up in the cipher text also.
If you learn more about that here:
http://en.wikipedia.org/wiki/Letter_frequenciesand here:
http://www.simonsingh.net/The_Black_Chamber/hintsandtips.htmThe best way to secure your data is to use a modern Cipher like AES. Since you mentioned thumb drives, a good cryptographic thumb drive to use would be the IronKey
https://www.ironkey.com/. It uses AES encryption, and self destructs after 10 wrong password entries, to prevent brute force attacks. It's the best way I know of to secure your data.
If you want a program just to secure the data on your hard disk, a program like TrueCrypt
http://www.truecrypt.org, which is a free and open source program, would do a good job of providing a high level of security (AES-256, Serpent, and Twofish) to protect your data. Using a classical cipher, is not a good ideal.
-Int3grate