AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie Verschlüsselt ihr ?

Ein Thema von Corpsman · begonnen am 6. Mai 2009 · letzter Beitrag vom 7. Mai 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: Wie Verschlüsselt ihr ?

  Alt 6. Mai 2009, 11:05
Zitat von himitsu:
auch für BruteForce brauchst du eine Hintertür ... nämlich das Grundprinzip des Algorithmusses, für die Verschlüsselung und/oder die Art der verschlüsselten Daten.
Bei guten Verschlüsselungen bekommst du neben den verschlüsselten Quelldaten auch den Verschlüsselungsalgorithmus mitgelifert und musst trotzdem eine Brutforce-Angriff über Jahre mit vielen PCs durchführen.

Eine Geheimhaltung des Algorithmuses erhöht die Sicherheit nur geringfügig!
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#12

Re: Wie Verschlüsselt ihr ?

  Alt 6. Mai 2009, 11:08
Kann ich der Abschweifenden Diskussion also entnehmen, das ihr alle entweder nicht Verschlüsselt, oder auf die DEC zurückgreift ?

@himitsu

Äh danke für die Optimierung, aber eigentlich gings mir nicht darum...
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#13

Re: Wie Verschlüsselt ihr ?

  Alt 6. Mai 2009, 11:12
Zitat von Corpsman:
Das Verschlüsselte Dateien nicht 100% sicher sind wahr mir schon immer klar, aber wie das eben so ist wenn man keine Ahnung von der Materie hat, dachte ich immer, das sind halt richtige Freaks die solche Dateien knacken können.

[...] Verfahren einigermasen sicher ist. Doch weit gefehlt.

So denn die Frage was nutzt ihr denn nun für Verschlüsselungen ?
Nie das Rad selbst erfinden. Es gibt genügt fähige Mathematiker die sich mit sowas auseinander setzen.

Die üblichen verdächtigen sind AES und RSA. Meist werden diese in Kombination genutzt.

Als Programme verwende ich:
GPG - für Email und einzelne Dateien (bei versandt an dritte)
TrueCrypt - für Datenträger wie USB-Sticks, Festplatten und optische Datenträger

ansonsten in der Linux Welt das CLI Tool AES und die CryptoLoop.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#14

Re: Wie Verschlüsselt ihr ?

  Alt 6. Mai 2009, 11:17
@generic

Ich erfinde das RAD sehr oft und gerne neu, denn nur so ( denke ich ) ist es mir möglich die Dinge und ihre Prozesse am besten zu verstehen.

Du hast natürlich Recht für eine Professionell eingesetzte Software sollte man dann schon auf entsprechend getestete libarys zurückgreifen.

In meinen bisher absolut nicht Professionell eingesetzten selbst geschriebenen Programmen schadet es, so denke ich, nicht das ich da ettliche 100 kb weniger exe Größe habe und dafür dann einen von Hand gestrickten algo ...
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#15

Re: Wie Verschlüsselt ihr ?

  Alt 6. Mai 2009, 11:19
Zitat von himitsu:
Zitat von Luckie:
dann nutz die Software eine Sicherheitslücke in sich selbst, um den Container zu öffnen?
im Prinzip schon ... nun gilt es eben nur noch diese "Lücke" so klein wie möglich zu machen.
Ich denke, aber eher, dass es den eigenen bekannten Algorithmus benutzt, um den Container zu öffnen. Alles andere wäre etwas blödsinnig.


Zitat von Corpsman:
Kann ich der Abschweifenden Diskussion also entnehmen, das ihr alle entweder nicht Verschlüsselt, oder auf die DEC zurückgreift ?
Also wenn ich was zu verschlüsseln habe, dann benutze ich bekannte und erprobte Algorithmen, möglichst aus einer Bibliothek, die ebenfalls erprobt ist, wie zum Beispiel das DEC. Und das ganz einfach aus dem Grund weil mir die erforderlichen mathematischen und kryptologischen Kenntnisse fehlen, um eine sicher Verschlüsselung zu entwicklen und zu implementieren. Und wie du selbst an dir gesehen hast, ist dies absolut erforderlich.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#16

