AGB  ·  Datenschutz  ·  Impressum  







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

Dateiverschlüsselungs DLL

Ein Thema von hamZta · begonnen am 8. Sep 2004 · letzter Beitrag vom 24. Sep 2009
Antwort Antwort
Seite 2 von 3     12 3      
benst

Registriert seit: 20. Jun 2004
155 Beiträge
 
Delphi 5 Standard
 
#11

Re: Dateiverschlüsselungs DLL

  Alt 31. Jul 2005, 16:59
Zitat von hamZta:
richtig
das ganze ist relativ sicher.
was is denn an xor so schlecht?
XOR-Verschlüsselung ist sicher, wenn...
  • der Schlüssel genau so lang wie die geheime Nachricht ist
  • der Schlüssel aus einem echten Zufallsgenerator (mit statistischem Gleichgewicht) gewonnen wird, z.B. thermisches Rauschen, radioaktiver Zerfall, ...mehr dazu
  • der Schlüssel darf nur ein einziges Mal verwendet werden (bei der nächsten Verschlüsselung muss ein neuer Schlüssel erzeugt werden)
Dann ist diese Verschlüsselungart (auch genannt One-Time-Pad) nicht nur relativ sicher, sondern nachweisbar unknackbar .
Nachteile:
  • der Schlüssel kann nur einmal verwendet werden
  • der Schlüssel ist ziemlich lang
Gruß
Ben
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#12

Re: Dateiverschlüsselungs DLL

  Alt 31. Jul 2005, 17:59
rein programmiertechnsichfrag ich mich warum du

1) SetKey ne funktio nist die eh nichts zurückliefert
2) SetKey integers übergeben bekommen kann obwohl eh nur bytes benutz werden d.h. die keyanzahl minimiert sich auf 256^6;
3) Du 2 mal die Crypt Routine hast, könntest auch in der decrypt deine crypt routine aufrufen

kannst ja mal mit
SetKey(36864,43264,50176,57600,65536,73984,82944);

aufrufen und schaun wie toll die datei verschlüsselt ist ;P
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

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

Re: Dateiverschlüsselungs DLL

  Alt 1. Aug 2005, 15:45
@Beni

Zitat:
der Schlüssel aus einem echten Zufallsgenerator (mit statistischem Gleichgewicht) gewonnen wird, z.B. thermisches Rauschen, radioaktiver Zerfall
Diese Aussage halte ich für falsch. Man sollte in der Kryptographie NIEMALS echten Zufall benutzen.
Warum nicht ? Um das zu erklären betrachten wir den Hauptunterschied zwischen Echten Zufall und Pseudo Zufall, die Quelle ->

- echter Zufall -> Quelle sind physikalische Ereignisse bei denen man annehmen MUSS das sie zufällig wären
- Pseudo Zufall -> Quelle ist eine mathematische Formel die man somit auch mathematisch beweisen kann

Der Große Unterschied besteht also darin ob man die Zufälligkeit des erzeugten Zufalls auch wirklich zu 100% mathematisch beweisen kann. Nun echter Zufall ist niemals mathematisch beweisbar zufällig, darin liegt ja die Bedeutung des Wörtchen "echter". Denn zum heutigen Zeitpunkt sind die physikalische Vorgänge auf Grund deren wir den ZUfall erzeugen eben bei weitem nicht 100%'tig mathematisch analysiert, noch bewiesen, oder sogar auf Grund ihrer Komplexität für uns Menschen nicht beweisbar zufällig. Das bedeutet das wenn man einen echten Zufallsgenerator benutzt sich sozusagen auf Annahmen der Physiker verlassen muß, man muß also glauben das der produzierte Zufall auch wirklich echt zufällig ist, man kann es aber NIEMALS definitiv wissen.

Deshalb sollte man Pseudo Zufallsgeneratoren in der Kryptographie benutzen. Denn bei diesen Generatoren ist die zugrundeligende Mathematik absolut bekannt, analysiert und beweisbar. Man kann nun Pseudo Zufallsgeneratotren benutzen die mathematisch so konstruiert wurden das sie 100% beweisbar zu 100% sicher sind. Das dann einzigst sicherheitsrelevante Element wäre der Startwert=Seed des PRNG's. Nun dieser Seed sollte entweder in einbruchsicherer Hardware gespeichert werden oder zb. ein Input eine Menschens darstellen. Solange nun dieser Seed sicher ist kann der mit dem PRNG erzeugte Zufall nicht durch andere reproduziert werden.

