I do contract work for a living, which could include writing a program such as this. However, I don’t do people’s homework for them. That just robs them of an education.
You have my full permission to implement this project any way you please.
It is a OTP One Time Pad system using a simple XOR of message and key, using a key equal in length to the message, and never reusing a key. See the encrypt utility documentation for more detail on how the scheme works.
A more advanced version of the project requires to you build a peripheral that is a true random number source. Pseudo random number generators are useless for this purpose. Such a device would be useful for creating one-time pads, and also in various simulations. Here are several ways it could work. See true random numbers in the Java glossary for more details on how to build on buy one.
Once you have this mechanism in place, you can build an uncrackably secure webphone. You use the standard Java microphone API to convert sound into numbers, compress them a little, encrypt the numbers and send them over the web in real time. On the other end you reverse the process, and play the sound. You logically have two channels, one in each direction. Keep in mind that snoops can still place hidden microphones at either end, or snoop on EMF radiation from your computer. It is best to use a laptop which emits fewer clues. However, snoops can’t do anything simply by packet sniffing or intercepting and replacing packets. There is a slight delay as packets wend there way through the Internet, but not that different from a long distance call to Indonesia from Canada.
The advantages of this scheme are:
![]() |
and suggestions to improve this page to Roedy Green : | ||
| Canadian Mind Products | |||
| mindprod.com IP:[65.110.21.43] | |||
| Your face IP:[38.103.63.16] | The information on this page is for non-military use only. | ||
| You are visitor number 5,110. | Military use includes use by defence contractors. | ||
| You can get a fresh copy of this page from: | or possibly from your local J: drive (Java virtual drive/Mindprod website mirror) | ||
| http://mindprod.com/project/uncrackableencryption.html | J:\mindprod\project\uncrackableencryption.html | ||