Enigmakryptering av amatörradiotrafik på PSK125r

SAX0

Member
Det har varit en del diskussioner tidigare om kryptering av amatörradiotrafik är tillåtet, men jag tror att man kom fram till att det är fritt fram.

Jag har alltid varit facinerad av enigmakrypteringen som användes under WWII och blev därför glad när jag upptäckte att någon gjort ett Pythonbibliotek för att simulera en Enigmamaskin. Jag byggde vidare och kopplade samman med ett Pythonskript som styr FLDIGI till nedanstående program.

Programmet Tar meddellandet "SAX0 DE SAX1 PLS SEND FOOD", krypterar det med Enigmamaskinen med inställningen på rotor, reflektor och ringar nedan. Därefter skickas meddellandet ut i etern via FLDigi. Mottagaren behöver ha denna information och nyckeln/startpossition. För andra kommer meddellandet att vara obegripligt.

PyEnigma tillåter en att simulera rotorer 1-5(de som användes av wehrmacht) och 6-8(kriegsmarine)

Texten skickas med PSK125R, eftersom den har felkorrigering, men andra moder som MFSK borde också fungera. I nuvarande konfiguration simuleras kryptoapparaten som wehrmacht använde, alltså inte den mer kända versionensom kriegsmarine använde.

YGILHLJQXLMAWZWECCDMQFIMIK


PyEnigma finns här https://py-enigma.readthedocs.io/en/latest/index.html
PyFldigi finns här https://pypi.org/project/pyfldigi/

image


Code:
import pyfldigi
import time
from enigma.machine import EnigmaMachine

machine = EnigmaMachine.from_key_sheet(
       rotors='II IV V',
       reflector='B',
       ring_settings=[1, 20, 11],
       plugboard_settings='AV BS CG DL FU HZ IN KM OW RX')

# set machine initial starting position
machine.set_display('WXC')

# decrypt the message key
msg_key = machine.process_text('KCH')

# decrypt the cipher text with the unencrypted message key
machine.set_display(msg_key)

plaintext = 'SAX0 DE SAX1 PLS SEND FOOD'
ciphertext = machine.process_text(plaintext)

print(plaintext)
print(ciphertext)


app = pyfldigi.ApplicationMonitor(hostname='127.0.0.1', port=1234)
app.start()

fldigi = pyfldigi.Client()
fldigi.modem.name = 'PSK125R'
fldigi.modem.carrier = 1020

fldigi.main.send(ciphertext)

time.sleep(2)  # wait a bit
app.kill()  # kill the process
 
Last edited:
Det har varit en del diskussioner tidigare om kryptering av amatörradiotrafik är tillåtet, men jag tror att man kom fram till att det är fritt fram.
Ja, kryptering av meddelanden är tillåten på amatörradiofrekvenser inom Sverige under villkor att en anropssignal regelbundet sänds ut, anropssignalen ska då kunna avläsas med kända tekniker.

Det gäller dock att ställa sig frågan hur du förhindrar att det krypterade inte kan uppfattas som riktat mot en mottagare i ett annat land.

Man kan även ta sig en funderare på lämpligheten med kryptering i samband med till exempel DMR (Digtal Mobile Radio). I stort sett alla DMR repeatrar är ihopkopplade via Internet och därigenom är trafik via DMR på amatörfrekvenser hörbar i länder där kryptering inte är tillåten.

Rekommendationen är att inte kryptera meddelanden som sänds via amatörradio på grund av risken att användningen missuppfattas någonstans.

Nu var jag nog en liten glädjedödare:).

Kul experiment att testa ett skript för kryptering med enigmateknik.

Ett sätt att minimera risken för missuppfattningar kan vara att sända både klartext och krypto i samma meddelande.

73 de SM7NTJ Lorentz
 
Tydligen finns det en Enigma aktivitet, man verkar kring gå problemen med att sända krypterat genom att sända nyckeln tillsammans med meddelandet.

http://www.enigma-reloaded.it

Den som är intresserad av att skicka krypterad text ska hur som helst nog undvika Enigma eftersom den knäcktes på 30-talet, WhatsApp har 256bitars AES kryptering som är mycket säkrare.
 
Last edited:
Ett tänkbart användningsområde är kanske en väderstation i sommarstugan byggd på en Raspberry Pi, som regelbundet skickar vädertelemetri på HF. Så länge sändningen börjar med stations ID så borde det inte vara några problem att resten är krypterat. Eftersom ingen annan än jag själv kan tänkas vara intresserade av väderdata från sommarstugan borde grannländerna inte kunna ha några synpunkter på det hela.

