Hackerboard WikiHaboBlog

[HaBo]

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

Gegenseitig ergänzende Verschlüsselung?

Diskussion: Gegenseitig ergänzende Verschlüsselung? im Forum Cryptography & Encryption, in der Kategorie Security Area; Ja... ich habe einen Film geguckt... Die Idee eine Funktion zu haben, die aus einem Datenblock zwei Datenblöcke gleicher Größe ...

Antwort
Alt 24.08.09, 21:05   #1 (permalink)
Senior Member
 
Registriert seit: 13.07.08
enkore Leistung: Pentium Ienkore Leistung: Pentium Ienkore Leistung: Pentium I
Likes: 60
Standard Gegenseitig ergänzende Verschlüsselung?


Ja... ich habe einen Film geguckt...

Die Idee eine Funktion zu haben, die aus einem Datenblock zwei Datenblöcke gleicher Größe generiert, die nur dann einen Sinn ergeben, wenn man sie zusammenlegt, reizt mich irgendwie. Also ich will jetzt nicht jedes zweite Byte oder Bit oder sowas in den zweiten Block verschieben, sondern eher suche ich sowas wie n normalen Algorithmus, der aber zwei statt einem Block ausspuckt.
Gibt es sowas überhaupt? Also auch etwas, das einigermaßen sicher ist? :D
Die Idee finde ich iwie auf jeden Fall interessant...

__________________
"It is the human race! The deterioration of the spirit of man. Man undermining himself, causing a self-willed, self-imposed, self-evident self-destruction."
+++ BREAKING +++ Troll ertrinkt im Planschbecken +++
enkore ist offline   Mit Zitat antworten
Alt 24.08.09, 21:39   #2 (permalink)
Senior Member
 
Registriert seit: 03.09.05
Lesco Leistung: Facit NTK
Likes: 0
Standard

Du könntest zu jedem Byte x eine zufälliges Byte y generieren und ein Byte z := x ^ y. y ginge dann in den ersten Block und z in den zweiten. Das Originalbyte erhieltest du dann über y ^ z = x. ( ^ = xor)

Dies ist auch sicher, die einzelnen Blöcke jeweils OTPs sind(Ein Block ist jeweils der Chiffretext und der andere der Schlüssel. Beide haben die gleiche Länge und der Schlüssel ist ohne Kenntnis der Ausgangsnachricht zufällig).
Lesco ist offline   Mit Zitat antworten
   
HaBOT
 

Werbung ist gerade online    
Alt 24.08.09, 21:43   #3 (permalink)
Senior Member
Themenstarter
 
Registriert seit: 13.07.08
enkore Leistung: Pentium Ienkore Leistung: Pentium Ienkore Leistung: Pentium I
Likes: 60
Standard

Okay quasi ein erweitertes OTP. Sehr genial. Sowas in der Art habe ich mir inetwa auch vorgestellt.
Dankenderweise braucht man dafür nur einen guten Zufallsgenerator.
Das hilft mir bei meinem Projekt sehr weiter.
Thx.
__________________
"It is the human race! The deterioration of the spirit of man. Man undermining himself, causing a self-willed, self-imposed, self-evident self-destruction."
+++ BREAKING +++ Troll ertrinkt im Planschbecken +++
enkore ist offline   Mit Zitat antworten
Alt 25.08.09, 09:39   #4 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
Zitat:
Original von csde_rats
Dankenderweise braucht man dafür nur einen guten Zufallsgenerator.
Naja das ist gar nicht sooo einfach. Aber für gewöhnlich reicht normaler kryptographisch sicherer Pseudozufallsgenerator, wenn man ein paar Quellen anzapft um diesen zu initialisieren.

Und wie so oft hat der gute Bruce Schneier et. al was dazu zusagen:
Cryptanalytic Attacks on Pseudorandom Number Generators
Elderan ist gerade online   Mit Zitat antworten
Alt 25.08.09, 18:13   #5 (permalink)
Senior Member
Themenstarter
 
Registriert seit: 13.07.08
enkore Leistung: Pentium Ienkore Leistung: Pentium Ienkore Leistung: Pentium I
Likes: 60
Standard

