Codes are, as rare as they seem to be, are a vital part of everyday life, with online transactions being protected by humongous primes 500-so digits long, but these are often being broken by computers with a lot of spare time on their hands. However, these computers might easily be halted by the RSA code, along with a second code applied.
A good one which is easy on bit space for a computer is the matrix code (not the movie) which can be used to easily code letters back and forth. You choose a matrix, the size depending on the length of your letter, and use a simple alphanumeric code (like a=1, b=2, c=3…) to turn that into another matrix, which would give you something like
Matrix 1 Message [5 9 -7] [5 21 12 5 18] [-9 6 2] [12 15 22 5 19] [3 -8 -8] [16 9 5 5 5]
Then, after passing the matrix to your friend (RSA code, anyone?), or making it an obscure constant like Kinchin’s Constant , you simply use standard matrix multiplication to get
[21 177 223 35 226] [59 -81 34 -5 38 ] [-209 -129 -180 -65 -138]
This is the coded message, which you then can pass on to your friend, adding a second code on that if you want, without fear that the crackers will decode it.
When your friend gets it, he multiplies that by the inverse of the first matrix, decodes the alphanumeric code, and reveals the original message:
euler loves pieee
This code is effective for small messages, although larger first matrixes and matrix numbers will increase the time dramatically to brake it.
Of course, you could scramble the original message by using the standard alphanumeric code, but shifting the values of the letters by some number for each letter in the message.
Or you could just tell the message to them.