diff --git a/README.md b/README.md index fa8210143aa988671633d1f710588dde2c372169..9e7fe6bd6f2f4e0db2d7189a6c690dcde912620d 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