Samma problematik borde faktiskt finnas i andra sammanhang också, om tex en svensk radioamatör pratar med en radioamatör i en diktatur och då säger negativa saker om deras diktator. Detta är förmodligen ett brott i diktaturen, men inte i Sverige. Den enda nackdelen är väl om man skulle vilja åka till diktaturen, och då riskerar att hamna i klammer med rättvisan.
 
Kryptering av amatörradio är enligt ITU-RR inte tillåtet för meddelanden riktat till mottagare utanför det egna landets gränser.
Enda undantaget är styrsignaler till amatörradiosatelliter, dessa får krypteras utan hinder.

En väderstationen i sommarstugan som automatiskt skickar väderdata via amatörradio kommer att orsaka problem, oavsett om telemetrin är i klartext. Även inom detta område existerar det internationell reglering.

73 de SM7NTJ Lorentz
 
Enigma är en smidig kryptering som lämpar sig väl för amatörradio, eftersom den har väldigt liten overhead. All information hanteras i text, krypterade meddelanden är lika stora som den okrypterade. Nyckeln är runt 88-bitar vilket faktiskt är mycket med dagens mått mätt. Det kanske skulle kunna knäckas av Distributed.net efter en större insats, men frågan är hur troligt det är. Man kan ju också enkelt öka nyckelstorleken genom att skapa fler rotorer(fler än de 8 som kriegsmarine hade).
 
Last edited:
Men, det finns väl inte någon anledning att kryptera amatörradiokommunikation? Visst för att testa och av historiska skäl men annars så är vi mer intresserade av att nå långt med låg effekt etc- men just kryptering bidrar ju inte till det.
 
Jo, jag började misstänka att intresset för dom gamla enigma-maskinerna kanske inte var jättestort här :) Nåväl, värt ett försök iaf! :)
 
Googla på "enigma on ham band" så hittar du en del entusiaster, det verkar t.o.m finnas en test - men det är förstås utanför Svedala.
 
För några år sedan såg jag annonser i brittiska RadCom för fungerande replikor av Enigmamaskiner. Till det yttre var de ytterst naturtrogna men inkråmet var ersatt av elektronik. Man vände sig till WWII-intresserade som ville återupp-liva och -leva lite historia.

Apparaterna var påfallande dyra - och det slog mig att man ju helst behövde köpa 2 st för att ha riktigt kul!

73,
Rolf
 
Dom är väldigt dyra, det finns en del andra kryptomaskiner som inte alls är lika kända men lättare att få tag i. En sådan är M-209 som är mer fältmässig och användes i WWII och korea. Den gör egentligen en enkel XOR med nyckeln, och kunde knäckas på några timmar. Men på det taktiska planet fungerar det säkert bra, eftersom informationen är värdelös när den väl kommer fienden till godo. Jag har för mig att denna tillverkades av en Svensk, eller Svenskättling.


small.jpg

Det var kanske dumt att skriva koden till programmet i inlägget om folk nu får för sig att börja kryptera sina sändningar, jag försökte ta bort det men det gick inte. Hoppas Admin kan ta bort koden åtminstone.
 
Hej, intresset för tekniska prylar som har använts eller är användbara inom radioområdet finns hos många radioamatörer. Krypteringsteknik är ett område som roar radioamatörer. En del av dom undersöker tekniken bakom andra är roade av de matematiska grunderna.

Hagelin är ett känt namn bland konstruktörer av kryptoapparater.

Flera andra svenskar har gjort sitt namn känt i samband med knäckning av krypterade meddelanden. Läsvärt är boken "Svenska kryptobedrifter" om hur Arne Beurling forcerade Tysk telegramtrafik.

Likaså en bok om Alan Turings liv och tillkomsten av användbara datorer.

Även boken "Spy catcher" skriven av Peter Wright (fd MI5) tillför en del om dåtidens ansträngningar att få reda vad grannlandet sysslar med, utan att behöva forcera krypterad text.

Du behöver nog inte oroa dig för att någon direkt ska missbruka programsnutten i inlägget.

Går vi tillbaka några år så var föreskrifterna för amatörradio i vissa fall betydligt mer begränsande. Alla meddelande skulle föras i klartext på ett klart och vårdat språk.

73 de SM7NTJ Lorentz
 
Lite mer om Hagelinaren M-209 som nämnts i tråden. Den har en lång sekvens på hundra miljoner steg som används för att slumpa fram ett offset som tillförs den okrypterade bokstaven, se bilagan för en snabb implementation.
 

Attachments

  • M209.pdf
    5,5 MB · Views: 18
Back
Top