Forum: PC-Programmierung [C++] Verschlüsselung


von Andreas W. (avedo)


Lesenswert?

Guten Abend!

Wie ich bereits im Beitrag "[C++] Primzahlen Tests" 
erläutert habe, beschäftige ich mich aktuell im Rahmen meiner 
Telematik-Vorlesung mit verschiedenen Verschlüsselungsverfahren und 
möchte nun das eine oder andere davon implementieren.

Zuerst dachte ich daran das RSA-Verfahren zu implementieren, was ich 
später wohl auch machen werde, jedoch würde mich vor allem 
interessieren, wie und mit welchem Verfahren ich Dateien verschlüsseln 
kann. Mit RSA ist das zwar auch möglich, macht aber meiner Meinung nach 
wenig Sinn, da ich keinen öffentlichen Schlüssel benötige.

Wichtig ist, dass das Verfahren wirklich sicher ist und auch die 
Datei-Informationen mit verschlüsselt werden. Letztendlich soll das 
ganze ähnlich wie TrueCrypt oder andere Programme funktionieren, die 
eine Reihe von Dateien und Ordnern in einem Container verpacken und 
diesen dann verschlüsseln. Wird ein Schlüssel angegeben, wird der Inhalt 
des Containers für die Laufzeit des Programms entschlüsselt und die 
Dateien und Ordner ganz normal im Filesystem integriert.

Freue mich auf eure Antworten.

Liebe Grüße,

Andreas

von Sven P. (Gast)


Lesenswert?

Dateien kannst du unter Linux nach belieben verschlüsseln, etwa mit GPG 
oder wahrlich irgendeinem anderen Verfahren. Steckst du nun ein 
Dateisystem in eine Datei, kannst du die Datei und damit das ganze 
enthaltene Dateisystem ver- und entschlüsseln und irgendwo einhängen.

von Mario (Gast)


Lesenswert?

RSA-Verschlüsselung ganzer Dateien ist immer absoluter Blödsinn. Selbst 
wenn man asymmetrisch will. Dann verschlüsselt man die Datei dennoch 
symmetrisch mit einem generierten Schlüssel und verschlüsselt diesen 
Schlüssel asymmetrisch.

von Andreas W. (avedo)


Lesenswert?

Danke euch beiden für eure Antworten.

Sven P. schrieb:
> Dateien kannst du unter Linux nach belieben verschlüsseln ...

Das ist mir sehr wohl bewusst und ich verwende auch bereits GPG, 
allerdings geht es hier ja um eine Übung. Ich möchte damit einen 
tieferen Einblick in die Kryptographie bekommen und meine C++-Kenntnisse 
festigen.

Mario schrieb:
> RSA-Verschlüsselung ganzer Dateien ist immer absoluter Blödsinn.

Das weiß ich und deswegen habe ich ja auch nach einem anderen Verfahren 
gefragt.

Liebe Grüße,

Andreas

von apr (Gast)


Lesenswert?

du suchst eine Rechercheanleitung? -> AES, Blowfish, 
http://de.wikipedia.org/wiki/Kategorie:Blockverschl%C3%BCsselung ; 
Miller-Rabin, http://de.wikipedia.org/wiki/Primzahltest

von Nonsense (Gast)


Lesenswert?

Mahlzeit,

symmetrisch ist aktuell AES NIST-Standard, unterstützt Blocklängen von 
128, 192 und 256 Bit, erfolgreiche, realistische Angriffe gegen AES sind 
bisher keine bekannt.

Aber:
Ich rate DRINGEND von einer eigenen Implementierung ab, wenn es wirklich 
sicher sein soll. So ist z.B. Schoolbook-RSA unsicher und leicht zu 
brechen, es müssen weitere Maßnahmen ergriffen werden um ihn gegen 
Angriffe zu schützen.

Übrigens nutzt man für die Verschlüsselung großer Datenmengen in jedem 
Fall symmetrische Verschlüsselung, RSA und Co. sollten nur verwendet 
werden um Schlüssel für symmetrische Verschlüsselungsverfahren sicher 
auszutauschen.

von Nonsense (Gast)


Lesenswert?

Nachtrage:
Das hier ist übrigens die Bibel in Sachen Krypto ;)

http://www.cacr.math.uwaterloo.ca/hac/

von T. M. (xgcfx)


Lesenswert?

Schöner Link, das Buch sogar als pdf zum Downloaden :-)
Aber die wirkliche Bibel ist "Applied Cryptography" von Bruce Schneier, 
dem Kryptogott und Entwickler von Blowfish, Twofish usw.
http://www.amazon.com/Applied-Cryptography-Protocols-Algorithms-Source/dp/0471117099

Ganz lustig dazu auch die "Schneier Facts": 
http://www.schneierfacts.com/

von StefanSch (Gast)


Lesenswert?

Wenn du den AES implementieren willst, schau dir den Artikel unbedingt 
an.

http://www.codeplanet.eu/tutorials/cpp/51-advanced-encryption-standard.html

Dort findest du alles wissenswerte über den AES!

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.