Função de hash fraca para endereços IPv6 memoráveis


10

Os endereços IPv6 na forma de 862A:7373:3386:BF1F:8D77:D3D2:220F:D7E0são muito mais difíceis de memorizar ou até transcrever do que os quatro octetos do IPv4.

Não ter sido tentativas para mitigar este, tornando endereços IPv6 de alguma forma mais memorável.

Existe uma função de hash intencionalmente fraca que pode ser revertida para descobrir que a frase, digamos, "Isso é relativamente benigno e fácil de detectar se a frase for dobrada para não valer a pena pagar", seria hash para um endereço IPv6 de destino? O hash teria, é claro, muitas entradas conflitantes para escolher, e uma frase potencialmente mais memorável, como esta frase de exemplo, poderia ser oferecida automaticamente.

Eu acho que existem duas partes: Primeiro, um hash fraco com boa distribuição nas duas direções. O segundo é um algoritmo para selecionar frases memoráveis ​​dentre as muitas colisões (curtas, consistindo de palavras de um idioma especificado, talvez até seguindo uma gramática simplificada).

Embora a função hash precise ser fraca, não duvido que o esforço ainda seja significativo - no entanto, uma vez que a frase é conhecida, o cálculo do hash no endereço de destino é muito rápido.

EDITAR

Encontrei essa ideia relacionada, Piphilology , para memorizar alguns dígitos de π:

Como desejo uma bebida, alcoólatra, é claro, depois das pesadas palestras envolvendo mecânica quântica!


2
A função precisa ser definida em todo o espaço de endereço ou parte do endereço pode ser selecionada para memorização? A transformação precisa ser factível por um humano no local? A redundância deve ser ativada para detectar erros?
Gilles 'SO- stop be evil'

Todo o espaço de endereço é preferido. Pode exigir um computador para calcular o hash. Redundância seria legal! (Mas não palavras da linguagem humana tem uma boa quantidade de redundância cozido em já?)
Jason Kleban

11
Por que não usar apenas o nome de domínio? Os endereços IP não são para consumo humano em primeiro lugar, e adicionar algum assistente de memória que requer computador não parece tão bom.
precisa saber é

Porque nomes de domínio exigem registro e uma pesquisa. Os nomes de domínio são bons, mas ainda usamos endereços IPv4 para certas coisas - por que ainda não existe o mesmo uso, exceto para endereços IPv6?
precisa saber é o seguinte

Você está ciente do sistema principal mnemônico ? Ele mapeia consoantes para dígitos e adiciona vogais para formar palavras. Embora IPv6 se traduziria em cerca de 40 palavras e é difícil para torná-los contar uma história ...
Karolis Juodelė

Respostas:


2

Pegue o endereço IP e uma lista de palavras. Em seguida, transforme o endereço IP em uma lista de palavras da lista de palavras com base nos dígitos do endereço, base {length of wordlist}.

Assim, por exemplo, tomando a lista de palavras do diceware e seu exemplo, recebo: 862A:7373:3386:BF1F:8D77:D3D2:220F:D7E0-> mew hades cup viii 72 grit photo pick raid dey(ou potencialmente o contrário, e / ou preenchido do outro lado).

Observe que isso não tem perdas. Embora você possa aplicar com relativa facilidade quaisquer técnicas com perdas a isso. Você pode apenas truncar o endereço IP ou apenas selecionar cada segundo bit ou algo antes de executá-lo nesse mapeamento.


11
Ei, isso é muito legal!
precisa saber é o seguinte

-1

Parece que você tem dois casos de uso:

  • Dada uma frase, ela será hash para um endereço IPv6 exclusivo
  • Dado um endereço IPv6, várias frases podem ser hash (colidindo entradas). Corolário: dado um endereço IPv6, várias frases memoráveis ​​gerais, que o usuário pode escolher.

Acredito que você precisaria apresentar sua própria solução aqui. Os endereços IPv6 são longos o suficiente para que você provavelmente precise usar uma função como SHA1 para poder cobrir o espaço de endereço.

Para maximizar o número de frases em colisão, tente ignorar vogais ou as cem palavras mais comuns.


11
O SHA1 funcionaria para o primeiro caso de uso, mas não para o segundo (você não pode inverter o SHA1 em uma quantidade razoável de tempo; dado um valor de 128 bits, não é possível encontrar uma entrada que faça hashes em qualquer quantidade razoável de tempo).
DW
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.