| Cryptography & Encryption Ver- und Entschlüsselung, Algorithmen, Kryptoanalyse ? Kryptographie in der Praxis. Blowfish, Triple-DES, XOR u.a. |
Diskussion: Neues Verschlüsselungsprogramm (selbst gecodet) im Forum Cryptography & Encryption, in der Kategorie Security Area; Anzeige Hi, ich bin weis Gott (bzw. weiß er auch nicht) kein Kryptologe (oder wie die Leute heißen), allerdings sehe ...
![]() |
| | #91 (permalink) |
| Registriert seit: 28.05.04 ![]() Likes: 0 | Anzeige Hi, ich bin weis Gott (bzw. weiß er auch nicht) kein Kryptologe (oder wie die Leute heißen), allerdings sehe ich auf Anhieb ein Problem in deinem Verfahren. 1. Alle Wörter wurden mit dem gleichen Schlüssel verschlüsselt. Das führt dazu, das wenn sich jemand der Lust dazu hat, einfach guckt, welche Zahlnefolge kommt den besonders oft vor? Diese Zahlenfolge ist mit annähernder Sicherheit der Buchstabe e. Wenn man dann alle e entschlüsseln kann, kann man ganz einfach die Wörter erraten und den Schlüssel brechen. 2. Dein Schlüssell übersetzt die Zeichen eines Zeichenvorrats (ASCII) 1:1 in die eines anderen Zeichenvorrats (also deeinen Schlüssel). Ich meine damit, ein Buchstabe/Zeichen entspricht identisch einem Zeichen/Zahl im verschlüsseltem Zustand. Das erleichtert Punkt 1. Hinzu kommt dadurch, dass man via Wörterbuch-Attacke einfach durchprobieren kann, welche Wörter in Betracht kommen, da man ja die Länge des Textes heraus bekommen kann. Dann guckt man einfach welche Wortfolge macht in deisem Fall WSinn und hat dann den Schlüssel gebrochen. Da man weiß wie dein Code funktioniert (im übrigen weiß man das bei allen guten Codes, daher weiß man dann auch wie sicher er ist), also der ASCI-Zeichen-Code + eine Zufallszahl genutzt wird, kan man auch einen Computer einfach so lange durchprobieren lassen (in dem er einfach versucht zu erraten, mit welcher Zahl verschlüsselt wurde) bis sinnvolle Wörter herauskommen und dann prüfen ob die Wörter einen sinnvollen Satz darstellen. Ich würde mir glatt die Arbeit mmachen und versuchen deinen Code zu knacken, leider habe ich im Moment wenig Zeit (gute Ausrede). Ich werde es zu einem späteren Zeitpunkt mal versuchen.Auf jeden Fall, ist es aber besser als gar keine Verschlüsselung. Mit freundlichen Grüßen Mailerdemon |
| | |
| | #92 (permalink) |
| Moderator ![]() Registriert seit: 30.03.04 ![]() Likes: 14 | Hallo, @ 1. Post: Also wenn der Key genausolang ist wie der Text, dann ist er unknackbar, sofern der Key wirklich zufällig ist, und nicht nur Pseudozufall. Aber sagen wir mal ich möchte ein Referat von 10 000 Zeichen verschlüsseln. Da benutze ich bestimmt keinen Key von 5000, denn den kann ich mir ja gar nicht merken im Kopf, und Aufschreiben ist mir zu unsicher, also benutze ich einen Key von 10 Zeichen. Das ergibt eine Keywiederholung von 1000. Per PC kann man ganz einfach (per Autokorrelation) die länge des PW's herrausfinden. Gut ich weiß jetzt dass das PW 10 Zeichen lang ist. Dann schreibe ich mir von den 10 000 Wörter jedes 10. Zeichen herraus, und führe dort eine Häufigkeitsanalyse durch, denn jedes 10. Zeichen wurde mit dem gleichem Key Zeichen verschlüsselt. Jetzt kenn ich den häufigsten Buchstaben, rechne mir aus was für eine Verschiebung das bis nach E ist, und schon habe ich den 1. Buchstaben meines Key. Das mache ich 10 mal, und schon hab ich den Key. Ich habe als Beispiel einen 1300 Langen Text mit einem Zufälligem 100 Zeichen langen Zufallskey verschlüsselt. Der PC hat unter 1 Sekunde gebraucht und ich hatte den Key, bis auf 1 Buchstaben richtig! |
| | |
| | #93 (permalink) |
| Member of Honour ![]() Registriert seit: 29.10.01 ![]() Likes: 8 | *** RESPEKT *** Und jetzt sollte ein Cyberdieb in der städtischen Bibliothek folgende Abenteuerromane stehlen: 1). Simon Singh Fermats letzter Satz ISBN 3-423-33052-x 2). Nicholas Rescher GLÜCK Die Chancen des Zufalls ISBN 3-8270-0202-8 Golgotha.
__________________ Man sieht nur mit dem Herzen gut. Wirklich relevante informationren sind für's Auge unsichtbar! |
| | |
| | #94 (permalink) |
| Registriert seit: 08.06.04 ![]() Likes: 0 | @elderan hast du die routine/programme selber gecodet? bin gerade dabei mir sowas ähliches zu erstellen. bis jetzt ist es nur eine simple häufigkeitsanalyse (hab ja auch heute erst angefangen *G) aber so beginnen bei mir alle sachen |
| | |
| | #95 (permalink) |
| Moderator ![]() Registriert seit: 30.03.04 ![]() Likes: 14 | Hallo, ne, habe CrypTool benutzt. Aber das kann man auch per Hand ganz einfach machen, dauert nur etwas länger. So wie er das gemacht hat, gibts noch einen Bug dadrin, glaub ich. Und zwar wird dort alles verschlüsselt, also auch leerzeichen. Dieses Leerzeichen hat den ASCII Wert von 32 und ist somit eigentlich der kleinste Wert im Text. Wenn das PW jetzt 10 stellen hat, schreibt man sich jeden 10. wert auf. Dort fällt dann sehr oft ein besonders kleiner Wert auf (andere Buchstaben haben ASCII Werte von 1xx). Wenn man von diesem kleinem Wert 32 abzieht, hat man den ASCII Wert für den 1. Buchstaben des Key. Sowas kann man selbst per Hand in 10 Min machen |
| | |
| | #96 (permalink) |
| Guest Likes: | Das Prog was Tec da gecodet hat basiert auf einen prinzip ähnlich wie RSA (Buch: Simon Singh - Geheime Botschaften ab S. 295). Nur der RSA Algorithmus basiert auf Primzahlen die miteinander multipliziert werden und nicht addiert wie bei Tecs Prog. Die Verschlüsselung hier ist wie Elderan schon gesagt hat mit etwas zeit und durchhaltevermögen leicht zu knacken. |
|
| | #98 (permalink) | |
| Member of Honour ![]() Registriert seit: 28.05.03 ![]() Likes: 1 | Zitat:
__________________ http://livehabo.hackerboard.de | http://livebb.sourceforge.net | |
| | |
| | #99 (permalink) |
| Registriert seit: 22.06.04 ![]() Likes: 0 | Mal was zum Thema Key: Ein Key ist einmalig. Das Ergebnis was mithilfe von Ihm erzeugt wird, ist es auch. Das Problem ist, der Key ist homogen. D.h. er produziert an gegebener Stelle immer die gleichen Werte. Bsp. Heute ist ein schöner Tag. Heute ist ein besonders schöner Tag. Würde ich glatt tippen, die ersten 3 Zahlen sollten gleich sein. Wenn nicht, kannst Du nicht gewährleisten, dass der der die Nachricht erhällt, diese ohne den neuen Key entschlüsseln kann. Somit hast Du das Problem des sicheren Transfers des Keys. Wenn ein gleichbleibender Key existiert, dann sollte dein Verschlüsselungsalgorithmus eine morphische Eigenschaft haben. Verschieden Techniken zum Verschlüsseln, aber in unterschiedlicher Reihenfolge angewandt. Allerdings sollte das Programm aus dem Code immer noch den Rückweg erkennen können, wann welches Rückvershlüsselungsverfahren anzuwenden ist. Falls Dein Programm nur eine Chiffre macht, ist es sehr wohl knackbar. Die NSA selber loggt jeden Text mit und errechnet Dir vielleicht mit 300 Textbeispipelen den Code bis zum längsten Satz und deren Länge-2. Aber gut ist es, wenn man sich in der Entwicklung von Cryptotools beteiligt. Offenlegen sollte man den Code vielleicht nicht, aber die Verfahren kann man ja offenlegen. Wenn schon die einzelnen Verschluesselungsverfahren nich mal sicher sind, ist auch das Tool nicht grad sicher. ma mein Statement dazu ... cromatic |
| | |
| | #100 (permalink) |
| Registriert seit: 29.04.07 ![]() Likes: 0 | Ich weiß, ich antworte erst ungefähr 5 Jahre später, aber was solls: 1. Ist dein Algorithmus schon deshalb kryptografisch nicht wertvoll, weil ein Teil davon geheimgehalten werden soll. 2. Kennst du den XECryption Algorithmus?Er addiert auch den Schlüssel zu den Buchstaben. Ich habe ein Programm geschrieben, das diesen Algorthmus in weniger als 1 Sekunde bricht. 3.Ist es nett, das du so überzeugt von deinem Algorithmus bist, aber mit deiner Wortwahl ("unknackbar", "versucht es doch mal, ihr werdet es nicht schaffen" usw.) klingst du fast ein wenig arrogant ^^. 4.Wenn du einen wirklich guten Algorithmus machen willst, dann lies so viel du kannst über Kryptografie, und dann beginne einen Algorithmus zu schreiben. Nicht jetzt persönlich nehmen, aber das musste einfach mal gesagt werden. MfG, pi() |
| | |
| | #101 (permalink) |
| Registriert seit: 15.07.06 ![]() Likes: 0 | Auch mir tuts leid, ich hab dein Verfahren soeben inerhalb von 5 Minuten nachgebaut. Mit weniger als 50 Zeilen code ![]() Edit: Durch ein paar Änderungen ist der Quellcode etwas gewachsen ![]() Hier der Quellcode: Code: #include <iostream>
#include <string>
#include <vector>
#include <sstream>
const std::string Encrypt( const std::string& Text, const std::string& Key );
const std::string Decrypt( const std::string& Text, const std::string& Key );
int main ( void )
{
std::string strKey;
std::cout << "Enter key: ";
std::getline( std::cin, strKey );
std::string strEncrypt;
std::cout << "Enter string to encrypt: ";
std::getline( std::cin, strEncrypt );
std::cout << "\n--- O u t p u t ---\n\n";
std::string Encrypted = Encrypt( strEncrypt, strKey );
std::string Decrypted = Decrypt( Encrypted, strKey );
std::cout << "* Key:\t\t" << strKey << "\n";
std::cout << "* Encrypted:\t" << Encrypted << "\n";
std::cout << "* Decrypted:\t" << Decrypted << "\n\n";
return 0;
}
const std::string Encrypt( const std::string& Text, const std::string& Key )
{
std::stringstream Result;
for ( unsigned int i = 0, TheKey = 0; i < Text.length(); i++ )
{
// Dient(e) scheinbar als Trennung :-)
// |
// v
Result << "00" << Text[i] + Key[TheKey++];
if ( TheKey > Key.length() - 1 )
TheKey = 0;
}
return Result.str();
}
const std::string Decrypt( const std::string& Text, const std::string& Key )
{
std::string Result = "";
for ( unsigned int i = 0, TheKey = 0; i < Text.length(); i += 5 )
{
Result += char ( atoi ( Text.substr( i, 5 ).c_str() ) - Key[TheKey++] );
if ( TheKey > Key.length() - 1 )
TheKey = 0;
}
return Result;
} |
| | |
| | #102 (permalink) |
| Registriert seit: 16.02.06 ![]() Likes: 0 | Jetzt wo ichs gelesen hab kann ich mich auch nicht zurückhalten. Ich denke das der Algo nicht als "guter" Verschlüsselungsalgo zu gebrauchen ist. Denn wie vorher in einem Beitrag schon erwähnt wurde: Wenn der Schlüssel genauso lang ist, wie Text, dann müsste ich ja DOPPELT so viele Daten übertragen und ich müsste mir, vorausgesetzt ich möchte den Schlüssel immer dabei haben, einen SEHR LANGEN Schlüssel merken. Was ich damit sagen will, jeder kann sich ein "MEGA" schweren, sehr aufwändigen, komplizierten Algo mit super langen Schlüsseln ausdenken. Die Kunst besteht darin, einen einfachen, wohldurchdachten Algo zu entwickeln der schwer zu knacken ist. MFG Ace |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| kleines Verschlüsselungsprogramm | Nornagest | Programmieraufgaben | 55 | 22.05.12 12:55 |
| Verschlüsselungsprogramm | Until-Death | Code Kitchen | 5 | 01.07.07 13:34 |
| Verschlüsselungsprogramm | antcool | Cryptography & Encryption | 14 | 21.10.05 16:31 |
| Bestes Verschlüsselungsprogramm | spyro133 | Cryptography & Encryption | 2 | 20.06.05 08:09 |
| Verschlüsselungsprogramm | Avenger | Cryptography & Encryption | 5 | 22.11.04 21:59 |