Re: Wie Verschlüsselt ihr ?

  Alt 6. Mai 2009, 11:44
wenn ich mal was hab, was wirklich "halbwegs" sicher verschlüsselt wwerden soll, dann würde ich auch zum DEC greifen, dazu mal wie Hagen etwas kennen und wissen, daß er da richtig was drauf hat.

Ansonsten haben mir bisher eigentlich "billige" XOR-Verschlüsselungen gereicht, da es dann doch nicht sooooo wichtig war und quasi nur der erste Blick nicht gleich alles pur zeigen sollte

büdde und brauchte eh grad mal etwas Ablenkung ... hat ja och fast keine Arbeit gemacht ^^
und wie gesagt, XOR selber ist vom Prinzip her nicht unsicher, es kommt nur auf die Verwendung an.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#17

Re: Wie Verschlüsselt ihr ?

  Alt 6. Mai 2009, 13:17
Die wohl am häufigsten von mir eingesetzte Verschlüsselung in Applikationen ist die DPAPI. Das liegt daran, daß ich Konfigurationen meiner Anwendungen grundsätzlich verschlüsselt abspeicher. Die DPAPI liefert mir dies ohne großartige Umwege. Es werden Schlüssel generiert (basierend auf den Credentials des eingeloggten Users bzw. des Systems), es wird gescheit verpackt und es funktioniert einfach ohne großen Hokus Pokus.

Sollte ich Daten austauschen wollen oder ausliefern (via Produktupdate) sind diese oft mit RSA verschlüsselt oder aber zumindest digital signiert (DSA).

Ansonsten sind meine eigenen Daten zuhause mit AES verschlüsselt.
Fridolin Walther
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: Wie Verschlüsselt ihr ?

  Alt 6. Mai 2009, 14:45
Mit Brute Force kann man zwar theoretisch jede Verschlüsselung knacken, die Frage ist aber dann, wie man den richtige Klartext von den (sehr vielen) falschen unterscheidet - mal abgesehen davon, dass es schon bei recht geringen Dateigrößen physikalisch unmöglich ist, das ganze zu berechnen (solche Überlegungen wie was wäre, wenn alle Atome im Universum Computer wären und pro Sekunde so und so viele Möglichkeiten durchprobieren würden und die Zeit wäre immer noch größer als das Universum vermutlich jemals alt wird.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#19

Re: Wie Verschlüsselt ihr ?

  Alt 6. Mai 2009, 16:26
Zitat von himitsu:
PS: selbst die billige XOR-Verschlüsselung kann sehr sicher (sogar fast 100%ig Unknackbar sein) ... man muß nur einen Schlüssel haben, welcher mindestens genausogroß ist, wie die zu verschlüsselnden Daten selber
In dem Fall ist das sogar zu 100% unknackbar, da wie 3_of_8 schon sagte, in diesem Fall die richtigen Daten nicht mehr von den Falschen zu unterscheiden sind.
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#20

Re: Wie Verschlüsselt ihr ?

  Alt 7. Mai 2009, 01:06
Um die Grundprinzipien, quasi das Geheimnis der Kryptographie zu verstehen muß man sich schon einige Zeit mit der Materie befassen. Nicht mit Mutmaßungen, Annahmen, Glauben sondern mit Fakten, Wissen und der Mathematik. Ich erzähle dies weil einige der vorher gemachten Aussagen eher Mystik sind

Fangen wir mal an Grenzen zu definieren. Grenzen die uns einschätzen lassen was eine sichere Verschlüsselung ist und warum.

Der OTP, One Time Pad im rein mathematischen Sinne ist folgend definiert:

1.) wähle einen Schlüssel der absolut zufällig gewählt ist
2.) wähle die Schlüssellänge so groß das sie exakt der Länge an Daten entspricht die man schützen möchte
3.) wähle und benutze diesen Schlüssel nur ein einziges Mal
4.) wähle eine mathematische Verknüpfungsoperation zwischen Schlüssel und Nachricht die mathematisch beweisbar in der gewählten Domain (zb. Zahlendarstellung der Schlüssel und Daten) eine Gleichverteilung von 50% erzeugt.

