Verschlüsselung
-
hallo leute,
- bite auf die frage kein " google ist dein freund"
Ich habe ein kleines prog geschrieben, das vertrauliche daten über das netzwerk senden, und dort habe ich blowfish als verschlüsselung implementiert, jedoch bei machen key klappt das irgendwie nicht, also will ich die verschlüsselung wechseln
weil ich denke das steckt der bug drin, den die Crypt-funktionen sind von einem hobby programmierer.also kennt ihr irgendwelche seiten die cypto-funktionen anbieten?? Oder mir einen tipp geben was ihr nehemen würded des , blow.. etc , soll keine high end security sein aller ssl..
das ganze soll klein und kompakt sein, rein c, und keine dlls oder libs.ich weiß is ne blöde frage!
aber danke für die antwort
- bite auf die frage kein " google ist dein freund"
-
google ist dein freund
-
The Solitaire Encryption Algorithm:
http://www.schneier.com/solitaire.html
-
-
@kingruedi
und für windows??
-
du könntest selbst eine RSH oder ähnliche verschlüsselung implementieren, ist nicht schwer. wenn du nur plain text verwendest, und die sicherheit nicht so groß sein muss, kannst ja auch base64 (oder wie die html-verschlüsselung heist) nehmen, die verkürzt automatisch den text.
-
was soll RSH ein?
meinst du rsa ??
-
Ich benutze auch eine Blowfish-Verschlüsselung für mein Programm. Kannst du mir mal sagen, welche Verschlüsselung du bis jetzt eingesetzt hast (Name, Link).
-
mart schrieb:
was soll RSH ein?
meinst du rsa ??Scheinbar.RSA ist aber nur leicht zu implementieren, wenn man eine Bibliothek für Langzahlarithmetik hat.
Korbinian schrieb:
wenn du nur plain text verwendest, und die sicherheit nicht so groß sein muss, kannst ja auch base64 (oder wie die html-verschlüsselung heist) nehmen, die verkürzt automatisch den text.
Base64 ist keine Verschlüsselung, sondern nur eine Kodierung (oder wie man es nennt). Man hat dadurch keine Sicherheit, weil der "verschlüsselte" Text nicht von einem Schlüssel abhängig ist. Zudem vergrößert sich die Ausgabelänge auf ca. 4/3 (?) der Eingabelänge.
-
-
libgcrypt funktioniert auch unter Windows, schau dir mal die Manuals an.
base64 dient dazu 8Bit Zeichensätze auf 7Bit Zeichen (ASCII) zu mappen
-
Wie sicher ist die CRijndael-Verschlüsselung, wenn man den Key fest ins Programm einbaut aber so, dass man ihn net mit nem Resourceneditor auslesen kann?
-
die Verschlüsselung ist dann egal, weil jeder halbwegs geeignete Cracker wird den Key ohne Probleme aus deiner Anwendung auslesen und schon wars das.
-
wenn ich das hab:
char chKey[2]; //Nur 2 weil ich grad n bissle Tippfaul bin :) chKey[0]=34; chKey[1]=19;
kann man das dann so einfach auslesen?
-
Ich benutze für mein Programm diese Blowfish-Verschlüsselung:
http://maakus.dyndns.org/software.html
Nennt sich BlowfishJ 2.11.
J, weil eigentlich für Java gedacht, gibt aber auch ne C++-Klasse für ECB und CBC.
-
ich habe es so gemacht
'a' ist glaube ich 65 ?? oder egal ist ja nur ein beispiel.
also 65 +5 =70int offset = 5 ; char chKey[2]; //Nur 2 weil ich grad n bissle Tippfaul bin :) chKey[0]=70-offset;//=a chKey[1]=19-offset;//=irgendwas
wie lest ihr dann das aus ???;-)
und wenn ja dann lass ich einfach meinen schlüssel dur ne mathe-funktion ausrechnen, das geht schon, und nix mit resourcen hacker
-
@dEUs
wo soll das Problem sein?hier mal nen kleiner Beweis
> g++ -Wall -W -std=c++98 key.cc > objdump -d a.out | less [...] 08048364 <main>: 8048364: 55 push %ebp 8048365: 89 e5 mov %esp,%ebp 8048367: 83 ec 08 sub $0x8,%esp 804836a: 83 e4 f0 and $0xfffffff0,%esp 804836d: b8 00 00 00 00 mov $0x0,%eax 8048372: 29 c4 sub %eax,%esp 8048374: c6 45 fe 22 movb $0x22,0xfffffffe(%ebp) 8048378: c6 45 ff 13 movb $0x13,0xffffffff(%ebp) [...]
die letzten Beiden Zuweisungen sind dein Schlüssel
ob wuerde das irgend wen vor ein Problem stellen und wenn du das Code Beispiel verkomplizierst, dann schaut man sich einfach mal dein Programm im Debugger an, dass sollte jeder können, der Halbwegs Ahnung von Reverse Enginering oder Cracken hat.
@Mart
dein Code stellt auch niemand vor Schwierigkeiten, vorallem wenn du Optimierung aktivierst und dein Compiler die Subtraktion einfach bei der Compile-Zeit auflöst.
-
Jo, dEUs Vorschlag kann noch etwas sicherer gemacht werden wenn man irgendwelche Befehle dazwischen streut. Hält den richtigen Freak aber auch nicht ab. Es gibt echt Leute die lesen dir Kurzgeschichten in Binärcode vor. Die hält sowas nicht wirklich ab...
-
Wenn ich ne einfache Verschlüsselung brauche, verwende ich in etwa folgendes Prinzip:
Als Verschlüsselungs-Profil wird das Passwort genommen.
Also wenn ich den Text "AAAAA" mit dem Passwort "BCDEF" verschlüssel, sieht das so aus:A + B (65 + 66 = 131) = â
A + C (65 + 67 = 132) = ...
uswdaraus ergibt sich dann eine kryptische meist gar nicht mehr lesbare Zeichenfolge. Wenn der errechnete AscII Wert eines Zeichens grösser 255 ist, muss man natürlich wieder bei 0 anfangen. Der Witz an der Sache ist, das die Verschlüsselung völlig abhängig vom Passwort ist. Selbst wenn der böse Hacker den Algorithmus kennt, kann er ohne Passwort nicht an die Daten. Man kann es nur per Brute-Force knacken. Und da es keinen Validity-Check gibt, müsste der böse Bub jedes Passwort durchprobieren und anschliessend das Ergebniss begutachten
-
coole Idee. Allerdings auch nur sicher, wenn das passwort net im programm steht