Im Gegensatz dazu dann man einen Zufallsstrom eines "echten" Zufallsgenerators NIEMALS zu 100% mathematisch beweisbar als wirklichen Zufallsstrom erkennen. Wenn man als eine PRNG benutzt und damit Zufallsdaten erzeugt so kann man den Zufallsstrom NICHT von einem echten Zufallsstrom unterscheiden. Das Gleiche gilt auch umgekehrt: ein echter Zufallsstrom ist nicht unterscheidbar von einem PRNG Zufallsstrom. Und gerade aus diesem Grunde sollte man eben keinen "echten" RNG benutzen da man sich niemals 100%'tig sicher sein kann das die Hardwareauch wirklich das macht was sie uns verspricht, wir MÜSSEN also glauben das HW-RNG echten Zufall erzeugt, wir können es NIE wissen.

Das Sen der Kryptographie lautet: ALLES muß zu 100% mathematisch beweisbar sicher sein, also auch der benutzte Zufall. Die statistischen Zufallseigenschaften eines guten PRNGs unterscheiden sich in keinem Punkt von "echten" Zufall. Aus dieser Sicht sind beide Generatoren für die Kryptographie geeignet, aber eben mit dem Unterschied das wir beim PRNG uns mathematisch sicher sein können das er auch wirklich kryptographisch sicher ist, während dies beim HW-RNG niemals der Fall sein wird.

Jetzt könnte das Argument kommen das HW-RNG auf physikalische Ereignissen beruhen die der Mensch nicht vorhersagen kann. Ja, das stimmt auch aus unserer gegenwärtigen Sicht der Dinge und aus Sicht unseres aktuellen Wissenstand. Das muß aber nicht zutreffen auf "böse Ausserirdische", auf "Gott" oder für die Zukunft in der wir dann mit neuem Wissen sehr wohl in der Lage sein könnte diesen Zufall des HW-RNG vorherzusagen. All diese Wenn & Aber's und Unsicherheiten werden definitiv mit einem mathischen PRNG den wir absichtlich nach unseren Erfordernisse konstruiert haben ausgeschaltet. Wir können also bei einem Pseudo Zufallsgenerator absolut sicher sein das er exakt den Zufall erzeugt den wir benötigen. Dessen Sicherheit kann mathematisch zu 100% bewiesen werden.

Gruß Hagen
  Mit Zitat antworten Zitat
benst

Registriert seit: 20. Jun 2004
155 Beiträge
 
Delphi 5 Standard
 
#14

Re: Dateiverschlüsselungs DLL

  Alt 10. Aug 2005, 21:33
Hi Hagen,
ich melde mich er jetzt, weil ich verreist war und nicht so viel Zeit hatte.
Vielen Dank für deine umfangreiche Antwort.
Ich habe recht viele Bücher gelesen und setze mich schon eine ganze Zeit mit dem Thema Kryptologie auseinander. Von dir höre ich zum ersten Mal, dass ein Pseudozufallsgenerator einem Echten Zufallsgenerator vorgezogen werden soll. Bisher habe ich immer nur von dem genauen Gegenteil gehört und gelesen. Mich würden daher Informationsquellen, die deine Argumentationsweise behandeln, sehr interessieren.
Meine Auffassung und Meinung kann ich leider nur aus dem mir bisher bekannten schließen. Zunächst die für mich beiden springenden Punkte:

Echter Zufall:
Es ist wahr, dass wir nicht mit 100%iger Wahrscheinlichkeit sagen können, dass die genannten physikalischen Ereignisse wirklich zufällig sind. Aber ... ("... Die interessante Frage, ob es überhaupt echten Zufall gibt, führt in die Philosophie und hat zumindest für die nächsten Jahre keinen Einfluss auf die Qualität der Zufälligkeit solch eines physikalischen Prozesses. Tatsache ist jedenfalls, dass es heute für Menschen unmöglich ist, zukünftige Ereignisse eines derartigen Prozesses vorherzusagen. Auch wenn es verborgene Parameter gäbe, die einen scheinbar zufälligen Prozess deterministisch beschreiben, wäre dieser Prozess zufällig, weil wir die Parameter nicht kennen. ..." Angewandte Kryptographie, Wolfgang Ertel)

Pseudozufall:
Wie du schon gesagt hast, hängen die Zufallszahlen eines Pseudozufallsgenerator, wenn der Algorithmus gut ist, zum größten Teil von den „seed numbers“ ab.

