难忘的IPv6地址的哈希功能很弱


10

862A:7373:3386:BF1F:8D77:D3D2:220F:D7E0与IPv4的4个八位位组相比,形式的IPv6地址更难记甚至抄写。

目前 尝试以减轻这一点,使IPv6地址在某种程度上更令人难忘。

是否存在一个故意弱的散列函数,可以将其反转以发现短语“如果短语被弯曲以使其不值得支付,则这是相对良性且容易发现的”会散列到目标IPv6地址吗?当然,散列将有许多冲突的输入可供选择,并且可能会自动提供一个可能更令人难忘的句子,例如此示例短语。

我猜有两个部分:首先是在两个方向上都具有良好分布的弱哈希。其次是一种算法,用于从许多冲突中选择难忘的短语(简短的单词,由来自特定语言的单词组成,甚至可能遵循简化的语法)。

尽管散列函数需要很弱,但我毫不怀疑这种努力仍然很重要-但是,一旦知道了该短语,对目标地址的散列的计算就会非常快。

编辑

我发现了与之相关的想法文字学,用于记忆π的一些数字:

在涉及量子力学的大量演讲之后,我多么希望自己能喝一杯,当然是酒精!


2
是否必须在整个地址空间上定义功能,还是可以出于记忆的目的选择部分地址?转换是否必须由现场人员完成?是否应该烘焙冗余以检测错误?
吉尔(Gilles)'所以

整个地址空间是首选。它可能需要计算机来计算哈希。冗余将是整洁的!(但难道人类语言单词已经没有大量冗余吗?)
Jason Kleban

1
为什么不仅仅使用域名?IP地址最初并不是供人使用的,添加一些需要计算机的内存助手听起来并不那么热。
vonbrand

因为域名需要注册和查找。域名很好,但是我们仍然将IPv4地址用于某些用途-为什么对于IPv6地址仍然没有相同的用途?
杰森·克莱本

您是否知道助记符主要系统?它将辅音映射到数字并添加任何元音以形成单词。尽管IPv6可以翻译成40多个单词,而且很难说出它们的故事……
KarolisJuodelė2014年

Answers:


2

取得IP地址和单词列表。然后根据地址的数字(基址为{wordlist的长度}),将IP地址转换为wordlist中的单词列表。

因此,例如,以diceware单词表和您的示例为例,我得到: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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.