Forum: PC-Programmierung Implementierung des AES2048 Algorithmus in C++


von xvzf (Gast)


Lesenswert?

Hallo,
ich möchte eine binary (kein Text) mittels einem möglichst sicheren 
Verfahren verschlüsseln und wieder entschlüsseln.
Dazu habe ich 2 Fragen:
1) Ist die AES Verschlüsselung geeignet, gibt es Alternativen?
2) Wo ist der Algorithmus genau genug beschrieben, um eine Runtine in 
einer Hochsprache wie C/C++ zu schreiben?

Lg

von loco (Gast)


Lesenswert?

ja AES ist geeignet fuer eine Blockverschluesselung. ja, man kann's 
selbst zusammenkloppen, auch in C oder aehnlich

von Karl H. (kbuchegg)


Lesenswert?

und ja, google ist dein Freund.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

1. Geeignet bestimmt, aber nicht pur, eher in Verbindung mit
   CBC o.ä. http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation.
   Alternativen gibt es immer
2. http://embeddedsw.net/Cipher_Reference_Home.html

: Bearbeitet durch User
von cppler (Gast)


Lesenswert?

Nimm besser eine Metasuchmaschine:
http://www.metager.de
http://www.metacrawler.com
;-)

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

loco schrieb:
> ja, man kann's selbst zusammenkloppen

Lieber nicht, wenn man nicht wirklich weiß was man tut. Lieber eine 
Bibliothek verwenden die einem den Low-Level-Kram abnimmt, z.B. 
http://nacl.cr.yp.to/ oder OpenSSL.

: Bearbeitet durch Admin
von Dennis S. (eltio)


Lesenswert?

Letztens noch gelesen: erste Regel der Kryptographie.. wenn es etwas 
schon gibt, mach es nicht selber.

Das Problem ist ja nicht der Algorithmus an sich sondern die sicherere 
Implementierung.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Dennis S. schrieb:
> Letztens noch gelesen: erste Regel der Kryptographie.. wenn es etwas
> schon gibt, mach es nicht selber.
>
> Das Problem ist ja nicht der Algorithmus an sich sondern die sicherere
> Implementierung.

Da gibt es aber dann das Problem der fehlerbehafteten LIBs oder der 
bewußt infiltrierten LIBs (NSA & Co).

von Stefan R. (srand)


Lesenswert?

Genau. Und selbstgeschriebene Libs sind im Kryptobereich schlicht und 
ergreifend garantiert fehlerhaft.

von (prx) A. K. (prx)


Lesenswert?

Dennis Heynlein schrieb:
> Da gibt es aber dann das Problem der fehlerbehafteten LIBs oder der
> bewußt infiltrierten LIBs (NSA & Co).

Sicher. Aber da es hier um AES geht: Was genau kann man da infiltrieren? 
Ein paar Beispiele:

- Der Algorithmus von Anfang an von der NSA getunet worden. Dann ist es 
schnurz, wer ihn implementiert, besser kann er dann nicht mehr werden.

- Die Lib implementiert ihn falsch. Merkst du sofort, wenn du mit 
anderen Code gegencheckst, also unwahrscheinlich.

- Der Code ist offen für side channel attacks. Wenn du zwar bisher wenig 
mit Kryptographie zu tun hattest, aber so gut bist, dass dein eigener 
Code gegen solche Angriffe immun ist, dann herzliche Gratulation 
meinerseits. Ehrlich!

Es ist kein Zufall, dass es vorzugsweise die Zufallsgeneratoren sind, 
die infiltriert werden. Die sind nämlich relativ unauffällig. 
Insbesondere, wenn man die gängigen Tests dafür kennt und den Generator 
grad so baut, dass er da noch durch schlüpft. Das freilich ist kein 
Problem von AES selbst.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Jo, gilt auch eher für asymmetrisches Verschlüsselungen.

von Uhu U. (uhu)


Lesenswert?

Ist eigentlich AES-2048 irgendwo definiert? Laut Wikipedia gibts nur die 
Varianten AES-128, AES-192 und AES-256.

von Peter II (Gast)


Lesenswert?

Uhu Uhuhu schrieb:
> Ist eigentlich AES-2048 irgendwo definiert? Laut Wikipedia gibts nur die
> Varianten AES-128, AES-192 und AES-256.

