AVR (8bit): Daten verschlüsselt im EPROM speichern, z.B. mit AES

Gast #3695756
Lesenswert?

Hallo zusammen,

ich möchte in einem AVR (8bit) gerne einige wenige Daten im EPROM 
speichern. Ich würde die Daten gerne mit einem sicheren Algo und einem 
vorher eingegebenen Passwort verschlüsseln. Die zu verschlüsselnde 
Zeichenkette ist maximal 32 Zeichen lang.

Ich habe mit einem Kollegen schon darüber geredet. Er hat soetwas wie 
AES vorgeschlagen. Jetzt möchte ich das Rad nicht neu erfinden und z.B. 
sowas wie AES verwenden. Allerdings möchte ich es nicht selbst 
programmieren, da sich die Mühe bestimmt schon mal jemand gemacht hat 
und suche eine einfach eine fertige Bibliothek, die man auch verwenden 
kann. Am besten eine Funktion in der Form:
1
str_crypt = AES(str_klartext, str_passwort, AES-parameter ...)
Gast #3695764
Lesenswert?

warum sollte es AES sein?

Es dürfte viel einfacher sein dafür ein One-Time-Pad zu verwenden. 
Einfach mit einer 32Byte Zeichenfolge verordern.


Da in beiden Fällen der Schlüssel im Code vorliegen muss, dürfte es auch 
die gleiche Sicherheit sein.
Gast #3695786
Lesenswert?

Peter II schrieb:
> warum sollte es AES sein?
>
> Es dürfte viel einfacher sein dafür ein One-Time-Pad zu verwenden.
> Einfach mit einer 32Byte Zeichenfolge verordern.
>
> Da in beiden Fällen der Schlüssel im Code vorliegen muss, dürfte es auch
> die gleiche Sicherheit sein.

Der Schlüssel soll durch eine Eingabe generiert werden. Über OneTimePad 
habe ich auch schon nachgedacht, bin allerdings zu dem Schluss gekommen,
das einfach verxodern nicht geht, da die zu verschlüsselnde Zeichenkette 
eine variable Länge mit maximal 32 Zeichen hat.

Peter II schrieb:
> tthh schrieb:
>> Ich bin auch offen für einen anderen Algorithmus, allerdings sollte er
>> "sicher" sein!
>
> sich gegen was?

Falls jemand das EPROM ausliest, sollte man es nicht einfach 
entschlüsseln können, nur weil man die Methode kennt!

Hans schrieb:
> Die hier sieht z.B. auf den ersten Blick für Mikrocontroller brauchbar
> aus:
> http://www.literatecode.com/aes256

Vielen Dank! Das werde ich mir mal anschauen!
Gast #3695790
Lesenswert?

tthh schrieb:
> bin allerdings zu dem Schluss gekommen,
> das einfach verxodern nicht geht, da die zu verschlüsselnde Zeichenkette
> eine variable Länge mit maximal 32 Zeichen hat.

Dann speichern man einfach die Länge mit. Das ist nun wirklich das 
kleinste Problem.
Gast #3695832
Lesenswert?

Peter II schrieb:
> tthh schrieb:
>> bin allerdings zu dem Schluss gekommen,
>> das einfach verxodern nicht geht, da die zu verschlüsselnde Zeichenkette
>> eine variable Länge mit maximal 32 Zeichen hat.
>
> Dann speichern man einfach die Länge mit. Das ist nun wirklich das
> kleinste Problem.

Falls der Text mal nur 3 Zeichen lang ist, ist das OneTimePad direkt 
gespeichert. Da kann ich mir sowas sparen!
Gast #3695836
Lesenswert?

tthh schrieb:
> Peter II schrieb:
>> tthh schrieb:
>>> bin allerdings zu dem Schluss gekommen,
>>> das einfach verxodern nicht geht, da die zu verschlüsselnde Zeichenkette
>>> eine variable Länge mit maximal 32 Zeichen hat.
>>
>> Dann speichern man einfach die Länge mit. Das ist nun wirklich das
>> kleinste Problem.
>
> Falls der Text mal nur 3 Zeichen lang ist, ist das OneTimePad direkt
> gespeichert. Da kann ich mir sowas sparen!

Ausserdem soll die Länge des verschlüsselten Textes genauso geheim 
bleiben, wie der Text selber.
(Firma: Schweigstill IT) Persönliche Seite #3695881
Lesenswert?

Warum verwendest Du nicht einfach entsprechende fertige 
Speicherbausteine, z.B.:

http://www.atmel.com/products/security-ics/secure-memory/default.aspx

Es macht übrigens keinen Sinn, einfach willkürlich irgendein 
Verschlüsselsverfahren, z.B. AES, auszuwählen, ohne vorher genau zu 
spezifizieren, was die ganze Anwendung überhaupt machen soll und welches 
die potentiellen Angriffsvektoren sind.
Gast #3695889
Lesenswert?

Andreas Schweigstill schrieb:
> Warum verwendest Du nicht einfach entsprechende fertige
> Speicherbausteine, z.B.:
>
> http://www.atmel.com/products/security-ics/secure-memory/default.aspx
>
> Es macht übrigens keinen Sinn, einfach willkürlich irgendein
> Verschlüsselsverfahren, z.B. AES, auszuwählen, ohne vorher genau zu
> spezifizieren, was die ganze Anwendung überhaupt machen soll und welches
> die potentiellen Angriffsvektoren sind.

Das ist eine gute Idee. Vielen Dank.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren