Your comment prompted me to wonder what kind of other kinds of shenanigans we could get up to if we combined "Acoustic beamsteering with speakers and Arduino" [1] with an array of normal sonar transducers.
“N.B. This was only ever intended as a gimmick and a proof of concept - not something that I would actually use at work. Please keep this in mind before arguing why I should be fired over this in various online comment sections.” - from the end of the article
It worked for me on OSX with both Firefox and Safari, although I did need to whitelist Javascript on Firefox in NoScript for the site. The volume level was pretty low, but was able to hear it with headphones.
Very low. With good SNR you can get 48.0 kb/s. It basically just passed small text payloads across an 'air gap', that were bigger than you'd want to be typing by hand. They were encrypted in transit but inspectable on both sides.
Shielded cable was long enough to reach a separate isolated room, and easily unplugged by an operator when not in use.
USB wasn't considered secure enough, other forms of sneakernet were avoided for *reasons*. Alternative options could have been used but this was simple, auditable and (comparatively) easy.
Stakeholders fully aware of how it works and the weirdness factor. Not many users, and no scale involved. It just met a very niche use case nicely :-).
A project I worked on in college was a "steganographic modem", transferring data in the audio spectrum by lacing a song being played with a signal, such that the signal in each frequency band would always be below the threshold that the human ear could tell the difference.
Even in a controlled setting the bitrate we achieved was very low, but for most songs it was enough to encode the lyrics. Seems quite useful until you remember both ends already need the original audio file in its entirety!
> Seems quite useful until you remember both ends already need the original audio file in its entirety!
That still seems quite useful. Steganography aims to obfuscate the presence of communication, not encrypt the data. You'd embed your ciphertext via the audio steganography. I can imagine this used for a dead drop by placing the encoded audio in a jukebox, or potentially even playing it over the radio/muzak system, if that isn't too lossy / the algorithm has enough error correction.
I remember reading a paper where the author had a proof-of-concept for sending data over audio using an algorithm that created pleasing sounds in the normal hearing range.
Does anyone know what I'm talking about? Some of the demos sounded like R2D2 but also carried data. I can't find it using a Google search.
I don't know the paper, but I'm actually working on an Arduino library for data over sound and I think it kind of sounds similar to R2D2. Here is a 1 min demo if you are interested:
This is almost certainly not the specific algorithm you're referring to, but Olivia MFSK sounds pleasing and can send 150 char/minute with a 7-bit ASCII data set: https://www.youtube.com/watch?v=Yz7a--ePSNs
If you're on debian/ubuntu, you should be able to install "minimodem", which allows for this sort of thing with the usual wide variety of command-line parameters.
I've used fldigi between two computers in the same room. It's also made for amateur radio, but when we do training, we just get operators to setup their laptop in the same room. If they have external headphone, that works best since you can basically lay then mic to speaker. But we'll often take turns having one blast out a message over speakers and everyone else receive it.
Never heard of it, but looks really cool. Too bad there isn't a web/WASM build of Minimodem so that it'd run in any web browser. This could be an interesting way to do data exfil. Although that has already been done covertly at ultra-sonic, or near ultra sonic, frequencies that real people can't actually hear.
Why not just reusing an existing modulation? There are dozens out there, from fast ones to super robust ones like JT65 (ridiculous baudrate, but you can basically decode it even when the sounds can't be heard any more)
43 comments
[ 4.2 ms ] story [ 79.8 ms ] thread[1] https://www.youtube.com/watch?v=_CSbL-PUwbM
Created a new issue: https://github.com/martme/webaudio-modem/issues/8
https://news.ycombinator.com/item?id=17333257
- "oh, another audio modem library to file away"
- "aww, I wonder what the details are... but that's a story in itself, alright then"
- "wait that says in production. this is actually keeping something standing up. Oh. I wonder if the recipient actually realizes."
So, the one question I probably *can* ask: what effective data rate did you manage?
Shielded cable was long enough to reach a separate isolated room, and easily unplugged by an operator when not in use.
USB wasn't considered secure enough, other forms of sneakernet were avoided for *reasons*. Alternative options could have been used but this was simple, auditable and (comparatively) easy.
Stakeholders fully aware of how it works and the weirdness factor. Not many users, and no scale involved. It just met a very niche use case nicely :-).
Hope that didn't dispel the magic for you.
Thanks for the extra details, that's really cool :)
Even in a controlled setting the bitrate we achieved was very low, but for most songs it was enough to encode the lyrics. Seems quite useful until you remember both ends already need the original audio file in its entirety!
That still seems quite useful. Steganography aims to obfuscate the presence of communication, not encrypt the data. You'd embed your ciphertext via the audio steganography. I can imagine this used for a dead drop by placing the encoded audio in a jukebox, or potentially even playing it over the radio/muzak system, if that isn't too lossy / the algorithm has enough error correction.
Does anyone know what I'm talking about? Some of the demos sounded like R2D2 but also carried data. I can't find it using a Google search.
https://www.youtube.com/watch?v=qbzKo3zbQcI
I think the researcher I had in mind was funded by Microsoft, or worked for Microsoft? They sounded like little robotic bird calls or something.
It's like Chirp.io took a single example from that paper and used it exclusively.
https://quiet.github.io/quiet-js
https://sourceforge.net/projects/fldigi/
Literally what Minimodem was created for :)
http://www.whence.com/minimodem/
Minimodem – general-purpose software audio FSK modem
https://news.ycombinator.com/item?id=30888879
152 points | by marcodiego | 55 days ago | 38 comments
Using the Web Audio API to Make a Modem - https://news.ycombinator.com/item?id=15471723 - Oct 2017 (63 comments)
in ipython
paste into encode widgetLayer and phase shift to taste.