Mein Schluss:
Ich erachte es als wahrscheinlicher, dass ein Computer in absehbarer Zeit die seed number (bzw. die in Frage kommenden seed numbers) aus einem Teil der Zufallszahlen bestimmt und somit auch die folgenden Zufallszahlen bestimmen kann, als dass wir in absehbarer Zeit die physikalischen Ereignisse in diesem Maße beschreiben können.

Anmerkung: Es gibt Module, die "echten Zufall" aus thermischen Rauschen gewinnen und nachträglich mit einem Mikrokontroller nachbearbeiten (statistische Qualität gewährleisten und so).

Wie schon gesagt, ist mir dein Ansatz neu und mich interessiert diese Auffassung – konnte dazu bisher jedoch nichts finden. Wäre nett, wenn du mir Quellen nennen könntest.
Gruß
Ben
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

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

Re: Dateiverschlüsselungs DLL

  Alt 10. Aug 2005, 21:55
Zitat:
Wie schon gesagt, ist mir dein Ansatz neu und mich interessiert diese Auffassung ? konnte dazu bisher jedoch nichts finden. Wäre nett, wenn du mir Quellen nennen könntest.
Jo, mich als Quelle. Wie ich oben sagte ist das ausschließlich meine Meinung, stehe aber damit nicht alleine dar.

Es geht bei dieser Diskussion nur um eine einzigste Fragestellung: Was können wir mathematisch beweisen ?

Wir können beweisen das ein guter Pseudozufallsgenerator nur ausschließlich in der Vorhersagbarkeit von seinem Seed abhängt falls man

1.) die Schranken=Komplexität hoch genug wählt, dafür gibt es Formel'n -> siehe MOV Bedingung erklärt in "Handbook of Applied Cryptographie" von Menezes, van Oorschot und Vanstone, oder im IEEE Standard P1363 für Kryptographie.

2.) das verwendete Verfahren so lange sicher ist bis es gebrochen werden kann, dies wird man meistens veröffentlichen oder wird Konsequenzen in den entsprechenden Standards haben wie AES, PKCS#, P162, PGP, SRP, Internet Protokollen, nationale Standards der Japaner, Europäer, Amis, NIST, GOV-RU usw. usw. usw. haben. Deshalb sollte man immer ein öffentliches Verfahren benutzen wie zb. MD5, SHA, RipeMD usw. usw.

In all diesen Fällen reden wir immer von menschlichen mathematischen Konstrukten die zu 100% durch den Menschen konstruiert wurden.

Bei echten Zufallsgeenrtoren reden wir von:

- thermischen Sensoren die das Rauschen messen
- radioaktiven Sensoren die den radioaktiven Zerfall messen

uva. physikalischen Prozessen.

Bei diesen Prozessen ist es unmöglich die Zufälligkeit tatsächlich mathematisch zu beweisen, egal ob man im nachhinein die Entropie der Datenströme noch elektronisch verbessert. Wichtig ist einzigst und alleine das bei einem TRNG niemals beweisbar sicher die Quelle als wirklicher TRNG indenzifiziert werden kann.

Noch dazu kommt der Fakt das wir in der Kryptographie überhaupt nicht "echten" Zufall benötigen ! Wir benötigen nur einen Datenstrom dessen Bit-Eigenschaften sich wie Zufall verhalten aber nicht echt zufällig sein müssen. Wichtig ist nur das dieser Bitstrom NICHT ohne den Seed reproduzierbar sein darf (in erträglicher Zeit und mit mathematisch korrekter Abschätzung des nötigen technsichen Aufwandes).

Es ist also wichtig das alle Faktoren in der Kryptographie absolut berechnenbar und beweisbar sind.

Ich stimme also obigem Zitat in keinster Weise zu. Heutzutage hat ein Kryptograph durchaus die Wahl zwischen "True RNG's" und "secure PRNG's". Deren relevante Eigenschaften der produzierten Datenströme sind kryptrographisch gesehen von gleicher Qualität, mit dem einzigsten Unterschied das TRNG's nicht beweisbar sind, PRNG's aber 100%'tige Konstrukte der Menschheit sind, ergo 100% beweisbar sicher konstruiert sind und 100%'tig sicher betrieben werden können.

Also, warum? sollte ein Kryptrograph denoch mit TRNG's arbeiten wollen ? Nenne mir nur einen vernünftigen Grund.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

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

Re: Dateiverschlüsselungs DLL

  Alt 10. Aug 2005, 21:58
Achso fehlt noch die Frage der "Philosophie des Zufalls".

