Fraktale Verschlüsselung
Ich habe gehört, dass man verschlüsseln von Daten unter Verwendung von Zeichnungen des Mandlebrot setzen, und dass diese Verschlüsselung Algorithmus für die Quanten-safe (kann nicht gebrochen werden, mit einem Quanten-computer, im Gegensatz zu vielen üblicherweise verwendeten algorithmen). Ich schaute mich um auf Google nach mehr Informationen aber ich habe nur über einige Gegenstände, die dazu bestimmt für eine nicht-technisches Publikum. Hat jemand irgendwelche Quellen, auf die ich verwenden könnte, um mehr zu erfahren über dieses faszinierende Thema?
- Ist das die gleiche wie "Fraktale Kompression"? Es klingt wie eine andere Sache, aber es ist nicht vollständig klar. en.wikipedia.org/wiki/Fractal_compression
- Irgendwie löst sich mein BS-Detektor. Haben Sie irgendwelche links?
- Zweites Ergebnis für "Fraktale Verschlüsselung" auf Google+: tinyurl.com/fractalencrypt . Es ist vage unhöflich wie eine Anklage, ohne zumindest einen Blick auf die ersten Seite der Google-Ergebnisse (insbesondere angesichts der Tatsache, dass ich explizit verwiesen wird Google in meinem post).
- Es gibt ein paar Patente, die kommen bei der Abfrage von google für "patent-Verschlüsselung" z.B. US-Patent #6782101 haben Sie follow-up auf diese ?
- Klingt wie eine für Schneier ' s Hundehütte.
- tinyurl.com/fractalencrypt - wenn die original-Frage gestellt von BS Sinne Kribbeln, dass link bewegt es zu Defcon 1. Das ist eine der am meisten BS schwere Stücke von text, den ich gesehen habe. Vielleicht gibt es etwas, das legitime dahinter aber basierend auf diesem Artikel habe ich meine Zweifel.
- Das erinnert mich an die perfekte Kompression Regelung. Es komprimieren kann jeder Größe Eingang unten, um ein einzelnes bit. Dekompression wurde out-of-scope, nicht zu schweigen unmöglich ist. Wenn Sie nur die Sorge um die Messung Kompression-Effizienz was ist der big deal? </Sarkasmus/>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist eine Allgemeine Artikel skizziert den Prozess:
http://www.techbriefs.com/content/view/2579/32/
Dies ist mehr in die Tiefe, die Bereitstellung eines Algorithmus und Beispiele:
http://medwelljournals.com/fulltext/ajit/2007/567-575.pdf
(Alternative URL): http://docsdrive.com/pdfs/medwelljournals/ajit/2007/567-575.pdf
Es ist eine Diskussion auf sci.Krypta-Gruppe:
http://groups.google.com/group/sci.crypt/browse_thread/thread/f7ce14c1f6c0df3f/559895f2f267644?hl=en&ie=UTF-8&q=mandelbrot+fractal+encryption+algorithm
Und hier eine Firma in Japan, dass mit Codes und samples (es sieht aus wie das Paket kostet $50):
http://www.summersoftlabs.com/intro.htm
Dies war das Ergebnis von ein paar Minuten stochern, so kann Ihre Laufleistung variieren. Das Thema klingt interessant, obwohl. Auch wenn es nicht unmittelbar praktisch, es ist schön, dass es Forscher denken, verschiedene Ansätze für das problem.
Erste, der Grund, dass die meisten die schreiben-USV über das internet scheinen so stumpf ist, dass Sie alle zu sein scheinen, gezeichnet von einer Handvoll von Patentanmeldungen. Patentanmeldungen für neue Formeln & algorithmen immer dazu neigen, scheinen etwas zu verheimlichen, weil Sie sind. Es ist notorisch schwierig zu Polizei, die nicht lizenzierte Verwendung von solchen Dingen und der Antragsteller versuchen, straddle die Grenze zwischen Patentschutz und Schutz von Betriebsgeheimnissen. Der Punkt hier ist, dass es nicht unbedingt bedeutet, dass es ist alle BS.
Zweitens, alle Fraktal-Zuordnungen, die ich kenne, sind zum Teil oder in ein anderes "lossy", weil die mapings sind nicht unbedingt 1 zu 1. Zwar ist dies ein guter Grund, zu glauben, dass es keine effiziente Weise, um den code knacken, es bedeutet auch, dass alles, was direkt "verschlüsselt", die durch eine verlustbehaftete Fraktale, können nicht entschlüsselt werden, selbst mit dem Schlüssel. Daher ist jede Art von direkten Fraktale Hash nicht umkehrbar ist.
Daher Fratcal Verschlüsselung kann nicht bedeuten, dass die Nachricht selbst ist direkt verschlüsselt mit dem fractal. Sie muss vielmehr bedeuten, dass das fraktal ist als "master-key" zu aktivieren gleichzeitigen Erzeugung von "local" oder "sequential" - Schlüssel wird dann zum verschlüsseln und entschlüsseln der eigentlichen Nachrichten.
Bevor wir weiter gehen, lasst uns die Grundlagen der Verschlüsselung:
Verschlüsselungsalgorithmus Prinzipien
Können sagen, Sie haben eine Reihe von Nachrichten M(j) für j=1 bis N, die Sie wollen in der Lage sein, um sicher zu übertragen, um eine Empfangende Partei. Sie benötigen eine reversible encryption-Funktion E so:
Wo (k) ist ein Verschlüsselungsschlüssel und X(j) ist der entsprechende verschlüsselte Nachricht. Dann wird die Nachricht übertragen wird, zum Empfänger, wer hat eine Ergänzende Funktion E' zu entschlüsseln, die verschlüsselte Nachricht:
Aber AFAIK kann man nicht machen, beide ein E() und E' () - Funktion mithilfe von Fraktalen. Auf der anderen Seite, gibt es einige Funktionen wie XOR, die Ihre eigenen ergänzt:
Aber XOR ist auch eine schwache Verschlüsselung-Funktion und es ist zwar absolut sicher, für eine einzelne Nachricht, wenn wir es verwenden, mehr als einmal mit dem gleichen key (k), wird es sehr einfach zu reverse-engineer (k), so dass XOR unsicher für den single-key-Verschlüsselungssysteme. Dieses Problem kann gelöst werden, indem eine andere Taste jedes mal:
und
Dies löst ein problem, aber führt eine andere, die ist, wie können wir versichern, dass sich sowohl Absender als auch Empfänger den gleichen Schlüssel? Übertragen der Reihe von Tasten ist keine Lösung, denn das führt uns zurück zu dem ursprünglichen problem der sicheren übertragung einer Reihe von Nachrichten.
Stattdessen wollen wir generieren eine Reihe von identischen Schlüssel auf den sender und Empfänger unabhängig voneinander. Aber wir müssen in der Lage sein zu generieren, die eine Reihe von Schlüsseln, die sind kryptografisch sicherer in Ihrem eigenen Recht. Das heißt, auch wenn ein externer Beobachter, der wusste, dass alle vorstehenden Tasten, Sie wären noch nicht in der Lage, vorherzusagen, die nächsten in der Reihe mit beliebiger Genauigkeit. Und da brauchen wir eine ganz andere Reihe von Tasten jedes mal (um Sie unguessable) brauchen wir eigentlich die Key-Serie selbst zu Schlüssel-basiert.
Die Lösung HIERFÜR ist die Verwendung eines Master-Schlüssel MK, und eine andere Verschlüsselung-Funktion H, die zum generieren der spezifischen Schlüssel für jede Nachricht:
und
Dies ist, wo unsere Fraktale kommen, denn wie wir oben sehen können, die H-Funktion nicht benötigen eine Ergänzende Funktion H'. So können wir frei verwenden, ein Fraktal-basierte Funktion mit einem master-Schlüssel zu generieren unsere Reihe von lokalen Schlüsseln.
Beispiel die Umsetzung und Erklärung
Unten ist ein VB.NET Klasse, die diesen Ansatz veranschaulicht, eine naive Implementierung der Fraktale Verschlüsselung:
Einer kompletten Visual Studio-Windows-Projekt und eine Windows exe finden Sie unter http://www.codeplex.com/FractalEncryptDemo
Diese Klasse verwendet die Julia-Menge auf der Grundlage der Quadratische Rekursion Z(i+1) = Z(i)^2 - C in der komplexen Ebene. Der Master-Key generiert und besteht aus 5 zahlen, 4 Double precision Fließkomma-Werte zwischen 0 und 1, und 1 ganze Zahl zwischen 1 und 1.000.000.000. Die ersten beiden double-Werte definieren den real-und Imaginärteil von C in der Gleichung oben. Die zweiten zwei Doppelzimmer definieren Sie die realen und imaginären Teile einer seed-Wert, der verwendet wird zum generieren der Start Z ist.
Diese beiden Werte zugeordnet sind (über modulo-Operationen) in ein kleines Quadrat-Bereich von (0.1, 0.1) auf rund (0.55, 0.55). Dies geschieht, um zu versuchen und sicherzustellen, dass unsere fraktalen Berechnungen nicht überlauf oder Unterlauf (obwohl ich bin nicht sicher, dass dies nicht immer möglich). Endlich, der integer-Wert dient als offset für unsere Sequenz Werte (unser "j" in den Formeln oben).
Nachricht codiert werden vier ascii-Zeichen in einer Zeit. Zuerst wird die Sequenz-Nummer (j) wird Hinzugefügt, um die Sequenz-offset, der verwendet wird, zusammen mit der 4-byte-offset in der Nachricht als eine komplexe Zahl, die multipliziert mit dem komplexen Saatgut-Wert und dann neu zugeordnet, zurück in das aktive Rechteck, um unsere Start Z-Wert. Dann die Julia-Menge der Rekursion Z = Z^2 + C) angewendet wird 16 mal und das Ergebnis ist wieder neu zugeordnet, zurück in das aktive Rechteck.
Dieser Letzte komplexe Wert wird dann multipliziert mit 2^30, die beide von real-und Imaginärteil werden in Ganzzahlen konvertiert und anschließend die unteren 16 bits jedes werden verwendet, um die 32 bits (4 bytes) der lokale Schlüssel. Das ist dann XOR würde gegen die entsprechende Mitteilung 4 bytes beim sender zu verschlüsseln, oder XOR würde gegen den verschlüsselten text an den Empfänger zu entschlüsseln.
Ich habe gehört, diese Vorgehensweise. Aber es ist viel mehr ein Spielzeug als ein real-world-Algorithmus:
Verwenden Sie ein Fenster der Koordinaten der mandelbrot-Menge als ein "pad", xoring Ihre Eingabe oder sowas, und somit die Koordinaten der Fenster (und der Abstand Ihrer Proben) zu Ihrem "Passwort". Wenn Sie eine sehr Tiefe Fenster im set, Sie werden müssen sehr viele Iterationen zu evaluieren, und es ist in der Theorie schwer zu brute-force-dieser.
Watch out für große bands von festen zahlen.. vielleicht eine run-length encoded mandlebrot.
Ich denke, jemand denkt, dies könnte "quantum Beweis", da es iterativ ist, Sie kann nicht zählen, wie viele Iterationen es dauert, bis ein Standort auf dem mandlebrot Zusammenwachsen, ohne tatsächlich zu Durchlaufen. Ich weiß nicht, ob das stimmt oder nicht.
Aber ich glaube nicht, dass es keinen Vorteil, dies zu tun (außer man nennt es "Fraktale"), und es gibt Tonnen von Nachteilen und Möglichkeiten zu schaffen, vulnerablities. Sie wäre viel besser dran mit einem gut studierte " public/private key-Verschlüsselung Algorithmus.
Möchte ich hinzufügen, möchten Sie vielleicht werfen Sie einen Blick auf Multivariate Public Key Crypto-Systems (oft abgekürzt MVKP), ist ein weiteres aktives Gebiet von Interesse in den Bereich der Quanten-computing resistant cryptography.
Nur weil etwas verwiesen wird in Star Trek macht es nicht die beste Wahl 😉
Gibt es nicht ein Verschlüsselungssystem gibt, die "Quanten-computer-Beweis", geschweige denn normale computer-Beweis. Alles, das Sie ändern, ist die Zeit, die es dauert, die Verschlüsselung zu knacken. Es ist noch nicht bewiesen, dass jede Funktion existiert, für die eine solche reverse-algorithmen existieren.
Nur "unbreakable encryption", die wir bisher haben, beruht auf einem quantenmechanischen Modell, und selbst dann haben wir immer noch nicht wirklich, was Sie denken, wenn Sie sehen, Quanten-computer.
Die erste elektronische Quanten-Prozessor wurde erst vor kurzem erstellt.
Gibt es Code-Projekt jetzt mit
C#
zu fordern, zu implementieren Fraktale Verschlüsselung.natürlich in die Kommentare:
Den sichersten Verschlüsselungs - /Entschlüsselungs-Methode, die ich jemals gehört habe, war mein Großvater arbeitete in der US-Airforce Recht nach dem zweiten Weltkrieg. Es ist eine Variante des one-time-pad, bekannt als (SIGSALY).
Vorbereitung
Erste, erkennen die ambient-hintergrund-Strahlung mit einem geiger-Zähler. Verwenden Sie einen Standort, wo es keine großen audio-Abschnitte entweder schweigen oder künstliche Reaktion von einem in der Nähe der Strahlungsquelle. Ich bin mir nicht sicher über die Statistiken, aber es war das äquivalent von der Aufnahme der Kosmischen Mikrowellen-Hintergrundstrahlung. Der daraus resultierende soundtrack ist gleichzeitig aufgezeichnet auf twin-vinyl-Alben (auch die keys) und dann beschriftet. Senden Sie eine Kopie an den Sender, der andere Empfänger. Es braucht nicht viel Zeit oder Aufwand zu produzieren große Mengen von disk-Paare mit völlig zufällig, und somit einzigartige Aufnahmen.
Umsetzung
Wenn es darum geht, Zeit zu übertragen, eine sichere Nachricht, die zwei Stationen zu vereinbaren, die beschriftet Aufnahme zu verwenden. Das Rauschen ist dann wie ein Träger, indem Sie den Sender so, dass Sie den Empfänger erreichen können, die Stille, die von dem Abbrechen der Geräusche, wenn Sie Ihre Kopie des Schlüssels ist synchron mit dem sende-Taste, gleichen Stelle in der Aufnahme-und Wiedergabe-Geschwindigkeit.
Zusammenfassung
Mit diesem Träger eingerichtet wurde, können Sie garantieren, dass kann niemand entziffern der Botschaft, ohne die twin-disk zum verschlüsseln der Nachricht verwendet. Dieser übersetzt die Sicherheit der Nachricht von einem mathematischen zu einem physischen. Solange und sichern Sie sich die Aufzeichnungen und verwenden Sie nur jedes paar nur ein einziges mal, haben Sie perfekte Sicherheit.
Followup
Da die Aufnahme erfolgt in analoger, wirkt es, wie viele Zustände notwendig sein würde, von einem Quantencomputer zu brechen, diese Art von Nachricht?