Wir wählen als Computerfreaks die XOR Operation eben auch weil unsere Schlüssel und Daten in binärer Zahlendarstellung gespeichert sind.

Die XOR Operation auf 1 Ausgangs- und 2 Eingangsbit ist so definiert

0 xor 0 = 0
1 xor 0 = 1
0 xor 1 = 1
1 xor 1 = 0

Es gibt bei einem Bit also zwei Zustände, 0 und 1 = 50%. Bei zwei Bits die man per XOR verknüpft wird also mit 50% Wahrscheinlichkeit zwei Bits die zu 50% Wahrscheinlichkeit ein Ausgangsbit erzeugen das selber zu 50% Wahrscheinlichkeit eine 0 oder 1 sein kann. Wir können nicht sagen, an Hand des Ausgangsbits und ohne Kenntnis eines der beiden Eingangsbits welchen Zustand das andere Eingangsbit vorher hatte. Logisch soweit, oder ?

Wenn wir nun die Regeln des OTPs oben betrachten so dürfte es logisch sein das ein OTP in dieser Form nicht knackbar ist. Aber warum ?

Einfach weil bei einem unbekannten Schlüssel der unbekannte verschlüsselte Inhalt jede mögliche Nachricht sein könnte die exakt gleich groß der korrekten Nachricht ist. Ein Angreifer kann also ohne den exakt korrekten Schlüssel und ohne zusätzliche dritte Informationen über den möglichen Inhalt der verschlüsselten Nachricht beim OTP nur eine Feststellung treffen: Jede der gleichgroßen Nachrichten könnte die richtige sein.

Nun wird als erstes mal folgende Aussage ersichtlich: eine Brute Force Attacke ist dämlich, im korrekten deutsch also absolut unlogisch und beweisbar sinnlos. Mit der Annahme man hat keinerlei zusätzliche dritte Informationen über den möglichen Inhalt der Nachricht.

Die Nachricht veschlüsselt mit einem OTP ist also per Definiton zu 100% sicher.
Was würde passieren wenn wir nun zwei OTP Schlüssel nach obiger Regel erzeugen und eine Nachricht mit beiden Schlüsseln verschlüsseln ?
Wir wissen laut Regel 3.) das beide Schlüssel sich unterscheiden müssen. Somit erzeugen und benutzen wir niemals den exakt gleichen Schlüssel in diesem Falle zweimal.
Aber können wir mit dieser Methode die Nachricht mit mehr als 100% sicherer verschlüsseln ? Nein.
1.) wäre wiederum jede der gleichlangen Nachrichten gleich hoch wahrscheinlich die richtige Nachricht
2.) können wir leicht erkennen das die XOR Kombination beider Schlüssel wiederum einen zufälligen Schlüssel erzeugt und das ist defakto der real benutze Schlüssel. Wir streichen aus der Formel quasi zwei Variablen und substituieren sie durch eine einzige andere.

Wir sehen: mit einem OTP kann man nur 100% sicher verschlüsseln, der OTP stellt damit die für uns die hypothetische, theoretische und maximal machbare obere Grenze für die Bewertung der kryptographischen Sicherheit anderer Verschlüsselungen dar.
Wir sehen das ein OTP damit auch unknackbar ist, es gibt also defakto die theoretisch unknackbare Verschlüsselung tatsächlich. Da hilft kein noch so starker Glaube noch so viel Hightech oder sogar Quantencomputer die in unendlich kurzer Zeitspanne unendlich komplexe Probleme berechnen können. Kennt man nicht den Schlüssel, keine zusätzlichen Informationen über den verschlüsselten Inhalt dann ist jede gleichlange andere Nachricht eine genauso korrekte Nachricht wie die Originale.