Darüber sollen sich Physiker und Philosophen streiten. Wir als Mathematiker und Kryptographen interessieren uns in keinster Weise ob Zufall zufällig ist. Wir gehen auf Nummer sicher und nehmen keinen echten Zufall sondern produzieren auf beweisbar sicherer Art & Weise einen Bitstrom dessen Eigenschaften ohne den Seed dem echten ZUfall gleichen aber beweisbar sind.

Das IST der relevante Unterschied, denn ein Kryptograph kann sich nicht auf die Standhaftigkeit der Thesen der Physik oder Philosophie verlassen, er MUSS isich sicher sein, alle anderen Wissenschaften dürfen sich irren ohne Konsequenzen.

Gruß Hagen
  Mit Zitat antworten Zitat
benst

Registriert seit: 20. Jun 2004
155 Beiträge
 
Delphi 5 Standard
 
#17

Re: Dateiverschlüsselungs DLL

  Alt 10. Aug 2005, 22:46
So habe ich das ganze noch nie betrachtet...
Werde weiter darüber nachdenken und mich weiter schlau lesen - speziell unter dem neuen Gesichtspunkt.

Ich habe mich bisher noch nicht wirklich mit Pseudozufallsalgorithmen beschäftigt. Wie lang ist denn die Periode bei gängigen Algorithmen?

Gruß Ben
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

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

Re: Dateiverschlüsselungs DLL

  Alt 11. Aug 2005, 00:38
Zitat:
ch habe mich bisher noch nicht wirklich mit Pseudozufallsalgorithmen beschäftigt. Wie lang ist denn die Periode bei gängigen Algorithmen?
Es gibt wirklich tausende von solchen Algrithmen, im Gegensatz zu zb. TRNG Hardware !!
Die Periode könnte man auf unendlich hochschrauben wenn man unendliche Resourcen hätte. Allerdings spielt im Bereich der Kryptographie die Periode eine eher untergeordnete Rolle, 2^128 wären absolut ausreichend, 2^2048 wären besser

Viel wichtiger sind die restlichen Eigenschaften der Verfahren, wie eben ob sie tatsächlich mathematisch bewiesen sicher sind. Es kursieren nänmlich viele halb-wissenschaftliche Verfahren deren math. Beweise sich oberflächlich betrachtet sauber anhöhren aber im Grunde nicht hieb und stich fest sind. Ein solches Verfahren ist ISAAC.
In diesem Sektor sollte man sich wirklich auf echte Mathematiker verlassen, zb. der Quadratische Restegenerator auch genannt Blum Blum Shub Generator nach seinen Entwicklern gilt als sehr sehr sicher. Vorrausgesetzt man arbeitet entsprechend der MOV Condition mit Primzahlen > 512 Bits.
Oder ein ganz anderes Verfahren, dessen Beweis aber viel schwieriger ausfällt, sind alle YARROW like RNG's basierend auf Bruce Schneier. Dabei wird der math. Beweis zweistufig geführt. Einmal der analytisch logisch Beweis den Bruce Schneier anführte um zu beweisen ads man eine secure Message Digest Funktion, auch Hash-Funktion genannt so umbauen kann das sie als PRNG arbeitet. Der zweite Bestandteil des Beweises liegt in der Begründung warum einen gewählte Hash Funktion sicher sein muß. Nun Bruce Schneier musste diesen Beweis leider nich anführen, das ist Aufgabe der Entwickler wie John Rivest für zb. MD4,MD5,SHA usw.

Und fehlt noch die Frage nach dem sicheren Startwert==Seed. Hier zeigte es sich das echter Zufall ebenfalls nicht stark genug sein kann. Viel besser sind "Zufalls-ereignisse" die eine ganz ganz individuelle Signatur aufweisen. Sprich also Human Input, eine Menschliche Eingabe, aberam sichersten wäre es definitiv ein super gut gewähltes Passwort zu benutzen. Alleine schon aus Gründen der Verifizierbarkeit. Denn jede zusätzliche Möglichkeit die Wirksamkeit eines Verfahrens reproduzierbar und denoch sicher zu überprüfen wird ein zusätzlicher Sicherheitsgewinn sein. Wir müssen also wissen und überprüfen das alles so funktioniert wie es auch soll. Jede kleine Ungereimtheit,sei es unberechenbarerechter Zufall, seien es nicht lesbare oder verfügbare Sourcen der Implementierungen, seinen es unberechtigte Nutzer oder unsichere Betriebssystem etc.pp. wird die Sicherheit des Gesamtsystemes reduzieren.
Fragt sich ob es die 100%'tige Sicherheit überhaupt geben kann.

Schau mal: ein Kryptograph versucht doch nur die Un-Sicherheit in Schranken zu setzen. Für ihn bedeutet ein Algorithmus wie DES der nun gebrochen wurde eben NICHT Unsicherheit sondern im Geneteil es ist eine Form der Sicheheit. Denn nun weis er das dieses Verfahren nicht mehr für seine Zwecke taugt, und dieses Wissen bedeutet wiederum einen Sicherheitsgewinn. Am schlimmsten für einen Kryprographen ist die Unsicherheit des Nicht-Wissens.

jedes kryptographsiche Verfahren ist mathematisch beweisbar gleichmaßen sicher wie auch unsicher, und dies bedeutet absolute Sicherheit. Denn auf Grund dieser Eigenschaften wissen wir exakt bei welchen Schranken ein Verfahren geknackt werden kann und somit unsicher ist. Dies umfasst den mathematischen Beweis wie auch die zur Verfügung stehende Technologie und auch die weitere Entwicklung unseres Wissenstandes. Wir können also heute schon mathematisch eine Abschätzung treffen wann inetwa zb. die nötigen Computer zur Verfügung stehen um ein Verfahren praktikabel knacken zu können. Weltweit werden solche Entwicklungen mit Argusaugen verfolgt um frühzeitg die Schranken höherschrauben zu können. All dies IST eine Form der Sicherheit. Benutzen wir TRNG's dann verzichten wir freiwillig auf die Form des Wissens und somit Sicherheit. Somit ist Zufall im Grunde unerwünscht.

Gruß Hagen
  Mit Zitat antworten Zitat
benst

Registriert seit: 20. Jun 2004
155 Beiträge
 
Delphi 5 Standard
 
#19

Re: Dateiverschlüsselungs DLL

  Alt 11. Aug 2005, 11:18
Zitat:
Schau mal: ein Kryptograph versucht doch nur die Un-Sicherheit in Schranken zu setzen. Für ihn bedeutet ein Algorithmus wie DES der nun gebrochen wurde eben NICHT Unsicherheit sondern im Geneteil es ist eine Form der Sicheheit. Denn nun weis er das dieses Verfahren nicht mehr für seine Zwecke taugt, und dieses Wissen bedeutet wiederum einen Sicherheitsgewinn. Am schlimmsten für einen Kryprographen ist die Unsicherheit des Nicht-Wissens.
Jo. Das hat man ja auch schon öfters in der Vergangenheit gesehen (e.g. Enigma).

Gracías - Du hast mir eine Menge Anregungen gegeben, mich mit der Materie zu beschäftigen - jetzt muss ich nur noch die Zeit (und Quellen) dafür finden.

Gruß Ben
  Mit Zitat antworten Zitat
benst

Registriert seit: 20. Jun 2004
155 Beiträge
 
Delphi 5 Standard
 
#20

Re: Dateiverschlüsselungs DLL

  Alt 15. Aug 2005, 21:02
Hi Hagen,
habe mich mal ein wenig umgeschaut. Pseudozufallsalgorithmen gibt es einige... habe mich jedoch noch nicht in einen vertieft.
Vorerst bewegt mich noch die Thematik "Pseudo vor physikalische Erzeugung".
Zitat:
Jo, mich als Quelle. Wie ich oben sagte ist das ausschließlich meine Meinung, stehe aber damit nicht
alleine dar.
Das was du mir gesagt hast, klingt alles sehr einleuchtend und deine Antworten fand ich qualifiziert und sehr ausführlich. Ich würde dennoch gerne andere Quellen über diese Thematik zu rate ziehen (du hast ja auch gesagt, dass du nicht alleine mit dieser Meinung dastehst), um noch mehr darüber zu erfahren und mich nicht allein auf eine Quelle zu stützen - ich hoffe du verstehst das. Ist ja im Sinn von Kryptologie, da sollte man nicht einfach alles so annehmen, sondern mehrere Quellen holen und dann alles selber prüfen.
Im Netz konnte ich bisher keine entsprechenden Bücher, Artikel oder Ausarbeitungen finden. (An den meisten Stellen steht leider nur, man benötige echten Zufall, den man aus physikalischen Prozessen erhält.)
Hast du noch nen Tipp für mich, wo ich nach so etwas schauen kann?
Gruß
Ben
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 07:32 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