Gibt es eigentlich einen Algorithmus, der das so realisert, dass bereits ein gekipptes Bit in einen der beiden Blöcke (egal welcher) dafür sorgt, dass beim Entschlüsseln nur noch vollkommener Quark rauskommt?
__________________
"It is the human race! The deterioration of the spirit of man. Man undermining himself, causing a self-willed, self-imposed, self-evident self-destruction."
+++ BREAKING +++ Troll ertrinkt im Planschbecken +++
enkore ist offline   Mit Zitat antworten
Alt 25.08.09, 19:25   #6 (permalink)
 
Benutzerbild von metax.
 
Registriert seit: 22.01.07
metax. Leistung: 8086
metax. eine Nachricht über ICQ schicken
Likes: 10
Standard

Zitat:
Original von csde_rats
Gibt es eigentlich einen Algorithmus, der das so realisert, dass bereits ein gekipptes Bit in einen der beiden Blöcke (egal welcher) dafür sorgt, dass beim Entschlüsseln nur noch vollkommener Quark rauskommt?
Nun ja, gut Krypto-Verfahren sollten eine hohe "Diffusion" besitzten, d.h. das Ändern eines kleinen Teils des Klartextes (z.B. ein Bit) ändert einen großen Teil des Ciphertextes.
Im Optimalfall eines Algorithmus ändert ein einziges Bit im Klartext im Durchschnitt die Hälfte der Bits des Ciphertextes (siehe auch: Avalanche-Effekt).
Vermutlich wird das Ändern eines Cipher-Bits bei solchen Verfahren auch den Klartext massiv verändern (so dass nur noch Quatsch rauskommt), allerdings muss dieser Umkehrschluss nicht immer korrekt sein.

Wenn du deinen Algorithmus so konzipierst, dass du zuerst einen Algorithmus mit guter Diffusion als Basisverschlüsselung nimmst und dann aus diesem Block einen Block A durch XOR mit einem Zufallsblock B erzeugst, kriegst du wieder zwei Blöcke (A und B), die nur zusammen einen Informationswert haben. Wenn du in einem der Blöcke ein Bit kippst, hast du auch genau ein Bit im Block A XOR B gekippt.

mfg, metax.
__________________
Wenn keiner zuschaut, teile ich heimlich durch Null!
Meine Homepage: Planet Metax | meine Bilder: DeviantArt | Twitter
metax. ist offline   Mit Zitat antworten
Alt 25.08.09, 19:47   #7 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
für gewöhnlich will man genau das Verhalten vermeiden, denn das ein Bit kippt, ist gar nicht so unwahrscheinlich. Dies passiert leicht wenn die Datei auf deiner Festplatte o.ä. liegt.
Elderan ist gerade online   Mit Zitat antworten
Alt 25.08.09, 21:15   #8 (permalink)
Senior Member
Themenstarter
 
Registriert seit: 13.07.08
enkore Leistung: Pentium Ienkore Leistung: Pentium Ienkore Leistung: Pentium I
Likes: 60
Standard

Das stimmt Elderan. In meiner Applikation habe ich aber quasi unendlich viel Bandbreite um alle Daten sooft ich will erneut zu senden.
Dann verschlüssel ich die Daten erstmal mit AES um sie danach dann mit diesem Verfahren in zwei Blöcke "umzuwandeln".
__________________
"It is the human race! The deterioration of the spirit of man. Man undermining himself, causing a self-willed, self-imposed, self-evident self-destruction."
+++ BREAKING +++ Troll ertrinkt im Planschbecken +++
enkore ist offline   Mit Zitat antworten
Alt 28.08.09, 02:17   #9 (permalink)
 
Registriert seit: 29.04.07
pi() Leistung: Facit NTK
Likes: 0
Standard

Hallo.

Ehrlichgesagt verstehe ich nicht ganz, was an dem Verfahren so sicher sein soll.
Das einzige, das mir einfällt, als Möglichkeit, die Sicherheit dadurch zu erhöhen, ist, dass man die Blöcke getrennt speichert.Man muss also 2 Systeme knacken und die Daten ergattern statt 1.