Aber warum benutzen wir dann nicht den OTP ?
Weil er eben nur Theorie ist. Möchte man daraus irgendwas Praktisches, also technisch Machbares machen, dann wird man in jedem Falle die Sicherheit des Verfahrens unter 100% reduzieren. Zb. stellt sich die Frage wie produzieren wir wirklich mathematisch beweisbaren echten Zufall ohne das wir diesen Zufall technisch exakt und ständig erneut reproduzieren können ? Denn eines der stärksten wissenschaftlichen Indizien für die Richtigkeit einer Annahme ist die Reproduzierbarkeit der Ergebnisse durch Experimente. Nun, es existiert also keine Möglichkeit zu beweisen das eine Maschine die angeblich echten Zufall erzeugt auch wirklich echten Zufall erzeugt hat. Nun möge der Einwand kommen: Quantenmechanik und Heisenberg, ja korrekt. Aber beides besagt nur das es eine Grenze für unsere Erkenntnis gibt aus der wir dann technisch unseren echten Zufall erzeugen. Das ist aber keine mathematisch fundierter Beweis das dieser Zufall wirklich echter Zufall ist, das es hinter dieser Erkenntnisgrenze keinen kausalen Zusammenhänge innerhalb des so produzierten Zufalls gibt. Philosophie halt, für uns ist nur eines dabei wichtig: echter Zufall ist wahrlich nicht leicht real zu erzeugen wir müssen glauben das er echt zufällig wäre. Wir wissen es also mathematisch betrachtet nicht mehr und somit können wir in der Praxis also nicht Regel 1.) wirklich mathematisch beweisbar umsetzen.
Aber weiter gehts: wer möchte sich schon einen echten Zufallschlüssel im Kopf speichern, besonders wenn unsere Nachricht Megabits groß ist, unser Schlüssel müsste ja ebenso groß sein und dann nur einmal verwendet. Also speichern wir ihn auf CD ROM. Und da haben wir das nächste Problem, wie möchten wir diesen Schlüssel auf CD-ROM schützen ? Um die Sicherheit nicht zu reduzieren müssen wir einen OTP benutzen. Jedes andere Verfahren bedeutet immer Sicherheitsverlust da es kein real stärkeres gibt als den OTP. Also erzeugen wir wieder einen OTP Schlüssel der so groß ist wie unser auf CD-ROM zu speichender OTP Schlüssel. Super nun können wir unseren OTP Schlüssel ja sicher auf CD-ROM speichern, wir müssen nur aufpassen das wir auch alle Spuren in unserer Elektronik zu unseren Schlüssel auch wirklich vernichten und bis dato kein Spion schon längst unseren Schlüssel besitzt. Naja das dürfte ja noch im Bereich des praktisch Machbaren sein, aber sicher können wir uns auch nicht sein. Halt, also doch Sicherheitsverlust bei der Umsetzung der Theorie in die Praxis.
Da war doch noch was eben ? Hm, der Vorschlag der Umsetzung des OTP Verfahrens in die Realität von eben hat doch einen Hacken, oder ? Stimmt wir mussten ja einen weiteren OTP Schlüssel erzeugen um den ersten Schlüssel sicher auf CD-ROM speichern zu können, was machen wir denn nun mit diesem ? Bitte, einen Dritten um den Zweiten um den Ersten zu schützen ist offensichltich keine Lösung.
Auch hier keine Möglichkeit ohne Sicherheitsverlust das theoretische OTP Verfahren in die Praxis zu bekommen. Und noch ein Gedanke: auch unser Hirn ist nur eine Maschine, auch es hat nur eine Festplatte, theoretisch ist es wahrscheinlicher das wir es in Zukunft mit Maschinen auslesen oder klonen können als das wir die, mit dem theoretischen OTP, die theoretisch verschlüsselte Nachricht mit dem theoretisch unendlich schnellen Quantenrechner praktisch knacken könnten.
Und drittens sollte man sich mal die Frage stellen ob eine Zahl, mit einem echten Zufallsgenerator erzeugt, egal in welcher praktisch real existenten Bauweise, mit ihrer Erzeugung, und damit mit unserer Kenntnissnahme dieser Zahl, wirklich noch sicher also zulällig ist oder ob sie zu einem Teil unserer Erkenntnis, in dem Moment als wir sie erzeugten, wurde. Kurz gesagt: sobald wir diese Zufallszahl erzeugt haben ist sie wertlos da es keine Möglichkeit gibt all ihre Spuren zu beseitigen damit sie auch wirklich 100% geheim bleibt, sie muß defakto irgendwo gespeichert werden und das ist in jedem Fall unsicherer als 100% Sicherheit wie in der Theorie verlangt.

