Verschlüsselung
-
Hi,
ich suche eine Verschlüsselung mit der ich Text Ver- und Entschlüsseln kann. Es handelt sich wirklich nur um Text, ich brauche also keine Datein verschlüsseln.
Könnt ihr mir was sicheres empfehlen? Am besten wäre, wenn ich nur eine Datei einbinden müsste und die Funktionne sofort nutzen kann. Vielen DankGruß
-
AES ist leicht implementiert, da gibts sicher auch fertige Libs für.
Du solltest aber wenigstens sagen was für ein Typ von Verschlüsselung du benötigst, denn es gibt verschiedene Verfahren die verschiedene Zwecke gebraucht werden können. Falls du keine Ahnung davon hast schreib doch einfach was du machen willst.
-
Hm, bei Text, die nicht uebermaessig gross sind, duerfte doch Vernam/One-Time-Pad ganz brauchbar sein, schnell einfach, reversibel aber dennoch sicher...
-
Oder nimm die "eingebaute" Verschlüsselung XOR
verschl[v] = text[t] ^ passwort[p];
-
also ich kann dir rsa empfehlen... is nich mehr patentiert und absolut sicher, sofern du großgenuge zahlen verarbeiten kannst

is auch ganz einfach zu implementieren, hab da maln programm geschrieben wegen seminarkurs... allerdings mit java XD
-
Hi,
danke für eure Antworten, ich glaube RSA ist für meine Zwecke in Ordnung. Aber jetzt stellt sich die Frage, wo kriege ich die nötigen Datein her? Ich wollte mir das nicht selber schreiben dzu hab ich vom Thema Verschlüsselung zu wenig Ahnung.
Mir reichts, wenn so was geht:
// P S E U D O C O D E int main ( void ) { std::string MeinText = "Der soll verschlüsselt werden"; std::string MeinTextVerschluesselt = Verschluessenl( MeinText....); Entschluesseln( MeinTextVerschluesselt... ); }Ich brauche also nur 2 Funktionen, mehr brauche ich nicht.
-
dann ist wohl rsa nicht so geeignet
denn da musst du dir ja zunächst einen schlüssel generieren und den public key weiter geben etc pp. für so etwas solltest du möglicherweise tatsächlich besser eine symmetrische verschlüsselung wie einfach XOR nehmen, das dürfte dir reichen. für rsa ist das programm dann etwas komplexer...Gruß, Hunger
-
Hi,
also der Text wird danach übers Netzwerk übertragen, daher halte ich etwas mehr als nur XOR für sehr sinnvoll, mir fehlt eben nur die passende Funtion...
-
wozu benötigst du denn eine komplexe verschlüsselung?
wenn du was asymmetrisches willst nimm eben RSA XD aber da musste dich schon n bissl mehr damit beschäftigen mit generierung der schlüssel zb. außerdem brauchst du, damit es wirklich sicher ist locker 1024-bit schlüssel, sonst hat man das ganze sehr schnell wieder entschlüsselt... d.h. du brauchst große zahlen (in java hab ich BigInteger genommen, vllt gibts so was auch für c++)gruß, Hunger
-
DaHunger schrieb:
in java hab ich BigInteger genommen, vllt gibts so was auch für c++
http://de.wikipedia.org/wiki/GNU_Multiple_Precision_Arithmetic_Library
-
siehste XD
-
Ich würde dir empfehlen die Verschlüsselung nicht selbst zu implementieren (außer du machst das aus Interesse und nicht für ein reales Projekt), da man leicht Fehler einbaut etc. Es gibt zahlreiche Bibliotheken für C und C++, zB die libgcrypt (aus dem GnuPG-Projekt) oder Crypto++. Ansonsten existieren für die meisten Verschlüsselungs-Algorithmen Referenz-Implementierungen, die du nutzen könntest.
Wenn du mehr über Kryptographie erfahren willst, wirst du um das Standard-Werk wohl nicht herum kommen
Applied cryptography | ISBN: 0471128457Nachtwind schrieb:
Hm, bei Text, die nicht uebermaessig gross sind, duerfte doch Vernam/One-Time-Pad ganz brauchbar sein, schnell einfach, reversibel aber dennoch sicher...
Hört doch bitte mit One-Time-Pad auf!
-
also von one-time-pad halt ich auch nicht wirklich viel,
asymmetrische verschlüsselung ist im moment eigentlich wirklich das one and only also würd ich von da was nehmen kryptologie is ein sau interessantes thema ich kann dazu von simon singh geheime botschaften empfehlen, ein sehr gutes buch mit lesbaren formulierungen
nur musste zu anwendung dazu dann weiter rein gehn für rsa musste ich viele websites besuchen um rauszufinden wie es tatsächlich funktioniert XD, kann dir da aber auch n paar infos geben wenn des willst,
hab da so ne 120-Seiten-Seminararbeit...
Gruß, Hunger
-
Dann mal her damit, mich interessierts.
-
die ganze arbeit ?

