|
Antwort |
Registriert seit: 25. Feb 2004 Ort: Yspertal (Niederösterreich) 1.014 Beiträge Delphi 7 Personal |
#11
Zitat:
Das oft angesprochene "Verschlüsselungsverfahren" der Zukunft (egal welches gemeint sei) gibt es nicht. Kryptographie ist ein Kampf der Mathematik gegen pure Rechenleistung. Jedes Two-Way-Verfahren KANN irgendwie, irgendwann geknackt werden. 100%ige Sicherheit gibt es also nicht.
Lukas
|
Zitat |
Registriert seit: 28. Jun 2003 Ort: Gelsenkirchen 337 Beiträge Delphi 2005 Personal |
#12
*Ein Seminar zum Thema Kryptographie mitgemacht hab*
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. Wenn du mehr willst kann ich nur folgende Literatur empfehlen: "Codes - Die Kunst der Verschlüsselung" Simon Singh ISBN 3-423-62167-2 Deutscher-Taschenbuch-Verlag IMHO wird da sehr einfach erklärt, wie das ganze Verschlüssel-Zeugs jetzt genau funktioniert. Unter anderem sind auch schöne Beispiele zum selber machen dabei. Kann ich wie gesagt nur empfehlen! |
Zitat |
Registriert seit: 30. Mai 2004 Ort: Zermatt 411 Beiträge Delphi 6 Enterprise |
#13
Ich möchte mall allen hier für die Antworten danken!
Ja der Text sollte auch wieder entschlüsselbar sein. Was ist überhaupt der Unterschied zwischen RC4 und RSA? Eigentlich würde ich mir für eine asymmetrische Verschlüsselung interessieren! Was enthält das DEC von negaH eigentlich genau? Wie heißt eigentlich seine Page? Hat er dort theoretischen Hintergrund der Verschlüsselungsverfahren? Ist das ganze in Deutsch? Danke
Francis Obikwelu
greetz mytar |
Zitat |
(Co-Admin)
Registriert seit: 7. Jul 2003 Ort: Schwabenländle 14.929 Beiträge Turbo Delphi für Win32 |
#14
Im Profil hat er leider keine Website angegeben, evtl hat er keine. (negaH)
Hier findest du auch viel über das Dec: [google]"Hagen Reddmann" DEC[/google] |
Zitat |
Registriert seit: 29. Mai 2002 37.621 Beiträge Delphi 2006 Professional |
#15
Zitat von MiniKeks:
Am besten ist Blowfish,
Zitat:
Blowfish gilt als eine der sichersten verschlüsselungsmethoden weltweit!
Das DEC kann man unteranderem auch hier bei mir bekommen: http://www.luckie-online.de/Delphi/I...en%20Reddmann/
Michael
Ein Teil meines Codes würde euch verunsichern. |
Zitat |
Registriert seit: 25. Jun 2003 Ort: Thüringen 2.950 Beiträge |
#16
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.
Zitat:
Am besten ist Blowfish, da habe ich auch sourcen für. Blowfish gilt als eine der sichersten verschlüsselungsmethoden weltweit!
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.
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.
Zitat:
Das oft angesprochene "Verschlüsselungsverfahren" der Zukunft (egal welches gemeint sei) gibt es nicht.
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.
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.
[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.
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 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!
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.
Zitat:
Asymmetrisch: Ist komlizierter (auch teurer), da ein vertrauenswürdiger Dritter (i.A. ein Server) mitmischt.
Zitat:
Zunächst ist der Verschlüsselungscode (Rijndael usw.) erstmal ziemlich wurscht, alles ab 128-Bit taugt.
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!
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.
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 |
Zitat |
Alienhere
(Gast)
n/a Beiträge |
#17
Danke, Hagen!
Du hast mich dank Deiner Kompetenz zum inkompetenten Idioten gemacht. Was bleibt mir übrig, als Dir zu danken? Nur die Frage, wie man *sicher* verschlüsselt - mit Delphi? Gibt's hier im Forum ein smiley für Sarkasmus? mfg |
Zitat |
Registriert seit: 25. Feb 2004 Ort: Yspertal (Niederösterreich) 1.014 Beiträge Delphi 7 Personal |
#18
Zitat:
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.
EDIT: Ups...war nicht auf dem neuesten Stand: http://science.orf.at/science/news/48729 Du hast Recht, auch Quantenkryptografie ist nicht mehr 100% sicher
Lukas
|
Zitat |
Registriert seit: 25. Jun 2003 Ort: Thüringen 2.950 Beiträge |
#19
@Alienhere:
Zitat:
Du hast mich dank Deiner Kompetenz zum inkompetenten Idioten gemacht.
Zitat:
Was bleibt mir übrig, als Dir zu danken?
Grundsätzlich sollten wir alle die Aussagen anderer Menschen nicht immer so negativ sehen. Meine Absichten sind immer positiv, auch wenn mein Schreibstil manchmal sehr direkt, kurzgefasst und somit beleidigend wirken sollte.
Zitat:
Nur die Frage, wie man *sicher* verschlüsselt - mit Delphi?
2.) man muß mit der Programmiersprache umgehen können, Anfängerfehler sind nicht erlaubt 3.) am besten eine Crypto Library die durch viele andere empfohlen wird, nicht weil ich meine das die "Mehrheitsmeinung" immer die richtige Meinung darstellt, sondern nur weil erst bei der realen Benutzung einer Library durch viele Anwender auch alle Fehler gefunden werden. Ergo, die "Sicherheit" wird erhöht weil man die "Un-sicherheiten" in der Masse am besten beseitigen kann. Konkret: 1.) lade oder kaufe eine Krypto-Library wie: - DCP - DEC - StreamSec II 2.) suche das passsende kryptographsiche Verfahren das deine Ziele ermöglicht aus: - Asymmetrische Verschlüsselungen um symmetrische Schlüssel von A nach B zu übertragen - Asymmetrische Verschlüsselungen um Dokumente zu authentisieren und verifizieren - symmetrische Verschlüsselungen um Daten mit einem eigenen Passwort zu verschlüsseln und wieder zu entschlüsseln - Hash Funktionen um von beliebigen Daten eine kurze "Vergleichsmenge" zu erzeugen. Diese Vergleichsmenge == Hash Digest, stellt sozusagen ein "eindeutiges" Abbild der Ausgangsmenge dar ohne aber auf die Ausgangsmenge Rückschlüsse zu bieten. Jeder der das jetzt gelesen hat und ein bischen Mathematik versteht weis das eine Hash-Funktion ein Paradoxon sein muss. Aber darum geht es nicht in der Kryptographie, es geht nur darum das diese Hash-Funktion mit einer sehr sehr hohen Wahrscheinlichkeit so arbeiten wie oben beschrieben. Klaro, eine Hashfunktion erzeugt einen 128 Bit Hash Digest, mappt also in Wahrheit 2^128 mögliche Kombinationen auf die unendlich große Menge aller möglichen Eingangsdaten. 2^128 Kombinationen aus Unendlich sind wirklich nur eine super super super kleine Menge. D.h. die Wahrscheinlichkeit das eine Hash Funktion nicht so funktioniert wie sie es sollte ist unendlich -2^128 groß. NUR, und das ist das essentielle, die Wahrscheinlichkeit ist +2^128 und das ist für EIN Menschenleben unendlich groß. Man sieht also das in der Kryptographie absichtlich mit Relationen arbeitet. Mathematisch ist keines der heute benutzen Verfahren ansich wirklich sicher, einfach weil deren Seicherheitsschranke mit 128, 256 oder 4096 Bits im Grunde lächerlich sind. Allerdings sind diese Sicherheitsschranke so hoch das es für die heutige Menschheit mit heutiger Technik Jahrhunderte dauern würde um diese Schranken zu überwinden. - Schlüsselgröße für symmeterische Verfahren sollte 128 Bit sein, ich bevorzuge 192 Bits. - wichtig ist nur das die Schlüssel auch diese 128 Bits voll nutzen. Wenn man also Text als Passwörter nimmt dann sollte man schon ca. 512 Bit an Text eingeben, die Entropie verdichten und erhält so ein 128 Bit sicheren Schlüssel. D.h. benutzt man heute ein 10 Zeichen Pass-Wort so ist dessen Sicherheit meistens lächerlich gering mit ca. 20 Bits. - Hashfunktionen sollten 128 bis 256 Bit groß sein. empfohlene Algortihmen: - AES Rijndael als sym. Verschlüsselung - RC4 als Stromverschlüsselung oder für kleine Maschinen, sehr sehr leicht zu portieren. - SHA1 als 160Bit Hash Funktion - ECC = Elliptische Kurven in GF(p) für asymmetrische Verfahren - ECC-GF(p)-DH, Diffie Hellman in ECC zum Schlüselaustausch - ECC-GF(p)-SRP, Secure Remote Password zum Authentifizieren an Servern Gruß Hagen |
Zitat |
Registriert seit: 30. Mai 2004 Ort: Zermatt 411 Beiträge Delphi 6 Enterprise |
#20
Ich hab mich aufgrund deines Vorschlags für RC4 (Stromverschlüsselung) entschieden.
Ich hab bereits deinen Code bezüglich RC4 gefunden. Hast du dazu noch den theoretischen Hintergrung, eine Doku oder ein Skriptum in Deutsch? Ich suche eine gute Erklärung (allerdings nicht zu komplex)! Danke im Vorraus!
Francis Obikwelu
greetz mytar |
Zitat |
Ansicht |
Linear-Darstellung |
Zur Hybrid-Darstellung wechseln |
Zur Baum-Darstellung wechseln |
ForumregelnEs 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
|
|
Nützliche Links |
Heutige Beiträge |
Sitemap |
Suchen |
Code-Library |
Wer ist online |
Alle Foren als gelesen markieren |
Gehe zu... |
LinkBack |
LinkBack URL |
About LinkBacks |