Ergo: OTP schön und gut er hilft uns in der Theorie eine Grenze zu ziehen und zur Erkenntnis zu kommen das es real keine Verschlüsselung geben kann die wirklich 100% sicher ist. Was nicht impliziert das nun eine Brute Force Attacke auf einen OTP oder ein anderes fast so sicheres Verfahren wirklich irgendwas bringen muß.

Es heist aber auch das wir im gleichen Atemzug noch eine andere Möglichkeit erwähnt haben die Sicherheit eines Verfahrens einzustufen: nämlich die Brute Force Attacke als Bestcase den eine jede gute Verschlüsselung beweisbar standhalten muß in einem von uns vorgegeben Rahmen. Dieser Rahmen definiert sich aus unserer Erkenntnis. Also aus aktuellem Wissenstand, vorhandener Technologie, der statistischen Abschätzung welche Resourcen (Materie, Energie und Zeit) wir benötigen würden um per Brute Force Angriff einen Schlüssel zu knacken.

Den Worstcase kann man beeinflussen. Der Worstcase wird beeinflusst durch unsere Mathematik, dh. gibt es beweisbar kein anderes mathematisches Verfahren das ein kryptographisches Verfahren schneller knacken kann als eine Brute Force Attacke.

Man kann nun erstaunt darüber sein das eine simple XOR Verschlüsselung bei der man direkt den sich wiederholenden und nicht echt zufälligen Schlüssel durch eine Known Plain Text Attacke (also bekanntem oder teilweise bekannter Nachricht) so leicht brechen kann. Im Grunde aber ist es einfach nur so das man eben Grundregeln der Kryptographie und letzendlich der Mathematik nicht beachtet hat bei der Konstruktion des Verfahrens. Daraus gewisse andere Behauptungen oder Schlußfolgerungen abzuleiten und zu verallgemeinern auf andere Verfahren ist fahrlässig.

Eines der wichtigsten "Geheimnisse" der Kryptographie ist: Wissen. Wissen bedeutet man kontrolliert einen Prozess. In der Kryptographie muß man zu und für jeden Zeitpunkt ihrer Anwendung wissen was passiert. Das kann man nur über einen Beweis. Sogesehen sind Kryptographen die Menschen die mit Hilfe der Mathematik ein beweisbar sicheres Verfahren konstruieren das in jedem Falle immer möglichst absolut unfair gegenüber all Denjenigen sein wird die nicht den Schlüssel kennen. Hier habe ich schon wieder eine Regel impliziert ohne sie zu nennen. Nur das Passwort, also ein Geheimnis in Form eines zb. Datenbereiches, eines Satzes oder sonstwas, sollte nötig sein und ein dann mit aktuellem Wissen beweisbar sicheren krypto. Algorithmus um Nachrichten schützen zu können. Also nicht die XOR Operation in unserem OTP muß bzw. sollte geheim sein sondern nur die zwei Daten: Passwort und Nachricht. Ein kryptographischer Algorithmus ist also ein Verfahren das zwei geheime Daten so miteinander kombiniert das aus dem Dritten daraus resultierenden Output nicht ohne Eines der Beiden zu kennen das Andere wiederherstellbar ist.
Aber warum sollte nicht auch der Algorithmus geheim sein ? Pragmatismus: wenn man ein Verfahren konstruieren kann das nicht geheim sein muß und denoch beweisbar Nachrichten sicher schützt nur auf Grund eines zweiten Geheimnisses warum sollte man den Algorithmus dann auch geheim halten wollen ? Hier zählt also die Annahme das je weniger man geheim halten muß um eine gewisse Geheimhaltung erlangen zu können desto besser ist der Schutz ansich. Denn nun würde man auch viel schneller eine Schwäche in der Geheimhaltung erkennen können. Wenn es nur zwei Geheimnisträger in einem absolut sicheren System gibt und das System denoch gebrochen wurde dann kann es nur so sein das einer der beiden Geheimnisträger als unsicher einzustufen ist. Je weniger man also geheim halten muß desto besser und um so größer werden die Chancen das man frühzeitig erkennen kann das das Geheimnis nicht mehr sicher aufbewahrt ist.

