Слабка функція хешування для пам'ятних IPv6-адрес


10

Адреси IPv6 у вигляді 862A:7373:3386:BF1F:8D77:D3D2:220F:D7E0набагато складніше запам'ятовувати або навіть переписувати, ніж 4 октети IPv4.

Там уже була спроба пом'якшити це, роблячи IPv6 - адреса як - то більш запам'ятовується.

Чи є навмисно слабка хеш-функція, яку можна змінити, щоб виявити, що фраза, скажімо, "Це порівняно доброякісно і легко помітити, якщо фраза зігнута, щоб її не варто платити", була б хеш-адреса для цільової адреси IPv6? Звичайно, у хеша може бути багато вхідних даних, і потенційно більш запам'ятоване речення, наприклад, ця прикладна фраза, може бути запропонована автоматично.

Я думаю, є дві частини: Спочатку слабкий хеш з хорошим розподілом в обох напрямках. По-друге, це алгоритм вибору пам’ятних фраз із безлічі зіткнень (коротких, що складаються зі слів із визначеної мови, можливо навіть за спрощеною граматикою).

Хоча хеш-функція повинна бути слабкою, я не сумніваюся, що зусилля все ще значні - однак, як тільки ця фраза буде відома, обчислення хеша до цільової адреси відбувається дуже швидко.

EDIT

Я знайшов цю пов'язану ідею, Piphilology , для запам'ятовування деяких цифр π:

Як хочеться випити, звичайно, алкоголік після важких лекцій, що стосуються квантової механіки!


2
Чи потрібно визначати функцію у всьому адресному просторі, чи може бути обрана частина адреси для запам'ятовування? Чи повинна трансформація бути здійсненою людиною на місці? Чи слід випікати надмірність, щоб виявити помилки?
Жил 'ТАК - перестань бути злим'

Бажано весь адресний простір. Для обчислення хеша може знадобитися комп'ютер. Надлишок був би акуратним! (Але хіба в словах людської мови вже не витримано надмірності?)
Джейсон Клебан

1
Чому б просто не використовувати доменне ім’я? IP-адреси не в першу чергу для споживання людиною, і додавання деяких помічників, необхідних для роботи з комп'ютером, не виглядає так гаряче.
vonbrand

Оскільки доменні імена вимагають реєстрації та пошуку. Імена доменів чудово, але ми все ще використовуємо адреси IPv4 для певних речей - чому ще немає такого ж використання, але для IPv6-адрес?
Джейсон Клебан

Чи знаєте ви мнемонічну мажорну систему ? Він відображає приголосні на цифри і додає будь-які голосні для формування слів. Хоча IPv6 перекладає на 40 слів, і важко змусити їх розповісти історію ...
Karolis Juodelė

Відповіді:


2

Візьміть IP-адресу та список слів. Потім перетворіть IP-адресу у перелік слів із списку слів на основі цифр адреси, бази {довжина списку слів}.

Так, наприклад, беручи до списку словника програмного забезпечення та ваш приклад, я отримую: 862A:7373:3386:BF1F:8D77:D3D2:220F:D7E0-> mew hades cup viii 72 grit photo pick raid dey(або, можливо, навпаки, та / або прокладений на іншому кінці).

Зверніть увагу, це не втрачає. Хоча ви можете відносно легко застосувати до цього будь-які збиткові методи. Ви можете просто обрізати IP-адресу або вибрати лише кожен другий біт або щось перед тим, як запустити його через це відображення.


1
Гей, це дуже акуратно!
Джейсон Клебан

-1

Здається, у вас є два випадки використання:

  • Враховуючи фразу, він буде хешувати унікальну адресу IPv6
  • Враховуючи IPv6-адресу, кілька фраз можуть мати хеш-пам’яті (зіткнення входів). Висновок: з огляду на адресу IPv6, загальні кілька запам'ятовуються фраз, які користувач може вибрати.

Я вірю, що вам доведеться тут прокласти власне рішення. Адреси IPv6 досить довгі, що вам, ймовірно, доведеться використовувати функцію типу SHA1, щоб мати змогу охоплювати адресний простір.

Щоб максимально збільшити кількість фраз, що стикаються, ви можете спробувати ігнорувати голосні або сто найпоширеніших слів.


1
SHA1 буде працювати у випадку першого використання, але не у випадку другого використання (ви не можете інвертувати SHA1 за розумну кількість часу; враховуючи 128-бітове значення, ви не можете знайти вхід, який хешить його в будь-якій розумній кількості часу).
DW
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.