Ist denn das gemeint?Ist das die einzige Sicherungssteigerung?
Ich denke das ist den Aufwand nicht wert.
__________________
Seht euch das bitte einmal an.Hab mir echt Mühe gegeben:
Hier: www.gutinmathe.at
pi() ist offline   Mit Zitat antworten
Alt 28.08.09, 15:50   #10 (permalink)
Senior Member
Themenstarter
 
Registriert seit: 13.07.08
enkore Leistung: Pentium Ienkore Leistung: Pentium Ienkore Leistung: Pentium I
Likes: 60
Standard

Nein ich habe zwei physisch getrennte Übertragungswege, die auch noch auf einem anderen Medium basieren.
Die Daten dürfen gar nicht gespeichert werden, es geht mir hier nur um den Transport.

btw.
Gibt es irgendeine schnelle Methode Bytes zu "interleaven"
Damit meine ich die Bits in den Byte(s) zu vertauschen.
Bit 0 Byte A <-> Bit 0 Byte B
Bit 1 Byte A <-> Bit 1 Byte B
Bit 2 Byte A <-> Bit 2 Byte B
Bit 3 Byte A <-> Bit 3 Byte B
Bit 4 Byte A <-> Bit 4 Byte B
Bit 5 Byte A <-> Bit 5 Byte B
Bit 6 Byte A <-> Bit 6 Byte B
Bit 7 Byte A <-> Bit 7 Byte B

Also ich denke mal, dass man diesen Prozess bildlich als "verzahnen" bezeichnen kann....
Hab da grade nen knoten im Kopf. Ich bin mir 100% sicher das man das mit binären Ops machen kann...
__________________
"It is the human race! The deterioration of the spirit of man. Man undermining himself, causing a self-willed, self-imposed, self-evident self-destruction."
+++ BREAKING +++ Troll ertrinkt im Planschbecken +++
enkore ist offline   Mit Zitat antworten
Alt 28.08.09, 18:20   #11 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

tmp := A
A := B
B := tmp
?
Elderan ist gerade online   Mit Zitat antworten
Alt 28.08.09, 18:38   #12 (permalink)
Senior Member
 
Registriert seit: 03.09.05
Lesco Leistung: Facit NTK
Likes: 0
Standard

Oder wenn du weder eine temporäre Variable noch Lesbarkeit möchtest:

a ^= b
b ^= a
a ^= b
Lesco ist offline   Mit Zitat antworten
Alt 28.08.09, 19:33   #13 (permalink)
Senior Member
Themenstarter
 
Registriert seit: 13.07.08
enkore Leistung: Pentium Ienkore Leistung: Pentium Ienkore Leistung: Pentium I
Likes: 60
Standard

Ups hab wohl es falsch erkärt. Nein ich wollte nicht A und B tauschen, sondern jedes zweite Bit durch das entsprechende Bit im anderen Byte "ersetzen"...
__________________
"It is the human race! The deterioration of the spirit of man. Man undermining himself, causing a self-willed, self-imposed, self-evident self-destruction."
+++ BREAKING +++ Troll ertrinkt im Planschbecken +++
enkore ist offline   Mit Zitat antworten
Alt 29.08.09, 01:41   #14 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
und was soll das bringen?

Ansonsten ca. so (ungtestestet):
tmp := a
a &= 0xAA (0xAA = 1010 1010)
a ^= (b & 0x55) (0x55 == 0101 0101)

b &= 0x55;
b ^= (tmp & 0xAA)

Kann man natürlich auch mit 32 oder 64 Bit Wörtern machen
Elderan ist gerade online   Mit Zitat antworten
Antwort
   

Werbung ist gerade online    

[HaBo] » Security Area » Cryptography & Encryption » Gegenseitig ergänzende Verschlüsselung?
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
Verschlüsselung kayoli Cryptography & Encryption 13 13.01.08 14:10
PLZ help PGP Verschlüsselung Bruder-Tuck Cryptography & Encryption 11 17.07.06 13:07
SSL Verschlüsselung chefcock Cryptography & Encryption 1 09.06.04 14:57
W-Lan-Verschlüsselung hapewe Virenschutz · Tools & Aggressive Software 15 01.04.04 18:27
128 bit Verschlüsselung SPaRXLi Cryptography & Encryption 12 25.11.01 12:05


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