From 13fdd4812fcf148d3e8050aa8fa4243efe25c30f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anian=20B=C3=BChler?= <anian.buehler@reutlingen-university.de> Date: Wed, 17 Nov 2021 14:36:29 +0100 Subject: [PATCH] updated ReadMe --- README.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/README.md b/README.md index fa82101..9e7fe6b 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,15 @@ After download install library: https://www.arduino.cc/en/guide/libraries section "Importing a .zip Library" # Symetrische Verschluesselung (XOR) +Diese KLasse ermöglicht eine einfache symmetrische Verschlüsselung +auf einem Arduino-Board mit 8-Bit-µController, wie z.B. dem Arduino Uno. +Der Algorithmus nutzt eine Exklusiv-Oder-Verknüpfung als Verschlüsselung. +Es wird immer ein Zeichen der Nutzdaten mit einem Zeichen des Schlüssels verknüpft. +Der Algortihmus ist für den ASCII-Zeichensatz geeignet. + +- XOR Verknüpfung von Nachricht und Schlüssel +- "Endlos-Verknüpfung" (Datenlaenge != Schluessellaenge) +- Für 7-Bit ASCII-Code geeignet ## Beispiele - symetric_minimal_.ino @@ -61,6 +70,20 @@ DE_ERROR_KEYLENGHT_SHORT -2 # Asymetrische Verschluesselung (angelehnt an RSA) +Dies Klasse ermöglicht eine asymmetrische Verschlüsselung +auf einem Arduino-Board mit 8-Bit-µController, wie z.B. dem Arduino Uno. +Der RSA-Algorithmus ist maximal reduziert umgesetzt. +Um die Laufzeit zu reduzieren, wird auf die Erzeugung von Primzahlen verzichtet. +Auch werden (für Verschlüsselungsalgorithmen) extrem kleine Primzahlen verwendet. +Weiter werden nur einzelne Bytes verschlüsselt und nicht die sonst übliche Kombination mehrerer. +So kann auf zusätzliche Bibliotheken für große Zahlen verzichtet werden. +Der Algortihmus ist (nur) für den ASCII-Zeichensatz geeignet. + +- RSA ohne gängige zusätzliche Sicherheitsfeatures +- Keine Primzahlgenerierung +- Nur für Werte bis 127 geeignet -> 7-Bit ASCII-Code +- Verschlüsselte Daten werden als long-Zahlen in ASCII-Darstellung ausgegeben bzw. eingelesen + ## Beispiele - asymetric_minimal_.ino -- GitLab