AES Verschluesselung in C++ programmieren ?
-
Ist es bei Verschlüsselung nicht sogar so heftig, als dann man noch nicht mal fertige Crypto-Libs selbst einbinden sollte, da man selbst dabei heftige Fehler machen kann. Sollte man nicht eher auf fertig kompilierte Pakete wie GnuPG etc. zurück greifen, wenn man wirklich was für Kunden mit Verschlüsselung macht?
Ich meine, zum Lernen kann man sich gerne mal an einer Implementierung wagen, aber für den Produktiveinsatz würde ich die Finger von lassen.
-
SwitchIO schrieb:
Ist es bei Verschlüsselung nicht sogar so heftig, als dann man noch nicht mal fertige Crypto-Libs selbst einbinden sollte, da man selbst dabei heftige Fehler machen kann. Sollte man nicht eher auf fertig kompilierte Pakete wie GnuPG etc. zurück greifen, wenn man wirklich was für Kunden mit Verschlüsselung macht?
Also, wenn es mit GnuPG lösbar ist, dann wär das ein sinnvoller Weg, ja. Und sonst würde ich sagen, dass es noch auf viele Dinge ankommt ... wie fit du in dem Bereich bist, wie high- oder low-levelig eine Schnittstelle einer Crypto-Bibliothek ist (je highleveliger, desto weniger kannst du falsch machen), ...
Gefährlich wird's, wenn man sich selbst ein Protokoll überlegt und Low-Level-Bausteine auf eine unübliche Art und Weise mit einander verschaltet.
-
Aber ich bin mir auch ziemlich sicher, dass Du den Implementierungsaufwand von AES unterschätzt.
Ich hab es selbst implementiert, lange her. War wirklich nicht sonderlich schwer, ich hatte nirgends größere Schwierigkeiten; daher sage ich mal, es war leicht.
Also ich würde das verstehen wollen.
Macht Sinn.
-
Bist du ein Profi? Ansonsten wäre ich mit solchen Aussage vorsichtig. Eine sichere Verschlüsselung implementiert man nicht mal so eben selbst, habe ich mir sagen lassen.
-
SwitchIO schrieb:
Bist du ein Profi?
Bist du einer?
Gerade auf Anfänger oder Fachfremde wirken Aussagen, die falsch sind, oftmals ziemlich konstantuiert und man lässt sich leicht beeindrucken...
-
Arcoth schrieb:
kkaw schrieb:
zumindest dann nicht, wenn die Implementierung effizient und Seitenkanal-resistent sein soll.
Und effizient macht man das AFAIR mit Lookup-Tables; Das hat cooky hinbekommen
Ja, aber eben nicht Sidechannel-Resistent, weshalb es für alles außer Dateien auf der eigenen Platte zu verschlüsseln komplett useless ist. Es Sidechannel-Resistent und performant zu schreiben ist sicher keine leichte Aufgabe. Was aber eher eine Schwäche von AES ist, ich denke wäre ihnen das Ausmaß dieses Problems 2001 bewusst gewesen, hätten sie einen anderen Algorithmus gewählt.
-
Hey
Super Ideen
und sehr interessant
Also ich sehe AES ist ein guter Verschlüsselungsalgorithmus
aber quasi alles was verschlüsseln werden kann , kann auch entschlüsselt werdenund die Leichtigkeit liegt im Auge des Betrachters...
aber wenn AES nicht gerade soderlich schwer ist..
welche Verschlüsselugs Algorithmus würdet ihr vorschlagen ? der am sichersten ist z.B Daten zu verschlüssen ???
Viele kennen doch das Stuxnet Virus oder ?
Die Leute von Kaspersky saßen da ziemlich lange dran diesen Virus zu entschlüsseln... im nachhinein war die Entschlüsselung eine eigene Programmiersprache für sich... vllt. so eine Art von Verschlüsselung
-
wri8ter schrieb:
welche Verschlüsselugs Algorithmus würdet ihr vorschlagen ? der am sichersten ist z.B Daten zu verschlüssen ???
Was für Daten? In welchem Kontext? Wenn Du Krypto einsetzen willst, bau sie Dir lieber nicht selbst. Ich dachte erst, Dir ginge es um den Lerneffekt.
Für Festplattenverschlüsselung ist im Moment der XTS Modus am beliebtesten. Das ist so ein "mode of operation" für Blockchiffren. Und wenn die CPU in Deinem Computer eine Hardwarebeschleunigung für AES hat, dann solltest Du sie auch nutzen. Wenn Du dem Hersteller Deiner CPU nicht vertraust, hast Du sowieso verloren. Ich nutze keine Festplatten-Vollverschlüsselung, weil mir das auf meinem Laptop zu lahm wäre (Ich habe keine Hardwarebeschleunigung für AES). Ich nutze stattdessen ecryptfs und encfs und verschlüssele selektiv.
Für Emails empfehle ich dir GnuPG (und ggf ein entsprechendes Plugin, um Dein Mail-Programm mit GnuPG zu "verknoten").
Für Instant Messaging empfehle ich Dir das XMPP-Protokoll in Kombination mit OTR (off-the-record). Das kriegst Du auch über Xabber auf einem Android-Handy zum laufen.
Für "mobile messaging", wo man auch mal eine verschlüsselte Nachricht verschicken können will, ohne dass der andere online sein muss, empfehle ich Dir TextSecure.
Es gibt bei diesen Anwendungsfällen zumindest für einen Anfänger keinen guten Grund, das Rad neu zu erfinden.
Wenn dich die Thematik interessiert, schau mal, ob in Deiner Nähe vielleicht 'ne Cryptoparty veranstaltet wird. Wenn Du Bock auf technische Details hast, schau Dir die Quellen der oben genannten Projekte an oder besorg Dir ein schlaues Buch zum Thema.
wri8ter schrieb:
[...] Virus [...]
Die beste Krypto hilft Dir dann natürlich nicht viel, wenn dein Gerät kompromitiert wurde und du darauf Daten ver/entschlüsselst.
-
Ja, aber eben nicht Sidechannel-Resistent
Was aber wiederum irrelevant ist, solange wir uns darauf beschränken lediglich die Qualität des Algorithmus zu beurteilen. Ergebnis und Geschwindigkeit.
Eine sichere Implementierung hat sicherlich noch kein Hobby-Programmierer gemacht, daran sitzen Experten-Teams.
-
Skym0sh0 schrieb:
SwitchIO schrieb:
Bist du ein Profi?
Bist du einer?
Gerade auf Anfänger oder Fachfremde wirken Aussagen, die falsch sind, oftmals ziemlich konstantuiert und man lässt sich leicht beeindrucken...
Nein, ich bin kein Profi, was ist denn falsch an meiner Aussage?