Eine Datenverschlüsselung für die Kommunikation zwischen IoT -Geräten (über LORA dargestellt).
Vorsicht
Bitte beachten Sie, dass der in diesem Repository bereitgestellte Code und die Materialien nur für Bildungszwecke bestimmt sind und nicht sicher in der Produktion verwendet werden können.
Notiz
Das Dev-Kit, das wir in diesem Projekt verwenden werden, ist Arduino Uno mit einem EBYTE E32-433T20D in diesem Projekt.
Hintergrund
Algorithmus in diesem Projekt verwendet
Mitwirkende
Im Bereich des Internet of Things (IoT) ist eine sichere Kommunikation zwischen Geräten von größter Bedeutung. Die LORA (Long-Range) -Technologie bietet eine robuste Lösung für Fernkommunikation mit geringem Stromverbrauch, sodass sie ideal für IoT-Anwendungen ist. Die inhärenten Einschränkungen von LORA, z. B. niedrige Datenraten und begrenzte Nutzlastgrößen, erfordern jedoch die Verwendung von leichten Verschlüsselungsalgorithmen, um die Datensicherheit sicherzustellen, ohne die Leistung zu beeinträchtigen.
Dieses Projekt zielt darauf ab, Datenverschlüsselungstechniken zu implementieren und zu demonstrieren, die für die LORA -Kommunikation geeignet sind. Wir haben aufgrund ihrer Einfachheit und Effizienz zwei klassische Verschlüsselungsalgorithmen, die Caesar -Chiffre und die Vigenère -Chiffre, ausgewählt. Diese Algorithmen bieten ein grundlegendes Sicherheitsniveau, wodurch sie für Bildungszwecke und leichte Anwendungen geeignet sind, bei denen Ressourcenbeschränkungen ein Problem darstellen.
Die Caesar -Chiffre ist eine Substitution Chiffre, bei der jeder Buchstabe im Klartext eine bestimmte Anzahl von Orten nach unten oder im Alphabet hinauf verschoben wird. Die Vigenère -Chiffre ist andererseits eine komplexere polyalphabetische Substitution -Chiffre, die ein Schlüsselwort verwendet, um die Verschiebung für jeden Buchstaben im Klartext zu bestimmen. Beide Algorithmen werden in diesem Projekt implementiert, um ihre Verschlüsselungs- und Entschlüsselungsprozesse zu präsentieren.
Aufgrund der Einschränkung der Lora -Übertragung, der Zeitbeschränkung und der Notwendigkeit eines leichten Verschlüsselungsalgorithmus verwenden wir die Caesar -Chiffre und den Vigenère -Chiffre -Algorithmus.
git clone https://github.com/l1ttled1no/LoRaEncryptionNotiz
Die Verschiebung der Caesar -Chiffre kann in der Main.cpp -Datei geändert werden. Der Schlüssel in Cigenère Cipher kann in der Main.cpp -Datei geändert werden.
Erstellen Sie zunächst die wichtigste ausführbare Datei:
g++ -Ilib -o main main.cpp src/ * .cppFühren Sie dann die ausführbare Datei mit Parametern aus:
./main [input_string]Zum Beispiel:
> ./main hello world
Input: hello world
--------------Caesar Algorithm--------------
Original text: hello world
Encrypted text: rovvy*"y|vn
Decrypted text: hello world
--------------Vigenere Algorithm--------------
Original text: hello world
Encrypted text: Uvaae!aQ
Decrypted text: hello world
>
Notiz
Die Saite kann Räume und Sonderzeichen innerhalb des ASCII -Bereichs von 32 bis 126 haben.
@l1ttled1no (Hauptbeitrag).