Oben schrieb ich:
Zitat:
2.) wähle die Schlüssellänge so groß das sie exakt der Länge an Daten entspricht die man schützen möchte
Davon ableiten lässt sich (es führt zu dieser Aussage) das ein längerer Schlüssel als die Nachricht keinen weiteren Sicherheitsgewinn einbringt. Auch lässt sich ableiten das ein kürzerer Schlüssel immer einen Sicherheitsverlust bedeutet. Denn wir müssten ja für den Rest irgendwie reproduzierbare Schlüsselbits aus dem zu kurz gewählten Schlüssel erzeugen. Das heist auch das es sinnlos ist eine kürzere Nachricht als der Schlüssel lang ist, eben mit keinem Verfahren irgendwas verbessert oder sicherer macht. Die maximal machbare Komplexität ist immer nur so groß wie die Anzahl der möglichen Nachrichten die gleichwahrscheinlich zur korrekten Nachricht sind.

Zitat:
3.) wähle und benutze diesen Schlüssel nur ein einziges Mal
Das bedeutet das wenn wir uns nicht daran halten die Wahrscheinlichkeit besteht das wir den Schlüssel zweimal benutzen und das auf die gleiche Nachricht. Davon ableiten lässt sich das es im Grunde dumm ist eine Nachricht mit zb. zwei Schlüsseln aber mit gleichem Verfahren doppelt oder mehrfach zu verschlüsseln. Dies kann nicht die Sicherheit erhöhen sondern wird mit höherer Wahrscheinlichkeit nur die Sicherheit des Verfahrens reduzieren in seiner Gesamtheit. Es beantwortet also die Frage ob man eine Nachricht zb. erst mit AES verschlüsselt und dann nochmals mit einem anderen Verfahren verschlüsseln sollte. Die maximale Sicherheit kann nur so hoch wie das schwächste Glied der Kette sein, also eines der beiden Verfahren. Welches wissen wir aber zum Zeitpunkt der Anwendung nicht und oben sagte ich "Wissen". Alles was wir nicht wissen ist ungünstig.
Im Falle der mehrfachen Anwendung der XOR-Operation und nicht Einhaltung der Regel 3.) erhöhen wir in jedem Falle die Wahrscheinlichkeit das wir einen Teil wieder entschlüsseln. Nungut im Falle des OTPs ist das irrelevant aber im Falle vieler anderer Verfahren eben nicht.

Zitat:
Ein kryptographischer Algorithmus ist also ein Verfahren das zwei geheime Daten so miteinander kombiniert das aus dem Dritten daraus resultierenden Output nicht ohne Eines der Beiden zu kennen das Andere wiederherstellbar ist.
Heutzutage gilt auch hier eine noch stärkere Restriktion. Man versucht die Algorithmen so zu konstruieren das man selbst bei geknackter Nachricht nicht in der Lage ist das real benutze Passwort zu knacken. Eine anerkannte Methode ist die Anwendung eines Zufallssalts in Kombination mit einer sicheren Einwegfunktion (Hash). Man nennt sowas KDF=Key Derivation Function, Schlüsselableitungsfunktion.

