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/
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/
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: