Hallo, ich übertrage mit AVRs und RFM12 Modulen kleine Pakete (bis ca. 20 Bytes) birektional mit variabler Länge, welche ich verschlüsseln möchte. Es soll auf beiden Seiten der Schlüssel (z.B. 64 bit) im Eeprom abgespeichert sein. Welche Verschlüsselung könnte ich da benutzen, wäre das ein Block- oder Stromchiffre, ist das asymmetrisch oder symmetrisch? Vielen Dank für Anhaltspunkte, Werner
Also wenn du auf beiden Seiten denselben Schlüssel hast, dann wäre das eine symmetrische Verschlüsselung (es sei denn du hast jeweils zwei Paare private/public Keys). Ich würde sowas wie AES-256 verwenden: Ist sicher und gibt freie C-Implementierungen, die auch noch in kleinere Microcontroller passen.
Danke, kannte ich noch nicht, XTEA sieht auch sehr gut aus und hat den Vorteil, daß man auch 64-Bit Blöcke verwenden kann (AES: 128 Bit), sodaß es besser zu der Anforderung passt, 20 Byte zu verschlüsseln. Und die Implementierung bei Wikipedia würde ja sogar noch in den kleinsten PIC passen :-)
XTEA sieht gut aus! Was aber mache ich wenn ich z.B. nur 13 Bytes zu übertragen habe, die Blockgröße ist ja 4 Bytes; den Rest mit Nullen auffüllen (macht vermutlich die Sicherheit etwas kaputt) oder mit Zufallszeichen? Werner
Werner schrieb: > den Rest mit Nullen > auffüllen (macht vermutlich die Sicherheit etwas kaputt) ?? http://de.wikipedia.org/wiki/Extended_Tiny_Encryption_Algorithm Mit Stand vom Jahr 2004 ist der beste bekannte Angriff in Form der Related-Key-Attack auf XTEA in einer bewusst schwächer gewählten Implementierung von nur 26 Runden (empfohlen sind 64) bekannt. Dieser Angriff benötigt mindestens ? frei gewählte Klartextblöcke.
Ich meinte wenn ich z.B. 13 Bytes Nutzdaten habe wären das 3,25 Blocke á 32 Bits. Das wären 4 Blöcke, wobei im letzten Block die letzen 3 Bytes nicht "belegt" sind, was fülle ich da am besten rein? Werner
Einfach mit 0 auffüllen sollte sicher sein. Du kannst aber auch ein paar Zufallswerte nehmen, dann ist die Entschlüsselung noch schwieriger (wird in Form von "Salt" z.B. auch bei Hashes verwendet). Falls du für den Schlüssel übrigens ein leicht zu merkendes Passwort verwenden willst (natürlich kein Wörterbuch Wort, sondern z.B. ein Akronym), dann kannst du den längeren Schlüssel z.B. per SHA erzeugen, was auch noch relativ leicht zu implementieren ist.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.