Zitat:
Kennt man nicht den Schlüssel, keine zusätzlichen Informationen über den verschlüsselten Inhalt dann ist jede gleichlange andere Nachricht eine genauso korrekte Nachricht wie die Originale.
Die Aussage, keine zusätzlichen Information, impliziert sowohl bestimmte Angriffsmöglichkeiten wie eben die Known Plain Text Attacke, oder der Choosen Plain Text Angriff, wie auch bestimmte Schutzmechanismen in heutigen kryptographischen Algorithmen. Zb. verknüpft man die Nachrichtenbits blockweise mit den vorher verschlüsselten Nachrichtenbits. Dies erfolgt über ein sogenanntes Feedback Register innerhalb des Verfahrens und die Art und Weise der Verknüpfung dieses Feedbackregisters mit den Daten nennt man den Ciphermode. Je nach Art kann man unterschiedliche Verhalten des Gesamtverfahrens erreichen, zb. eine Alles oder Nichts Entschlüsselung, oder sogenannte CMACs Cipher Message Authentication Codes zur Überprüfung der Integrität und Authentizität einer entschlüsselten Nachricht oder die Eigenschaft der Selbstsynchronisation fehlerhafter Entschlüsselungen also das Gegenteil einer Alles oder Nichts Entschlüsslung. Aber der wichtigste Grund für solche Feedback Ciphermodis ist die Eigenschaft das wenn man innerhalb des Feedback Register mit einem Zufallswert startet solche Angriffe wie Known/Choosen Plain Text Angriffe unterbinden kann. Dh. Angriffe bei denen man die originale Nachricht ganz oder teilweise kennt oder beeinflussen kann werden wesentlich schwieriger bis unmöglich. Auch Angriffe bei denen man Ciphertextblöcke, also Teile der verschlüsselten Nachricht austauschen, ersetzen oder gezielt manipulieren kann, können mit den Feedbackmodis unterbunden werden. Diese Feedback Modis sind aber im Allgmeinen nicht Bestandteil des kryptographsichen Algorithmus, also im Kernbereich. Denoch wird der nackige krypto. Algorithmus erst durch diese "äußeren" Feedbackmodis wirklich sicher gegen eine ganze Reihe von Angriffen.

Ansich wäre die im Eingangsposting gezeigte Methode sicher, wenn man sie eben richtig abändert. Denoch könnte man sie in gleicher Weise wie beschrieben auch knacken ! Nun der Denkfehler liegt in der Annahme das der gewählte Angriff irgendwas über die Sicherheit des angewendeten Verfahrens aussagen würde. Denn wenn ein Geheimnis teilweise bekannt ist, also nicht mehr geheim dann kann man im Grunde jede Verschlüsselung knacken, auch einen OTP. Im Fall des OTPs hat man exakt den Teil der Nachricht schon geknackt der bekannt ist, logisch. Für den Rest gilt weiterhin das er mathematisch sicher ist wenn es keinen inhaltlichen Zusammenhang der einzelnen Nachrichtenbits zueinander gibt.
Für andere praktische Verfahren gilt dies aber nicht zwangsläufig da dort auch ein algorithmischer Zusammenhang zwischen dem Schlüssel, der Nachricht, dem Ausgangsprodukt und dem Algorithmus gibt. Dh. bestimmte Ausgangsbits können durch den Algorithmus nur dann entstehen wenn die teilweise bekannte Nachricht mit einem bestimmten Schlüssel kodiert wurde.

Zum Schluß noch eine Feststellung: Viele Regeln die man heutzutage in der Kryptographie findet lassen sich in irgendeiner Form vom theoretischen OTP ableiten. Den einzigen beweisbar zu 100% und damit immer sicheren und niemals knackbaren kryptographischen Algorithmus, leider nur auf dem Papier. Aber eine gute Basis für weitere Überlegungen und eine Anleitung für praktische Verfahren

Gruß Hagen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz