Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

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

Re: Verschlüsselungsverfahren, welches?

  Alt 6. Okt 2004, 20:19
Hi Leute,

nach dem Lesen der Vorgängerpostings muß ich nun doch einige Mißverständnisse aus dem Weg räumen.

Das DEC findet man auf allen besseren Delphi Sites für Free- und Shareware, Zb. bei Torry, Delphi Super Page, VCLComponents oder bei den Delphi JEDI Leuten.
DEC selber enthält 4 Arten von symmetrischen Algortihmen:
1.) secure Hash Function == sichere Einwegfunktionen, sie sind keine Verschlüsselungen
2.) sichere Zufallsgeneratoren, sie können die Basis für Verschlüsselungen sein
3.) symmetrische Verschlüsselungen, fast alle heutigen Standardverfahren sind effizient implementiert
4.) Prüfsummen Algortihmen, die meisten basieren auf CRC = Cyclic Redundance Check

Diese Angaben beziehen sich auf DEC Part I Version 3.

Zitat:
Also ein gutes Verschlüsselungsverfahren ist z.b. Rijndael.
Korrekt, AES Rijndael ist der offizielle Testsieger des AES. Das bedeutet Rijndael wurde von echten Experten entwickelt, ist öffentlich, Patentfrei, über 3 Jahre durch Experten analysiert wurden, und hat sich als Sieger gegen viele andere Verfahren durchgesetzt (darunter Verfahren von IBM, Bruce Schneiers TwoFish der Nachfolegr vom Blowfish, usw. usw.).

Zitat:
Am besten ist Blowfish, da habe ich auch sourcen für. Blowfish gilt als eine der sichersten verschlüsselungsmethoden weltweit!
Blowfish wurde von Bruce Schneier entwickelt. Bruce Schneier selber hat den Nachfolger Twofish entwickelt. Twofish stand zur Disposition beim AES Auswahlverfahren das Rijndael gewonnen hat.
Warum entwickelt B.Schneier ein Nachfolger zum Blowfish ?
Warum gewinnt dieser Nachfolger nicht gegen Rijndael ?
Warum wurde eine Schwäche im Blowfish Key-Sheduller entdeckt ?
Warum streiten sich Porgrammier darüber ob Blowfish Litte-oder Big Endianess verwendet ?
B. Schneier ist Amerikaner, AES ist amerikanisch, Rijndael wurde durch Europäer entwickelt !

Zitat:
Ich würde das DEC von Hagen Reddmann bevorzugen, das soll sehr sicher sein.
Danke, aber im Grunde impelementiert DEC nur die bekannten, anerkannten und öffentlich getesteten Algorithmen. Der somit einzigste echte Rückschluß auf die Sicherheit im DEC kann sich nur auf die Qualität der Sourcen ansich beziehen. Im Gegensatz zu anderen Crypto Libraries hat das DEC einen sehr saubere Implementierung und Konzept. Dies erhöht die Sicherheit der Algorithmen indirekt, da nun grundsätzliche Softwarefehler vermieden werden.

Zitat:
es kommt (wie mamphil bereits gesagt hat) drauf an, ob du den Text wieder entschlüsseln musst. Wenn nicht (z.B. bei Passwörtern), so kann ich MD5 empfehlen.
Das wesentliche Prinzip einer Ver-Schlüsselung ist es das es eine entsprechende Ent-Schlüsselung gibt. Wenn mit einer Hash Funktion wie MD5 Daten "verschlüsselt" werden die dann aber nicht mehr "entschlüsselbar" sind, dann kann MD5 keine Verschlüsselung sein. Hash Algortihmen sind das was sie sind "Einwegfunktionen" und KEINE Verschlüsselungen. Ein weiterer Unterschied besteht im Punkt der Datenintegrität. Hash Funktionen sind "verlustbehaftet" es gehen bei der Anwendung der Hash Funktionen wichtige Informationen verloren. Somit kann man garnicht die originalen Informationen mehr herstellen. Dies steht ganz im Gegensatz zu Verschlüsselungen.

Zitat:
Das oft angesprochene "Verschlüsselungsverfahren" der Zukunft (egal welches gemeint sei) gibt es nicht.
Beweise dies bitte mal mathematisch korrekt. Diese Aussage stimmt zwar mathematisch aber nicht technologisch. Man kann sich Verschlüsselungen vorstellen die niemals geknackt werden können, einfach weil deren Komplexität unendlich groß ist. Da der Entschlüsselungsaufwand, sprich das Knacken, aber immer mathematisch komplexer als die eigentliche Verschlüsselung ist, würde das bedeuten das eine unendlich starke Verschlüsselung mit einem Aufwand von Unendlich * X gebrochen werden kann (also mehr als unendlich groß ist). Mathematisch bedeutet dies tatsächlich das jede Verschlüsselung knackbar ist, aber technologisch heist dies das es EINDEUTIG Verschlüsselungen geben muß die mathematisch beweisbar bei gleichem Technlogie- und Wissensstand NIEMALS gebrochen werden können.

Als Beispiel: Es gibt den ultimativen Computer, und nur dieser existiert für die Menschen die verschlüsseln und entschlüsseln. D.h. der technologische Wissenstand ist auf beiden Seiten gleich. Nun wird darauf eine Verschlüsselung programmiert die mathematisch beweisbar so stark ist das sie nicht innerhalb der nächsten 1 Million Jahre durch den gleichen Computer geknackt werden kann. Der Aufwand der Verschlüsselung beträgt dann wenige Millisekunden, der Aufwand des Knackens aber mindestens 1 Million Jahre. Fazit: das Verhältnis der Kräfte wird absichtlich so hoch gewählt das die tatsächliche Sicherheit der Verschlüsselung gewährleistet wird.

Es ist demnach IRRELEVANT ob es aus philosophischer Sicht unknackbare Verschlüselungen gibt, oder ob jede Verschlüsselung knackbar sein wird. Das was zählt ist einzigst und alleine der nötige Aufwand dazu, und ob sich dieser nötige Aufwand mathematisch beweisen lässt.

Zitat:
Kryptographie ist ein Kampf der Mathematik gegen pure Rechenleistung.
Sehr pathetisch, du vermixt aber die Wahrheit und Universalität der Mathmeatik mit reiner Technologie. Die Technologie ist ein Produkt der Anwendung der Mathematik, warum soll dann die Mathematik gegen die Technologie kämpfen, sie ist doch ein Mittel in der Mathematik ??
Nein,
Kryptographie ist die Wissenschaft der Geheimhaltung und des Schutzes von Informationen.
Kryptologie ist die Anti-Wissenschaft der Kryptographie.
Beide Wissenschaften werden durch die Mathematik begründet, beide werden durch Mathematiker ausgeübt, beide benutzen die gleiche Technologieen, beide benutzen Rechenleistung. In den meisten Fällen sind sogar die Matematiker beider Wissenschaften die selben Personen.

Zitat:
Jedes Two-Way-Verfahren KANN irgendwie, irgendwann geknackt werden. 100%ige Sicherheit gibt es also nicht.
siehe oben, ist es wichtig das es 100%'tig sicher ist für die Unendlichkeit ?? Mir reichen 100 Jahre vollkommen aus davon mal abgesehen warum beschränkst du deine Aussage nur auf "Two-Way-Verfahren", was ist mit all den anderen mathematisch bewiesenen Verfahren ?


[quote]
Von DES kann ich nur abraten, die Schlüssellänge (56 Bit) ist im Vergleich zu anderen Verfahren kurz. Wenn schon, dann verwende Triple-DES (3DES).
[\quote]

Dito, DES egal welche Variante sollte man nicht mehr benutzen, besonders im Hinblick darauf das es DES-Breaking-Maschinen gibt.

Zitat:
Xor ist AFAIK ein relativ unsicheres Verfahren und deshalb wird davon normalerweise abgeraten.
XOR ?? Du meinst die Exklusive Oder Operation ? Da bei dieser Operation mit jedem beliebigen Operanden die Wahrscheinlichkeit das sich ein Bit ändert oder nicht exakt 50% ist, ist die XOR Operation mathematisch gesehen eine der wohl besten Verschlüseelungsoperationen die es gibt, also absolut sicher.

Das Problem beim XOR und jeder anderen Operation ist nicht die Operation selber sondern die Daten mit denen ge'XOR't wird. Denn die meisten Verfahren benutzen als Schlüsselstrom der mit der Nachricht XOR'ed wird eben Algorithmen die unsicher sind. Zb. eben Random() aus der RTL von Delphi. Nicht XOR ist unsicher sondern der Algortihmus der die Daten erzeugt die als Schlüssel dienen.

Zitat:
Und wieder mal die obligatirische Antwort:
Wenn man einen eine Bitfolge mit einer ZUFÄLLIG ()erzeugten genauso langen Bitfolge ver-XORt, dann ist das sozusagen unknackber
Das ist der One Time Pad. Erzeuge absoluten Zufall der so groß ist wie die Nachricht. XOR'e diesen Schlüssel mit der Nachricht und schon hast du verschlüsselt. Benutze niemals den gleichen Schlüssel zweimal !
Es gibt da aber mehrere Probleme:

1.) echter Zufall kann nicht komprimiert werden, das betrifft den Schlüssel, und wie soll der geschützt und sicher verwaltet werden ? OTP ist unpraktikabel.
2.) woher "echten" Zufall nehmen ? und was ist echter Zufall überhaupt ? Zufall gibt es nicht, alles könnte mit der absoluten Maschine vorhergesagt werden. Das was man heutzutage noch als "echten" Zufall betrachtet kann morgen durch mehr Wissen berechenbar sein. Falls das aber wahr ist, dann kann man auch eine OTP Verschlüsselung irgendwan einmal knacken, weil man zu diesem Zeitpunkt dann den damals benutzen "echten" Zufall nun reproduziren kann. Somit basiert die Sicherheit der OTP Verschlüsselung einzigst und alleine auf eine ANNAHME das der benutzte Zufall niemals reproduzierbar sein wird. Die Grundlage der OTP Verschlüsselung ist also in keinem Falle tatsächlich mathematisch beweisbar sicher. Jede normale Verschlüsselung, sogar DES ist bei weitem sicherer, da man dort jede Operation, jedes Bit mathematisch vorhersagen und beweisen kann. Man weis also, und unterstellt nicht, das diese Verfahren so und so sicher sein müssen.

Alle diese Aussagen zeigen das es mühselig ist zu fragen ob man was knacken kann oder nicht.
Die korrekte Frage muß lauten: Welchen Aufwand muß man treiben um eine spezifische Verschlüsselung definitiv knacken zu können, und lässt sich diese Abschätzung mathematisch beweisen.

Somit gilt:
- eine Verschlüsselung ohne mathematischen Beweis ihrer Sicherheitsschranken ist absolut unsicher und kann nichts taugen
- gibt es keinen mathematischen Beweis weil das Verfahren geheim ist, so muß das Verfahren unsicher sein, ergo nur öffentlich verfügbare und analysierte Verfahren können wenn überhaupt als sicher gelten.
- ist das Verfahren öffentlich so kann zu jeder Zeit die Komplexität des Verfahren durch Anpassung der Schlüsselgrößen dem technologischen Trend angepasst werden. D.h. wurde einmal das Verfahren als mathematisch sicher bewiesen so gilt dies für jeden, sogar für Ausserirdische und dann für alle Ewigkeit. Das einzigste was dann noch angepasst werden muß ist die Komplexität, sprich die Schlüsselgrößen.
- Einzigste Ausnahme von dieser Regel ist der Fall wenn Mathematiker neue Algorithmen entwickeln die das Problem auf dem die Verschlüsselung beruht lösen. Aus diesem Grunde ist es gesellschaftlich enorm wichtig das Wissen öffentlich und für die Allgemeinheit nutzbar zu machen.
- ergo. eine Verschlüsselung die mathematisch beweisbar sicher ist, kann nur dann mathematisch beweisbar sicher sein, wenn man sich absolut sicher sein kann das keiner noch besseres Wissen besitzt als man selber. Da wir in einer Gesellschaft leben die die Geheimhaltung von Wissen als Machtinstrument ansieht, müssen wir immer annehmen das es Menschen gibt die das Wissen besitzen, wie man eine angeblich sichere Verschlüsselung brechen kann, besitzen. Ergo: so lange das so ist wird es nie eine sichere Verschlüsselung geben können.


Zitat:
QUANTENKRYPTOGRAFIE!
Kurz, wirklich nur 2-3 Monate, nachdem die Quantenkryptographie als absolut unknackbare Revolution gefeiert wurde, wurde sie schon zu 30% geknackt ! Es ist also schon jetzt bewiesen das man Informationen während der Datenübertragung mit Quantenkryptographie extrahieren kann. Somit fällt das ganze "absolut sicher" Gedankenbäude in sich zusammen.

Gleiches gilt für Quantencomputer, die jedes Problem in einem Taktzyklus, augenblicklich lösen können. Denn das ist pure Philosophie und es stellt sich das Problem das die Umformulierung der praktischen Aufgabe, durch den Menschen, so das ein Quantencomputer das Problem abarbeiten kann, unendlich große Komplexität besitzt. Also selbst wenn es einen Quantencomputer gäbe so hat der Bediener das Problem wie er die Aufgabe dem Rechner stellen muß.

Zitat:
Symmetrisch: Nur Du und der Empfänger Deiner Daten kennen das Passwort.
Und wenn nun 10 Menschen den Schlüssel kennen, oder jeder ?

Zitat:
Asymmetrisch: Ist komlizierter (auch teurer), da ein vertrauenswürdiger Dritter (i.A. ein Server) mitmischt.
Was hat ein Trust mit Asymmetricher Verschlüsselung zu tun ? Nichts, ich könnte auch meiner Freundin als "TrustCenter" meine PIN Nummer der Kreditkarte geben. In diesem Moment kennt sie meinen Schlüssel, ich vertraue ihr denn sie kann dieses Vertrauen als einzigste brechen. Die PINs der Kreditkarten sind eindeutig symmetrische Verschlüsselungen oder Hash Funktionen, aber garantiert nicht asymmetrisch.

Zitat:
Zunächst ist der Verschlüsselungscode (Rijndael usw.) erstmal ziemlich wurscht, alles ab 128-Bit taugt.
Nicht wurscht, denn 128 Bit , 10000000 Bit oder nur 10 Bit, machen eine Verschlüsselung mit dem Passwort "Hagen" nicht sicherer. Das Einzigste was eine Verschlüsselung erstmal sicher macht ist das Passwort und dessen Komplexität. Ist dieses Passwort zu einfach nützten auch 128Bit nichts. Klar, wenn man nun ein sicheres Passwort hat und will damit verschlüsseln, so sollte dann das Verfahren ebenfalls sicher sein. AES Rijndael ist sicherlich eine sehr moderne und kluge Wahl.

Zitat:
Falls der Sourcecode des Verschlüsselungscodes von US-Servern kommt, sieht die Sache aber etwas anders aus, da sichere Verschlüsselungscodes gegen die nationalen Interessen der USA verstoßen!
Wie kommst du darauf ? Der CSP im MS Windows unterstützt RC4, RSA, AES Rijndael, 3DES, und das alles mit Schlüssellängen bis zu 4096 Bit. Wenn deine Aussage heute noch zuträfe dann würde Microsoft definitiv gegen die Ausführbestimmungen der USA verstoßen.

Fest steht das die Politik der USA in diesen Punkten sehr hegemonistisch ist, aber das trifft ja fast auf die ganze Außenpolitik der USA zu. Das die Exportbestimmungen gelockert wurden lag dann schlußendlich daran das der Rest der Welt in Sachen Kryptrographie den Amis immer weiter davon brauste. Sprich, der Verlust von Profit in diesem Bereich der Wirtschaft hat Druck auf die Politik der USA ausgeübt.


Symmetische Verschlüsselung sind Verschlüsselungen bei denen für die Ver-und Entschlüsselungen das gleiche Passwort benutzt wird. Mit dem Passwort mitdem verschlüsselt wurde muß man auch entschlüsseln.

Alle anderen Verschlüsselungen sind asymmetrisch, logisch.

Jede elektronische Verschlüsselung ist technologisch gesehen gleich-aufwendig. Somit ist asymmetische Verschlüsselung nicht zwangsläufig teuerer. Man benötigt kompliziertere Software Bibliotheken bei denen die Programmierer ungleich mehr an fundiertem Wissen benötigen. Das kann sie teuerer machen.

Gegen asymmetrische Verschlüsselungen gibt es ungleich viel mehr Angriffe als gegen symmetrische Verschlüsselung, ergo. asymmetrische Verschlüsselungen sind von Hause aus defiziler und somit schwächer. Die Fehlerquoten durch unwissende Anwender sind wesentlich größer.

Zitat:
Zum Programmieren sollte RSA nicht sonderlich schwierig sein. Es ist soweit ich weis solange sicher, solange das Produkt aus zwei maßgeblichen, am Anfang gewählten Primzahlen so hoch ist, dass die Rechner erst mal schwitzen, um das Produkt wieder in die Primzahlen aufzubröseln.
Es ist auch nur dann, und ausschließlich nur dann, sicher wenn man sicher stellen kann das die benutzen Primzahlen des Schlüssels nicht von spezieller Form sind. Da aber gerade diese Primzahlen die Sicherheit ausmachen, und deshalb fast immer gelöscht werden nach der Schlüsselerzeugung, muß man immer davon ausgehen das ein RSA Schlüssel der nicht durch dich persönlich auf deinem Rechner mit deiner selbstgeschriebenen Software erzeugt wurde unsicher ist. Das halte ich im Gegensatz zu den vielen anderen Verfahren für ein sehr starke Argument gegen RSA. Technologisch dürfte man also keinem RSA Schlüssel trauen der durch Dritte erzeugt wurde, sei es ein TrustCenter wie VeriSign,cryptographsicher Hardware wie den Fritz Chip oder einfach dem MS Crypto-API dessen Sourcen nicht öffentlich sind. Dieses Manko haben andere asymmetrische Verfahren nicht.
Hier im Forum habe ich mal DEC Part II veröffentlich das einen von mir entwickelten "forged" RSA als Source enthält. Diese RSA Implementierung beweist an Hand einer praktischen Implementierung das man niemals RSA mit nicht selber produzierten Schlüsseln trauen darf. Das Faszinierende an dieser Sache ist das das benutze mathematische Problem das RSA erst ermöglicht dafür benutzt wurde um sicherzustellen das man diese "forged" RSA Schlüssel nicht entdecken kann. Soll heisen: dhat man einen solchen "Hintertür" RSA Schlüssel vor sich liegen so stellt das RSA Problem selber sicher das man diese Eigenschaft nicht entdecken kann. Es ist sogar so das es mathematisch beweisbar ist das der Aufwand um einen solchen Hintertürschlüssel zu entdecken ungeich höher ist als einen RSA Schlüssel zu knacken !! Gefährlich ist dabei der Fakt das ich persönlich nur ein Patent kenne das von sich behauptet einen ähnlichen RSA Algorithmus zu kennen, diesen aber nicht veröffentlicht. Soll heisen, das was ich als dummer Laie "erfinden" kann wurde schon längst durch Experten in Software, Krypto Hardware und TrustCenter implementiert.

Gruß Hagen
  Mit Zitat antworten Zitat