-
Was deiner Meinung nach nützlich ist um RSA zu implementieren.
Ich kann auch Java soweit lesen

-
hi,
wenn es "nur" darum geht ascii Text zu verschlüsseln und das ganze etwas sicherer als xor sein soll, dann könnte die
Random-Verschlüsselung ganz nützlich sein.Hier ein kleines Programm mit eingebautem (Primitiv) Randomgenerator, das die Randomverschlüsselung demonstriert:
unsigned long lehmer(long int s) // Lineare Kongruenzmethode nach Lehmer { static unsigned long a = 1, b = 4194301, c = 2147483647, z = b; if ( s < 0 ) { s = - s; b = s;} z = (a + b * z) % c; return z % s; } void chiffre ( long int seed, long int range, int n, string text, long int secret[]) { lehmer(-seed); if ( range > 0 ) for (int i = 0; i < n; i++) secret[i] = (int)text[i] + lehmer(range); else for (int i = 0; i < n; i++) text[i] = (char)(secret[i] - lehmer(range)); } int main(int argc, char *argv[]) { string text ="Where ignorance is bliss tis' folly to be wise"; long int secret[100]; int n = text.length(); // Parameter der Verschlüsselung setzen. // Seed und range müssen bei Sender und Empfänger identisch gleich sein. long int seed = 314159265; // Startwert für Zufallszahlenfolge long int range = 589793238; // Zufallszahl aus Bereich 0..589793237 cout << "Text: " << text << endl; // Verschlüsselung chiffre ( seed, range, n, text, secret ); cout << "Chiffriert: "; for (int i = 0; i < n; i++) cout << secret[i] << " "; cout << endl; // Entschlüsselung chiffre ( seed, -range, n, text, secret ); cout << "Dechiffriert: " << text << endl; return 0; } /* Text: Where ignorance is bliss tis' folly to be wise Chiffriert: 517769730 147894922 18997234 206732853 183685324 121854227 400230142 159977991 311798117 195928414 188643095 311630247 332237088 193986841 361992925 149589485 449360302 582087321 175106033 309136939 68084118 150041065 537987766 367341035 07007728 241769222 41325606 495252861 505901981 185416513 379386708 336848968 480284029 87910431 155469837 550220938 353622729 42787025 354251736 331149278 387177826 85549929 165687031 117352297 25176161 586173098 Dechiffriert: Where ignorance is bliss tis' folly to be wise */
-
-
DaHunger schrieb:
...
asymmetrische verschlüsselung ist im moment eigentlich wirklich das one and only ...Sorry, aber das kann ich so nicht stehen lassen. "Asymmetrische Kryptographie" ist erstmal keine Qualitätsaussage, sondern eine Kategorie kryptographischer Algorithmen nach einer bestimmten Eigenschaft ! Ich kann Dir auch eine "asymmetrische Verschlüsselung" programmieren, die absolut unsicher ist...
Wenn Du eine aufwendige Schlüsselverteilprblematik zui lösen hast, empfehle ich auch asymmetrische Algorithmen ... andernfalls (vA bei performancekritischen Anwendungen) kann man prima (und pftmals besser) symmetrische verwenden.
Gruß,
Simon2.
-
http://www.cryptopp.com/ - da lesen
-
@simon2{
tut mir echt leid, dass du des nich so stehen lassen kannst.
aber die am besten anzuwendenden verfahren findet man ganz einfach in diesem bereich,
und damit ist dieser bereich der, in dem man suchen muss wenn man was braucht.
damit ist er das one and only.
}
