Schwache Hashing-Funktion für einprägsame IPv6-Adressen


10

IPv6-Adressen in Form von 862A:7373:3386:BF1F:8D77:D3D2:220F:D7E0sind viel schwerer zu merken oder sogar zu transkribieren als die 4 Oktette von IPv4.

Es hat schon versucht , dies zu mildern, so dass IPv6 - Adressen irgendwie unvergesslich.

Gibt es eine absichtlich schwache Hashing-Funktion, die umgekehrt werden könnte, um festzustellen, dass die Phrase "Dies ist relativ harmlos und leicht zu erkennen, wenn die Phrase so gebogen ist, dass sie sich nicht lohnt" an eine IPv6-Zieladresse hasht? Der Hash hätte natürlich viele kollidierende Eingaben zur Auswahl, und ein möglicherweise einprägsamerer Satz wie dieser Beispielsatz könnte automatisch angeboten werden.

Ich denke, es gibt zwei Teile: Erstens einen schwachen Hash mit guter Verteilung in beide Richtungen. Zweitens handelt es sich um einen Algorithmus zum Auswählen einprägsamer Phrasen aus den vielen Kollisionen (kurz, bestehend aus Wörtern aus einer bestimmten Sprache, möglicherweise sogar nach einer vereinfachten Grammatik).

Obwohl die Hash-Funktion schwach sein müsste, bezweifle ich nicht, dass der Aufwand immer noch erheblich ist. Sobald die Phrase bekannt ist, ist die Berechnung des Hashs zur Zieladresse jedoch sehr schnell.

BEARBEITEN

Ich fand diese verwandte Idee, Piphilology , um einige Ziffern von π auswendig zu lernen:

Wie ich mir nach den schweren Vorlesungen über Quantenmechanik einen Drink wünsche, natürlich Alkoholiker!


2
Muss die Funktion über den gesamten Adressraum definiert werden oder kann ein Teil der Adresse zur Einprägsamkeit ausgewählt werden? Muss die Transformation von einem Menschen vor Ort durchgeführt werden können? Sollte Redundanz gebacken werden, um Fehler zu erkennen?
Gilles 'SO - hör auf böse zu sein'

Der gesamte Adressraum wird bevorzugt. Es kann ein Computer erforderlich sein, um den Hash zu berechnen. Redundanz wäre ordentlich! (Aber haben Wörter in menschlicher Sprache nicht schon
einiges

1
Warum nicht einfach den Domainnamen verwenden? IP-Adressen sind in erster Linie nicht für den menschlichen Gebrauch bestimmt, und das Hinzufügen von Speicherassistenten, die einen Computer erfordern, klingt nicht so heiß.
vonbrand

Weil Domain-Namen eine Registrierung und eine Suche erfordern. Domain-Namen sind in Ordnung, aber wir verwenden immer noch IPv4-Adressen für bestimmte Dinge - warum gibt es nicht immer noch dieselbe Verwendung, außer für IPv6-Adressen?
Jason Kleban

Kennen Sie das mnemonische Hauptsystem ? Es ordnet Konsonanten Ziffern zu und fügt Vokale hinzu, um Wörter zu bilden. Obwohl IPv6 in etwa 40 Wörter übersetzt werden würde und es schwierig ist, sie dazu zu bringen, eine Geschichte zu erzählen ...
Karolis Juodelė

Antworten:


2

Nehmen Sie die IP-Adresse und eine Wortliste. Verwandeln Sie dann die IP-Adresse in eine Liste von Wörtern aus der Wortliste, basierend auf den Ziffern der Adresse, Basis {Länge der Wortliste}.

Wenn ich zum Beispiel die Diceware-Wortliste und Ihr Beispiel nehme, erhalte ich: 862A:7373:3386:BF1F:8D77:D3D2:220F:D7E0-> mew hades cup viii 72 grit photo pick raid dey(oder möglicherweise umgekehrt und / oder am anderen Ende aufgefüllt).

Beachten Sie, dass dies nicht verlustbehaftet ist. Obwohl Sie relativ leicht verlustbehaftete Techniken anwenden können. Möglicherweise möchten Sie nur die IP-Adresse abschneiden oder nur jedes zweite Bit oder etwas auswählen, bevor Sie es durch diese Zuordnung ausführen.


1
Hey das ist ziemlich ordentlich!
Jason Kleban

-1

Es hört sich so an, als hätten Sie zwei Anwendungsfälle:

  • Bei einer bestimmten Phrase wird eine eindeutige IPv6-Adresse verwendet
  • Bei einer gegebenen IPv6-Adresse können mehrere Phrasen gehasht werden (kollidierende Eingaben). Folgerung: Bei gegebener IPv6-Adresse allgemein mehrere einprägsame Sätze, aus denen der Benutzer auswählen kann.

Ich glaube, Sie müssten hier Ihre eigene Lösung entwickeln. IPv6-Adressen sind lang genug, dass Sie wahrscheinlich eine Funktion wie SHA1 verwenden müssen, um den Adressraum abdecken zu können.

Um die Anzahl der kollidierenden Phrasen zu maximieren, können Sie versuchen, Vokale oder die hundert häufigsten Wörter zu ignorieren.


1
SHA1 würde für den ersten Anwendungsfall funktionieren, aber nicht für den zweiten Anwendungsfall (Sie können SHA1 nicht in angemessener Zeit invertieren; bei einem 128-Bit-Wert können Sie keine Eingabe finden, die in angemessener Menge mit ihm hasht von Zeit).
DW
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.