• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

songs/H07-May-2022-335265

AUTHORSH A D01-Dec-2001358 1511

COPYINGH A D19-Oct-200117.6 KiB341281

ChangeLogH A D01-Dec-2001401 1812

INSTALLH A D19-Oct-20017.6 KiB183143

Makefile.amH A D01-Dec-2001255 178

Makefile.inH A D01-Dec-200112.4 KiB420324

READMEH A D01-Dec-20018.3 KiB233170

acinclude.m4H A D01-Dec-20019 KiB315262

aclocal.m4H A D01-Dec-200112.4 KiB420354

configureH A D03-May-202250.4 KiB1,6071,248

configure.inH A D01-Dec-2001259 1511

install-shH A D19-Oct-20015.5 KiB252153

missingH A D19-Oct-20016.1 KiB191154

mkinstalldirsH A D19-Oct-2001722 4123

mksong.shH A D01-Dec-2001264 1510

mp3player.cppH A D01-Dec-20015.1 KiB189146

player.cppH A D01-Dec-20017.4 KiB331274

README

1Tempest For Eliza
2(c) 2001 by Erik Thiele
3
4This program uses the GPL license. see the file
5COPYING for details. a very important passage will be pasted here, too.:
6
7                            NO WARRANTY
8
9  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
10FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
11OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
12PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
13OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
14MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
15TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
16PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
17REPAIR OR CORRECTION.
18
19  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
20WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
21REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
22INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
23OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
24TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
25YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
26PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
27POSSIBILITY OF SUCH DAMAGES.
28
29
30this means if you get an electric shock from an old radio or
31crash your aircraft because of radio signals, it is YOUR problem!
32
33
34ok. now to the more interesting but less important topics:
35
36What is it ?
37------------
38
39Tempest for Eliza is a Program that uses your computer monitor
40to send out AM radio signals. You can then hear computer
41generated music in your radio.
42
43this document first describes tempest for eliza, the old program that
44plays music like your cellphone does when you get a phonecall. then it
45describes tempest for mp3 which you can use to play mp3 files :-)
46
47How does this work ?
48--------------------
49
50All electronic devices send out eletromagnetic waves.
51so does your monitor. and your monitor does it all the time.
52and at very high frequencies. high enough for your short wave
53AM radio.
54all you have to do is display the "correct" image on your screen
55and your monitor will emit the "right" signals.
56Tempest for Eliza displays pictures on your screen. one for
57each note in the song.
58
59[Note: Markus G. Kuhn's and Ross J. Anderson's paper; "Soft Tempest:
60Hidden Data Transmission Using Electromagnetic Emanations" was used as a
61reference when programming Tempest-AM. This paper is a must read before
62going further testing Tempest-AM. The paper is availabe from
63   http://www.cl.cam.ac.uk/~mgk25/ih98-tempest.pdf
64I strongly recommend to read the paper thoroughly.]
65
66Why this program ?
67------------------
68
69You need no additional hardware to understand that it is
70really possible to observe your computer without
71physically touching it. (tempest).
72I wrote this program because it was fun and because
73it teaches in an amusing way that tempest really exists.
74i want people to understand that their computers can
75be observed.
76And last but not least you can listen to music without a soundcard!
77
78More information on Tempest
79---------------------------
80
81Tempest and electromagnetic radiation is an interesting topic. There
82aren't very much public literature on this topic. Luckily, there are a
83few technical papers and web sites on the net that are a must read.
84
85Papers to read:
86
87o Markus G. Kuhn's and Ross J. Anderson's, "Soft Tempest: Hidden Data
88  Transmission Using Electromagnetic Emanations"
89
90        http://www.cl.cam.ac.uk/~mgk25/ih98-tempest.pdf
91
92o Wim van Eck, "Electromagnetic Radiation from Video Display Units: An
93  Eavesdropping Risk?"
94
95        http://jya.com/emr.pdf
96
97o Christopher Seline, "Eavesdropping On the Electromagnetic Emanations of
98  Digital Equipment: The Laws of Canada, England and the United States"
99
100        http://www.eff.org/pub/Privacy/Security/tempest_legal.draft
101
102
103Here's a few links to start from:
104
105o Ros Anderson's website, is a good starting point and has links to
106  go further.
107
108        http://www.cl.cam.ac.uk/users/rja14/#Tempest
109
110o The Complete, Unofficial TEMPEST Information Page, a great site. A lot
111  of links to other websites and papers.
112
113        http://www.eskimo.com/~joelm/tempest.html
114
115Compiling and runnning
116----------------------
117
118you must have libSDL installed.
119see http://www.devolution.com/~slouken/SDL/
120
121type
122  ./configure
123  make
124
125now start X11. make sure that you choose low colordepth this gives much higher speed !!!
1268 bpp is optimal.
127if the cpu runs at 100% the music will slow down, i.e. short tunes will get longer than they
128usually are. the song will sound bad :)
129
130start xvidtune.
131write down the values of
132HDisplay
133VDisplay
134HTotal
135Pixel Clock
136
137now go and get a short wave AM receiver.
138(pocket radio, put switch into SW position (if it is named this way;))
139dial close to 10 Megahertz
140
141now start
142
143./tempest_for_eliza 105000000  1024     768      1400   10000000  songs/forelise
144                    pixelclock Hdisplay VDisplay HTotal radio     music
145                    *1000000                            frequency file
146
147the program runs in fullscreen.
148
149now SLOWLY move a little left and right on your radio
150to find the 10 Megahertz. You will hear
151a Song for Eliza from Ludwig van Beethoven
152
153the song will be on the radio at multiple frequencies.
154but the best transmission is at the frequency you gave on
155the commandline.
156
157if your computer makes too much noise on that frequency
158you could also try some other radio frequencies.
159it is up to you.
160
161now go and try other songs included in the songs/ subdir !!
162
163Let's be a spy
164--------------
165
166Observe your computer from within another room !
167take the radio into another room. play with the antenna
168touch earth connections or other things. just play around.
169depending on the distance and the quality of your monitor
170you will hear good voice.
171i have a TCO'99 monitor and i can still hear GOOD music !
172
173Tempest for MP3
174---------------
175
176get your favourite mp3 file to the current directory. let's call it
177'foobar.mp3'. make sure you have "amp" and "sox" installed. you must
178use X11 with 8 bits colordepth. use the old -bpp 8 option to your
179xserver or the new -fbbpp 8 option if you have a newer Xserver.
180
181first we need to find out what the correct sampling rate will
182be. therefore start:
183
184./tempest_for_mp3 115500000 1024 768 1350 810 1500000 0 20  notexist.raw
185                  pixel-clock    resy     vtotal      playmode
186                            resx     htotal   radio-frequency
187                                                        amplification
188                                                            filename
189
190note that the vtotal parameter is a new one and must be read from the
191xvidtune screen!
192
193also note that the notexist.raw file does not exist. we just want to
194see the output of the program, play no music yet.
195
196it will display:
197
198"audio file frequency should be 13519.890261 Hz"
199
200now take this value and convert your mp3 like this:
201
202./mksong.sh 13519 foobar.mp3 cool.raw
203
204you can now listen to it with this command:
205
206./tempest_for_mp3 115500000 1024 768 1350 810 1500000 0 20  cool.raw
207
208notice the low radio frequency of only 1500 KHz. well... i found out
209that you actually don't need a short wave radio if you put your
210antenna close enough to your computer screen. lower frequencies also
211work. and even nowadays most radios can receive AM waves :) so finally
212you can send to any radio you have. (but no FM, sorry...)
213
214the playmode and amplification parameters control the algorithm for
215playback. you can choose between playmode 0 and playmode 1. playmode 1
216produces a correct AM signal. amplification 1 is correct. if you
217increase amplification the audio signal will be clipped. but since
218there is so much disturbing noise anyway, this doesn't matter. you can
219use playmode 0 to further increase output energy. the signal is not
220very good anymore then :) but it is louder. the problem is i cannot
221use the time when the electron beam does the blanking and retrace
222phase. unfortunately there's no way around this, folks. if your song
223has heavy basses, you shouldn't over-amplify, because you won't hear
224the melody while the bass is drumming then...
225
226Credits
227-------
228
229The original idea is from Pekka Riikonen. (see file AUTHORS)
230he wrote the program
231tempest-AM-0.9. i used a simplification of his routines
232to create the signal.
233