详细内容或原文请订阅后点击阅览
vernamveil:基于函数的加密
密码学通常感觉像是一种古老的黑暗艺术,充满了数学繁重的概念,刚性的钥匙尺寸和严格的协议。但是,如果您可以完全重新考虑“密钥”的想法,该怎么办?如果钥匙不是固定的斑点,而是一个活着的呼吸功能怎么办? vernamveil是一个实验性密码,可以准确探索这个想法。 […]
来源:DatumBox - 机器学习、统计和软件开发博客密码学通常感觉像是一种古老的黑暗艺术,充满了数学繁重的概念,刚性的钥匙尺寸和严格的协议。但是,如果您可以完全重新考虑“密钥”的想法,该怎么办?如果钥匙不是固定的斑点,而是一个活着的呼吸功能怎么办?
功能vernamveil是一个实验性密码,可以准确地探索这个想法。这个名字向吉尔伯特·韦南致敬,吉尔伯特·维南(Gilbert Vernam)是一次性垫子理论背后的思想之一。 Vernamveil用纯Python(因此具有可怕的性能)编写,专为开发人员而设计,对密码学的内部运作感到好奇,提供了一个有趣而教育的空间来建立有关加密的直觉。除标准Python库以外,只有大约200行Python代码(不包括文档和注释)。
vernamveil Gilbert Vernam从一开始就必须注意:我是一名ML科学家,对密码学的内部运作有零了解。我写了这个原型库作为一个有趣的周末项目,以探索域并学习基本概念。结果,vernamveil不打算用于生产或保护现实世界敏感数据。它是一种学习工具,一个实验,而不是安全保证。您可以在GitHub上找到完整的代码。
从一开始就必须注意: github为什么功能而不是键?
传统的对称密码依赖于静态密钥,固定长度的秘密,如果不熟悉或重复,则可以揭示漏洞。 vernamveil而不是使用函数动态生成键流:fx(i,seed,bound) - > int。
fx(i,种子,绑定) - > int
这个简单的更改解锁了几个优点:
fx
潜在的无限流: