Słaba funkcja haszująca dla niezapomnianych adresów IPv6

10

Adresy IPv6 w postaci 862A:7373:3386:BF1F:8D77:D3D2:220F:D7E0są znacznie trudniejsze do zapamiętania lub nawet transkrypcji niż 4 oktety IPv4.

Tam nie było próby ograniczenia tego, co adresy IPv6 jakoś bardziej niezapomniany.

Czy istnieje celowo słaba funkcja haszująca, którą można odwrócić, aby stwierdzić, że fraza mówi „Jest to względnie łagodne i łatwe do wykrycia, jeśli fraza jest wygięta, aby nie warto płacić” hash na docelowy adres IPv6? Hash miałby oczywiście wiele kolizyjnych danych do wyboru, a potencjalnie bardziej niezapomniane zdanie, takie jak ta przykładowa fraza, mogłoby zostać automatycznie zaoferowane.

Sądzę, że są dwie części: po pierwsze słaby skrót z dobrym rozkładem w obu kierunkach. Drugi to algorytm wybierania niezapomnianych zwrotów spośród wielu kolizji (krótkich, składających się ze słów z określonego języka, być może nawet po uproszczonej gramatyce).

Chociaż funkcja skrótu musiałaby być słaba, nie mam wątpliwości, że wysiłek jest nadal znaczny - jednak po znaniu frazy obliczenie skrótu na adres docelowy jest bardzo szybkie.

EDYTOWAĆ

Znalazłem pokrewny pomysł, Piphilology , do zapamiętywania niektórych cyfr π:

Jakże pragnę drinka, oczywiście alkoholika, po ciężkich wykładach z mechaniki kwantowej!

Jason Kleban
źródło
2
Czy funkcja musi być zdefiniowana w całej przestrzeni adresowej, czy też można wybrać część adresu do zapamiętania? Czy transformacja musi być możliwa do wykonania przez człowieka na miejscu? Czy należy wprowadzić nadmiarowość w celu wykrycia błędów?
Gilles „SO- przestań być zły”
Preferowana jest cała przestrzeń adresowa. Obliczenie wartości skrótu może wymagać komputera. Redundancja byłaby fajna! (Ale czy słowa w ludzkim języku nie mają już wystarczającej nadmiarowości?)
Jason Kleban
1
Dlaczego po prostu nie użyć nazwy domeny? Adresy IP nie są przede wszystkim przeznaczone do spożycia przez ludzi, a dodanie części wymagającej pomocy komputera nie brzmi tak gorąco.
vonbrand
Ponieważ nazwy domen wymagają rejestracji i wyszukiwania. Nazwy domen są w porządku, ale nadal używamy adresów IPv4 do pewnych celów - dlaczego wciąż nie jest to takie samo zastosowanie, jak dla adresów IPv6?
Jason Kleban
Czy znasz mnemoniczny system główny ? Mapuje spółgłoski na cyfry i dodaje samogłoski, aby utworzyć słowa. Chociaż IPv6 tłumaczy na około 40 słów i trudno jest zmusić je do opowiedzenia historii ...
Karolis Juodelė

Odpowiedzi:

2

Weź adres IP i listę słów. Następnie zmień adres IP na listę słów z listy słów na podstawie cyfr adresu, podstawa {długość listy słów}.

Tak więc, na przykład, biorąc listę słów diceware i twój przykład, otrzymuję: 862A:7373:3386:BF1F:8D77:D3D2:220F:D7E0-> mew hades cup viii 72 grit photo pick raid dey(lub potencjalnie na odwrót i / lub wypełniony na drugim końcu).

Zauważ, że to nie jest stratne. Chociaż możesz stosunkowo łatwo zastosować do tego wszelkie techniki stratne. Możesz po prostu skrócić adres IP lub wybrać co drugi bit lub coś przed uruchomieniem go przez to mapowanie.

TLW
źródło
1
Hej, to całkiem miłe!
Jason Kleban
-1

Wygląda na to, że masz dwa przypadki użycia:

  • Dana fraza będzie mieszała się z unikalnym adresem IPv6
  • Biorąc pod uwagę adres IPv6, wiele wyrażeń może go mieszać (kolidujące dane wejściowe). Następstwo: podany adres IPv6 zawiera wiele niezapomnianych zwrotów, z których użytkownik może wybierać.

Uważam, że musiałbyś tutaj wprowadzić własne rozwiązanie. Adresy IPv6 są na tyle długie, że prawdopodobnie musisz użyć funkcji takiej jak SHA1, aby móc pokryć przestrzeń adresową.

Aby zmaksymalizować liczbę kolidujących fraz, możesz spróbować zignorować samogłoski lub sto najczęściej używanych słów.

trapez
źródło
1
SHA1 działałby dla pierwszego przypadku użycia, ale nie dla drugiego przypadku użycia (nie można odwrócić SHA1 w żadnym rozsądnym czasie; biorąc pod uwagę wartość 128-bitową, nie można znaleźć danych wejściowych, które się do niej zgadzają w rozsądnej ilości czasu).
DW