Fungsi hashing lemah untuk alamat IPv6 yang mudah diingat


10

Alamat IPv6 dalam bentuk 862A:7373:3386:BF1F:8D77:D3D2:220F:D7E0jauh lebih sulit untuk dihafal atau bahkan menyalin daripada 4 oktet IPv4.

Ada telah menjadi upaya untuk mengurangi ini, membuat alamat IPv6 entah bagaimana lebih berkesan.

Apakah ada fungsi hashing yang sengaja lemah yang dapat dibalik untuk menemukan bahwa frasa, katakan, "Ini relatif jinak dan mudah dikenali jika frasa bengkok sehingga tidak layak dibayar" akan hash ke alamat IPv6 target? Hash tentu saja akan memiliki banyak input bertabrakan untuk dipilih, dan kalimat yang berpotensi lebih mudah diingat, seperti contoh kalimat ini, dapat ditawarkan secara otomatis.

Saya kira ada dua bagian: Pertama hash lemah dengan distribusi yang baik di kedua arah. Kedua adalah algoritma untuk memilih frasa yang mudah diingat dari banyak tabrakan (pendek, terdiri dari kata-kata dari bahasa tertentu, bahkan mungkin mengikuti tata bahasa yang disederhanakan).

Meskipun fungsi hash harus lemah, saya tidak ragu bahwa usahanya masih signifikan - namun, begitu frasa diketahui, perhitungan hash ke alamat target sangat cepat.

EDIT

Saya menemukan ide terkait ini, Piphilology , untuk menghafal beberapa digit π:

Betapa saya ingin minum, tentu saja, pecandu alkohol, setelah kuliah yang melibatkan mekanika kuantum!


2
Apakah fungsi harus didefinisikan di seluruh ruang alamat, atau dapatkah bagian dari alamat dipilih untuk diingat? Apakah transformasi harus dapat dilakukan oleh manusia di tempat? Haruskah redundansi dipanggang untuk mendeteksi kesalahan?
Gilles 'SANGAT berhenti menjadi jahat'

Seluruh ruang alamat lebih disukai. Ini dapat membutuhkan komputer untuk menghitung hash. Redundansi akan rapi! (Tapi bukankah kata-kata bahasa manusia sudah memiliki cukup banyak redundansi?)
Jason Kleban

1
Mengapa tidak menggunakan nama domain saja? Alamat IP bukan untuk konsumsi manusia di tempat pertama, dan menambahkan beberapa pembantu memori yang membutuhkan komputer tidak terdengar begitu panas.
vonbrand

Karena nama domain memerlukan registrasi dan pencarian. Nama domain baik-baik saja, tetapi kami masih menggunakan alamat IPv4 untuk hal-hal tertentu - mengapa tidak ada penggunaan yang sama tetapi untuk alamat IPv6?
Jason Kleban

Apakah Anda mengetahui sistem utama mnemonic ? Ini memetakan konsonan ke angka dan menambahkan setiap vokal untuk membentuk kata-kata. Meskipun IPv6 akan diterjemahkan ke sekitar 40 kata dan sulit untuk membuat mereka menceritakan sebuah kisah ...
Karolis Juodelė

Jawaban:


2

Ambil alamat IP dan daftar kata. Kemudian ubah alamat IP menjadi daftar kata-kata dari daftar kata berdasarkan digit alamat, pangkalan {panjang daftar kata}.

Jadi, misalnya, mengambil daftar kata diceware dan contoh Anda, saya mendapatkan: 862A:7373:3386:BF1F:8D77:D3D2:220F:D7E0-> mew hades cup viii 72 grit photo pick raid dey(atau berpotensi sebaliknya, dan / atau empuk di ujung lainnya).

Perhatikan ini tidak rugi. Meskipun Anda dapat dengan relatif mudah menerapkan teknik lossy untuk ini. Anda mungkin hanya ingin memotong alamat IP, atau hanya memilih setiap bit atau sesuatu sebelum menjalankannya melalui pemetaan ini.


1
Hei, itu cukup rapi!
Jason Kleban

-1

Sepertinya Anda memiliki dua kasus penggunaan:

  • Diberikan frasa, itu akan hash ke alamat IPv6 unik
  • Diberikan alamat IPv6, beberapa frasa dapat hash untuk itu (colliding input). Konsekuensi: Diberikan alamat IPv6, umum beberapa frasa yang mudah diingat, yang dapat dipilih pengguna.

Saya yakin Anda harus menggulung solusi Anda sendiri di sini. Alamat IPv6 cukup panjang sehingga Anda mungkin harus menggunakan fungsi seperti SHA1 untuk dapat menutupi ruang alamat.

Untuk memaksimalkan jumlah frasa bertabrakan, Anda dapat mencoba mengabaikan vokal, atau ratusan kata yang paling umum.


1
SHA1 akan bekerja untuk kasus penggunaan pertama tetapi tidak untuk kasus penggunaan kedua (Anda tidak dapat membalikkan SHA1 dalam jumlah waktu yang wajar; diberi nilai 128-bit, Anda tidak dapat menemukan input yang hash ke dalam jumlah yang wajar waktu).
DW
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.