Hacker News new | past | comments | ask | show | jobs | submit login
Tempest: Transmit Radio Waves via a PC Video Card with No Extra Hardware (erikyyy.de)
77 points by max_ on Sept 27, 2023 | hide | past | favorite | 23 comments



Lol. The name is an inside joke. "Tempest" is an NSA program for securing devices against data exfiltration using radio frequencies. It was also once a program for spying on such devices. A "tempest-rated" device is one that doesn't emit EM waves that may transmit information.

This software could be used to exfiltrate data from an "air-gaped" PC to a receiver. I suspect someone involved with this had a national security background.

https://en.wikipedia.org/wiki/Tempest_(codename)


> I suspect someone involved with this had a national security background.

....or, like me, they were simply not asleep during the 1990s when everyone and their dog remotely involved in information security became aware of Tempest, particularly via the publication of articles like "A Few Things on Van Eck's Method of Eavesdroping(sic)" in Phrack issue 46 (published 20 Sept 1994).[1]

[1] http://phrack.org/issues/46/3.html


Also relevant: https://play.google.com/store/apps/developer?id=mokyuu - synchronize your radio-controlled watch when not in range of WWVB/DCF/JJY time signals.


holy crap, i saw the op-1 uses an earphone ground wire as an antenna for RX, but this app is using it as TX... that's genius


>"All electronic devices send out eletromagnetic waves. so does your monitor. and your monitor does it all the time. and at very high frequencies. high enough for your short wave AM radio. all you have to do is display the "correct" image on your screen and your monitor will emit the "right" signals. Tempest for Eliza displays pictures on your screen. one for each note in the song."

This is interesting from a "dimensional expansion"/"dimensional collapse" perspective.

In other words, we have a computer monitor.

The screen, more specifically images on the screen -- are 2D entities.

Radio waves, on the other hand, could be considered 1D, or even 0D (time domain oscillations only), depending on one's perspective...

So, if what the article says works, we have this mapping of a specific patterned 2D screen image -- which maps to a note (a human hearable frequency) mapped to a much higher frequency 1D or 0D entity (the AM radio wave).

Anytime an apparent one-way mapping can be spotted -- I like to imagine if it could be reversed, and if so, what might be required to do that...

Reversed, this looks like a 0D/1D radio wave generating a 2D screen.

Well, we already have something like that... that's basically streaming YouTube videos over WiFi (2D screens gettting generated from 1D/0D information)... but that's still with an encoding method, compression, computer intervention, etc.

Perhaps there is something more fundamental there...

Old-time analog TV's used a radio (well, rf/electromagnetic spectrum, whether you call it "radio" or VHF or UHF or not...) signal only to create their 2D pictures without encoding or decoding, without computer intervention.

But, I don't know.

I think the whole idea of converting something in several dimensions to something in lesser dimensions, and then converting it back again -- has a whole lot of merits and applications -- thus far we've "discovered" TV and Computers and moving pictures of all sorts -- what potential applications will we find for this set of ideas in the future?


One of Musks late night tweets was along the same lines:

> If there are so many dimensions, why does it all fit on a SerDes? [0]

I can confidently tell both of you that dimension reduction from m to n is easy as long as you are happy to quantize (m-n) of the dimensions and have sufficient bandwidth in the remaining dimensions.

[0]: https://twitter.com/elonmusk/status/1701164151429579072


We're continually chasing that 30 GHz pixel clock necessary to fool visual perception.


> we already have something like that... that's basically streaming YouTube videos over WiFi

I don't think that's correct. Streaming data over WiFi it's like loading a painted portrait in a boat, rowing over the river and then unloading it in a different place.

What you're thinking is like reconstituting the portrait from the wave patterns made by the boat in the river. Which is possible and it's called Van Eck phreaking: https://en.wikipedia.org/wiki/Van_Eck_phreaking


Also relevant: https://bellard.org/dvbt/ - transmitting DVB-T from a VGA card


I think this is also possible without needing to use odd timing specs for the monitor. But you'd need to do lots of extra math when generating the data to display on the screen.

You would of course need to know the exact pixel timings - which probably vary quite a bit between different manufacturers.



The RaspberryPI can use one of it's IO-Pins to transmit a stereo radio signal including RDS (https://github.com/miegl/PiFmAdv). It's probably illegal in most countries.


If you're into this type of technology, then you should take a look at the old NSA ANT catalog for further inspiration:

https://en.wikipedia.org/wiki/ANT_catalog


@dang could you add (2005) to the title?

It's at least that old, I suppose it could be older.


You can also use common USB to VGA converters as transmitters, as they're basically just really fast DACs - https://osmocom.org/projects/osmo-fl2k/wiki


Here's a bootable ISO that you can use to run Tempest in a desktop VM of your choice. http://dirk-loss.de/tempest-showroom.htm


Impressive. I've noticed that the photo shows an very old CRT monitor. I wonder if this program would still work with a modern HDMI monitor.

And why doesn't it work for FM? Is it a software limitation or a hardware one?


Here you go tempest for LCD https://github.com/luamfb/tempest-lcd


Kinda both.

FM is normally transmitted at much higher frequencies (~ 100 Mhz rather than ~400 kHz). Your monitor pixel data will have components up at 100Mhz, but they'll be much smaller.

The math to generate an AM signal is fairly trivial (just multiply signal by carrier and re-quantize to the pixel clock). For FM, the math is much harder, although still doable.


I think it is a hardware limitation--the monitor operates at a fixed frequency, and adjustments to the image only change the amplitude of the signal.


Re: FM

Probably because the frequency range would need to be in MHz rather than KHz.


In 1977 or 78 we had a TRS-80 Model 1, which had no explicit audio hardware, and one of the ways to get audio was to just place an AM radio near the machine and run various kinds of loops in your program.


The best part: it sounds like floppy music.

There must be some hidden, universal...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: