Función de hash débil para direcciones IPv6 memorables

10

Las direcciones IPv6 en forma de 862A:7373:3386:BF1F:8D77:D3D2:220F:D7E0son mucho más difíciles de memorizar o incluso transcribir que los 4 octetos de IPv4.

No han habido intentos para mitigar este, por lo que las direcciones IPv6 de alguna manera más fácil de recordar.

¿Existe una función de hashing intencionalmente débil que se podría revertir para encontrar que la frase, por ejemplo, "Esto es relativamente benigno y fácil de detectar si la frase está doblada para que no valga la pena pagar", podría ir en picada a una dirección IPv6 objetivo? El hash, por supuesto, tendría muchas entradas en conflicto para elegir, y una oración potencialmente más memorable, como esta frase de ejemplo, podría ofrecerse automáticamente.

Supongo que hay dos partes: primero un hash débil con buena distribución en ambas direcciones. El segundo es un algoritmo para seleccionar frases memorables entre las muchas colisiones (cortas, que consisten en palabras de un idioma específico, quizás incluso siguiendo una gramática simplificada).

Aunque la función hash debería ser débil, no dudo que el esfuerzo aún sea significativo; sin embargo, una vez que se conoce la frase, el cálculo del hash a la dirección de destino es muy rápido.

EDITAR

Encontré esta idea relacionada, Piphilology , para memorizar algunos dígitos de π:

¡Cómo deseo un trago, alcohólico, por supuesto, después de las pesadas conferencias sobre mecánica cuántica!

Jason Kleban
fuente
2
¿La función tiene que definirse en todo el espacio de direcciones, o puede seleccionarse parte de la dirección para que sea memorable? ¿La transformación tiene que ser factible por un humano en el acto? ¿Se debe hornear redundancia para detectar errores?
Gilles 'SO- deja de ser malvado'
Se prefiere todo el espacio de direcciones. Puede requerir una computadora para calcular el hash. ¡La redundancia sería ordenada! (¿Pero las palabras del lenguaje humano ya no tienen una buena cantidad de redundancia?)
Jason Kleban
1
¿Por qué no solo usar el nombre de dominio? Las direcciones IP no son para consumo humano en primer lugar, y agregar algún asistente de memoria que requiera computadora no suena tan caliente.
vonbrand
Porque los nombres de dominio requieren registro y una búsqueda. Los nombres de dominio están bien, pero aún utilizamos direcciones IPv4 para ciertas cosas. ¿Por qué no existe el mismo uso sino para las direcciones IPv6?
Jason Kleban
¿ Conoces el sistema mnemónico mayor ? Asigna las consonantes a los dígitos y agrega las vocales para formar palabras. Aunque IPv6 se traduciría a unas 40 palabras y es difícil hacer que cuenten una historia ...
Karolis Juodelė

Respuestas:

2

Tome la dirección IP y una lista de palabras. Luego, convierta la dirección IP en una lista de palabras de la lista de palabras basada en los dígitos de la dirección, base {longitud de la lista de palabras}.

Entonces, por ejemplo, tomando la lista de palabras del diceware y su ejemplo, obtengo: 862A:7373:3386:BF1F:8D77:D3D2:220F:D7E0-> mew hades cup viii 72 grit photo pick raid dey(o potencialmente al revés, y / o rellenado en el otro extremo).

Tenga en cuenta que esto no es con pérdida. Aunque puede aplicar con relativa facilidad cualquier técnica de pérdida a esto. Es posible que solo desee truncar la dirección IP, o solo seleccionar cada segundo bit o algo antes de ejecutarlo en esta asignación.

TLW
fuente
1
¡Oye, eso está muy bien!
Jason Kleban
-1

Parece que tienes dos casos de uso:

  • Dada una frase, se convertirá en hash a una dirección IPv6 única
  • Dada una dirección IPv6, varias frases pueden ser hash (entradas de colisión). Corolario: Dada una dirección IPv6, múltiples frases memorables en general, que el usuario puede elegir.

Creo que tendría que presentar su propia solución aquí. Las direcciones IPv6 son lo suficientemente largas como para que probablemente tenga que usar una función como SHA1 para poder cubrir el espacio de direcciones.

Para maximizar el número de frases en colisión, puede intentar ignorar las vocales, o las cien palabras más comunes.

trapecio
fuente
1
SHA1 funcionaría para el primer caso de uso, pero no para el segundo caso de uso (no se puede invertir SHA1 en un período de tiempo razonable; dado un valor de 128 bits, no se puede encontrar una entrada que tenga un valor hash razonable) de tiempo).
DW