Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

gnuradio voice scrambler

Not open for further replies.


Well-Known Member
Most Helpful Member
i remember hearing, and trying to decode a "voice inversion" system that was used for ship-to-shore telephone calls from the mid 1970s to the early 1990s. a standard "voice inversion" system takes the audio as one input, and an oscillator (usually about 3khz) and input the two signals into an analog multiplier. the output of the multiplier is a double sideband signal which is then fed into a low pass filter, so only the lower sideband signal is present at the output. the lower sideband is "inverted" in the frequency domain, with low frequencies translated into high frequencies, and high frequencies translated to low frequencies. there was an additional trick used in the ship-to-shore telephone system (because theoretically one could set their receiver to LSB and listen in), and that was to use an envelope follower to shift the oscillator frequency. this means that the audio signal was half wave rectified, and the resulting DC voltage was applied to the oscillator to wobble it's output frequency. with the analog systems in use, there was a tiny amount of bleed-through of the oscillator, and it wasn't difficult to figure out that the oscillator rested at 3khz, and would go up in frequency when somebody was talking, and would wobble with the amplitude of the audio (or the tone was there as a "pilot" tone, and a phase locked loop would produce the local frequency modulated "carrier" signal).

here's the basic voice inversion scrambler. the input wav file is a wav file of somebody talking. the output wav file is the inverted speech. there are two greyed out wav file blocks, so that the output wav file captured on the first pass can be used on the second pass for decode (as would be done in the receiver). you can use any wav file you want as the input, but music is a bad choice. also, care must be taken to avoid clipping in the audio, because clipping will render the reconstructed audio unintelligible.


i'm currently in the process of adding the frequency modulation blocks to simulate the original ship-to-shore system.
I made a voice scrambler and unscrambler with a balanced modulator IC and they worked perfectly. They scrambled speech from a wireless microphone and unscrambled it for it to be used on a telephone conference system.
It was for the head office of a new bank and I think they did not want their competitors to hear how much cheating they were planning. Their cheating became obvious and they soon went bankrupt.
yes, they do work... there's a lot of companies that promote various forms of "industrial espionage", and at the same time are extremely paranoid about their competitors returning the favor... if any company were to request such a simple scrambler in this day and age where there are so many forms of true encryption available, i think i'd try to make them understand that even children's toys contain the hardware to break the voice inverter (wasn't there a "Darth Vader" voice changer that used an oscillator and balanced modulator?). years ago, voice inversion was a viable scrambling method, because it took some skill to build one, and not a lot of people were aware of what made it work. but these days, you can make one of simple functional blocks of python code as seen in my OP above. i could think of ways to make it more difficult to break, such as the method used with ship-to shore telephone traffic. i might even think of a way to make it very difficult to break (such as using a piece of music as the "oscillator"), but still, enough information is present in the output signal to figure out how it was scrambled. there are so many ways of really encrypting audio that basic analog methods are really too weak to be effective against an adversary with even basic analog skills.
so, i tried a couple of different ways of wobbling the "carrier" tone, and wasn't very successful at decoding it. i have some further ideas on how to do it, but they are crude and will take some time to work out. i have heard a method on the air that seems to work well, and it took a while of listening to figure out how it works, and that's "time domain scrambling". the way it works is every two to 5 seconds of audio is split into 0.1sec segments, and stored in either an analog bucket-brigade memory, or digitized and stored sequentially in RAM. then the 0.1sec segments are taken in a pseudorandom sequence and converted back to audio and sent. the receiving end takes the segments, and uses the pseudorandom sequence to store the audio (this time back in it's original sequence) and output it to the speaker. for correct timing of the sequencing, there is a tone sent at the beginning of the transmission with embedded sync pulses (i think as FSK). the transmitting and receiving ends have a prearranged "key" which is the pseudorandom sequence. i used to hear this type of scrambling a lot on HF in the 1980s and 1990s, but within the last two years only have heard it in use once or twice. the advantage of this method, is that the radio itself didn't need modification, just the addition of an audio processing device. more modern systems completely digitize the audio and send it as an OFDM transmission, and encryption can happen at any part of the transmission process after the ADC.
Not open for further replies.

Latest threads