Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Cryptography & Encryption Ver- und Entschlüsselung, Algorithmen, Kryptoanalyse ? Kryptographie in der Praxis. Blowfish, Triple-DES, XOR u.a.

Neues Verschlüsselungsprogramm (selbst gecodet)

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 ...

Antwort
Alt 15.06.04, 17:30   #91 (permalink)
 
Registriert seit: 28.05.04
Mailerdemon Leistung: Facit NTK
Likes: 0
Standard Code ist sehr einfach knappbar

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

Mailerdemon ist offline   Mit Zitat antworten
Alt 15.06.04, 21:18   #92 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

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!
Elderan ist offline   Mit Zitat antworten
Alt 15.06.04, 22:15   #93 (permalink)
Member of Honour
 
Benutzerbild von Golgotha
 
Registriert seit: 29.10.01
Golgotha Leistung: Z3
Likes: 8
Arrow

*** 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!
Golgotha ist offline   Mit Zitat antworten
Alt 16.06.04, 00:14   #94 (permalink)
 
Registriert seit: 08.06.04
lestat Leistung: Facit NTK
Likes: 0
Standard

@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
lestat ist offline   Mit Zitat antworten
Alt 16.06.04, 16:51   #95 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

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
Elderan ist offline   Mit Zitat antworten
Alt 16.06.04, 18:18   #96 (permalink)
ByteWolf
Guest
 
Likes:
Standard

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.
  Mit Zitat antworten
Alt 18.06.04, 15:06   #97 (permalink)
 
Benutzerbild von Avenger
 
Registriert seit: 27.12.03
Avenger Leistung: Facit NTK
Avenger eine Nachricht über ICQ schicken
Likes: 0
Standard

Kann mir mal jemand sagen, woher ich das Programm bekomme???
Avenger ist offline   Mit Zitat antworten
Alt 18.06.04, 15:31   #98 (permalink)
Member of Honour
 
Benutzerbild von ivegotmail
 
Registriert seit: 28.05.03
ivegotmail Leistung: Z3
Likes: 1
Standard

Zitat:
Original von Avenger
Kann mir mal jemand sagen, woher ich das Programm bekomme???
http://www.habosoft.de.vu -> sonstiges
__________________
http://livehabo.hackerboard.de | http://livebb.sourceforge.net
ivegotmail ist offline   Mit Zitat antworten
Alt 23.06.04, 10:24   #99 (permalink)
 
Registriert seit: 22.06.04
cromatic Leistung: Facit NTK
Likes: 0
Standard

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
cromatic ist offline   Mit Zitat antworten
Alt 29.05.07, 20:09   #100 (permalink)
 
Registriert seit: 29.04.07
pi() Leistung: Facit NTK
Likes: 0
Standard

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()
__________________
Seht euch das bitte einmal an.Hab mir echt Mühe gegeben:
Hier: www.gutinmathe.at
pi() ist offline   Mit Zitat antworten
Alt 29.05.07, 21:29   #101 (permalink)
 
Registriert seit: 15.07.06
Dummie Leistung: Facit NTK
Likes: 0
Standard

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;
}
Mich würde nun interessieren wie das "Original" aussieht bzw. aussah
Dummie ist offline   Mit Zitat antworten
Alt 20.07.07, 11:37   #102 (permalink)
 
Registriert seit: 16.02.06
AceKiller73 Leistung: Facit NTK
Likes: 0
Standard

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
AceKiller73 ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Security Area » Cryptography & Encryption » Neues Verschlüsselungsprogramm (selbst gecodet)
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ä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


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61