es macht keine sinn 2048 bit zu verwenden. Denn es geht hierbei nicht am 
ein Asymmetrisches verfahren sondern um ein Symmetrisches. Das sind 
aktuell 256bit mehr als sicher.

von Uhu U. (uhu)


Lesenswert?

Peter II schrieb:
> es macht keine sinn 2048 bit zu verwenden.

Das denke ich mir. Aber meine Frage ist noch nicht beantwortet.

von Norbert M. (Gast)


Lesenswert?

Uhu Uhuhu schrieb
> Peter II schrieb:
>> Uhu Uhuhu schrieb:
> Ist eigentlich AES-2048 irgendwo definiert? Laut Wikipedia gibts nur die
> Varianten AES-128, AES-192 und AES-256.
>> es macht keine sinn 2048 bit zu verwenden.
> Das denke ich mir. Aber meine Frage ist noch nicht beantwortet.

Mit einer anderen Keysize als 128, 192 oder 256 Bits wäre es nicht mehr 
AE_S_, sondern irgendeine Implementierung des Rijndael-Algorithmus'.
Guckst Du FIPS-197*, da steht auf der ersten Seite:
"The AES algorithm is capable of using cryptographic keys of 128, 192, 
and 256 bits to encrypt and decrypt data in blocks of 128 bits."

LG, NOR

* http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf

von Uhu U. (uhu)


Lesenswert?

Das ist klar. Nur der TO will AES-2048 implementieren, andere verweisen 
ihn auf irgendwlche Libs, die Google finden soll.

Geht man davon aus, daß auch nur einer der Diskutanten hier weiß, wovon 
er redet, dann müßten sich doch irgend welche Hinweise zumindest auf 
einen Rijndael-2048 finden lassen.

Da bei Substitutions-Permutations-Netzwerken wie AES/Rijndael die 
S-Boxen absolut kritisch für die Sicherheit der Verschlüsselung sind, 
kann man sich die für einen Rijndael-2048 nicht mal eben so aus den 
Fingern saugen, wenn man was brauchbares auf die Beine stellen will.

: Bearbeitet durch User
von Peter II (Gast)


Lesenswert?

Uhu Uhuhu schrieb:
> Da bei Substitutions-Permutations-Netzwerken wie AES/Rijndael die
> S-Boxen absolut kritisch für die Sicherheit der Verschlüsselung sind,
> kann man sich die für einen Rijndael-2048 nicht mal eben so aus den
> Fingern saugen, wenn man was brauchbares auf die Beine stellen will.

das denke ich nicht. Man müsste nur den 2048bit schlüssel in 8 Teile 
zerlegen und dann jweils 1.Block mit dem 1.Teil, 2.Block mit dem 2. Teil 
usw veschlüsseln. So wurde es auch bei 3DES gemacht.

von Uhu U. (uhu)


Lesenswert?

3DES funktioniert etwas anders: zuerst wird der Block mit dem ersten 
Drittel des Schlüssels chiffriert, dann wird das Ergebnis mit dem 2. 
Drittel des Schlüssels dechiffriert und das Ergebnis zum Schluß mit 
dem 3. Drittel chiffriert.

Ich denke, daß man das Problem ensthaft untersuchen muß, bevor man sich 
mit sowas aus dem Fenster lehnt.

von (prx) A. K. (prx)


Lesenswert?

Vor langem Philosophieren sollte man erst mal klären, ob das nicht bloss 
eine Verwechselung war. Immerhin hat der Fragesteller seither nicht 
wieder von sich hören lassen.

von Uhu U. (uhu)


Lesenswert?

Peter II schrieb im Beitrag #3327590:
> Zumindest sollte damit ein "3AES-256" möglich sein.

Möglich ist das sicher. Nur wie es sich kryptographisch verhält, das 
wäre zu untersuchen, bevor man sich davon höhere Sicherheit als mit 
AES-256 verspricht.

DES ist eine Feistel-Chiffre, während AES nach dem Prinzip eines 
Substitutions-Permutations-Netzwerkes arbeitet - davon, daß das 
3DES-Prinzip für AES einen Nutzen bringt, kann man nicht einfach so 
ausgehen.

Ein echter AES-768 würde jedenfalls die Bits nicht nur auf einem 
256-Bit-Block verwürfeln, sondern auf der dreifachen Länge.

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
Noch kein Account? Hier anmelden.