首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >混沌能给密码学带来什么?

混沌能给密码学带来什么?
EN

Cryptography用户
提问于 2021-10-02 04:48:12
回答 4查看 241关注 0票数 2

基于混沌的密码学正面临着许多批评,然而,一些人认为它可以提供许多密码原语,如流密码、块密码、散列函数、公钥密码。

抛开密码学中应用混沌的所有缺陷,混沌不只是一种伪随机发生器,它可以用于流密码(如果可能的话)?

注意:我想知道为什么有些人认为它适用于许多密码原语。

换句话说,在诸如LFSR这样的伪随机源上建立一个完整的密码学分支是否可行?

例如,对于分组密码来说,混沌不只是用于产生随机序列,而随机序列是分离出来的,用于构造我们构建的流密码或分组密码?

有些作者说混沌是适用于prng的,但是它没有提供一个被批准的密码原语。难道提议的密码中的混沌角色不只是一种刺激吗?

EN

回答 4

Cryptography用户

回答已采纳

发布于 2021-10-03 07:52:08

在伪随机源族上建立一个完整的密码学分支是否可行?

In理论,是。如果有一个有效的密码安全伪随机数发生器建立在一个混沌系统,那么这可以作为基础,合理实用的对称密码学,甚至签名。

问题是我们不知道这种事。PRNG是从混沌系统中建立的,具有一个甚至温和可信的安全论证,与现代的CSPRNG 2相比,效率不高(除非我们将“混沌系统”的定义扩展到\mathbb R上通常迭代的连续函数或其离散逼近之外)。

(密码安全的)伪随机数发生器,在它的现代定义中,是一个强大的工具,可以构建所有其他对称密码功能:注册会计师共同国家评估(2)-secure密码,分组密码消息认证码认证加密哈希…下面是一些例子:

  • 通过使用密钥和真正随机的随机IV来给PRNG注入种子,并利用XOR构造带有明文的PRNG输出的密文,可以从(CS)PRNG构造密码。安全性直接遵循PRNG的安全性,这是构造密码的好方法和常用方法,因此它有一个名称:流密码
  • 通过使用分组密码构造圆函数,可以将分组密码作为Feistel密码从PRNG构造。块的键、整数和右半部为PRNG,它的输出值为XOR和左半。

如果PRNG是密码安全的,那么这些构造显然是安全的。但是,除了流密码外,它们在实际中并没有被使用,主要是出于效率的原因。常见的CSPRNG是由块密码或/和散列构造的,而不是相反的。

从PRNG构建公钥密码原语是否可行?

用于签名的Yes 。我们可以通过各种方法,包括SPHINCS,从安全PRNG构建安全哈希,然后从哈希构建安全签名。通过这条路径,任何有效的PRNG都会产生一个可信的签名方案。

对于加密和密钥交换,我怀疑有安全证明甚至令人信服的论据的方法是否为人所知。我不相信通过更直接的路由⁴从连续混沌系统构建非对称加密的尝试。

我们不能要求数学意义上的证明,因为我们没有任何CPRNG的安全性证明。但是,我们不想接受通过预定义的随机性测试(如NIST SP800 800-22rev1a死硬 )作为安全参数的事实。至少应该进行一项实验测试:熟练的人类密码学家在经典计算机的帮助下,不可能知道PRNG的设计,从而区分出具有真实随机性的PRNG输出。我们想把它扩展到这样的不可能性,从PRNG的某个参数(S)的最小值开始,比如状态大小或/和轮数,实际使用的参数(S)设置得很大。

如从ChaCha派生的一个,考虑键和IV为种子,并且全部为零明文。

解密类似于明文和交换的密文,只不过加密使IV成为密文的序言,而解密则从前导提取IV。

一个这样的尝试 (付费墙)使用切比雪夫多项式 T_r的大度r。一个私钥是r,匹配的公钥是T_r(x),对于一些公共固定的随机选择的真实x\in[-1,1]。对于任何整数s>0,它都包含T_r(T_s(x))=T_s(T_r(x))和(忽略了计算方法的问题),它允许Diffie-Hellman密钥交换的模拟,以及ElGamal加密的模拟。当我第一次读到它时,我对无争议的安全性断言以及可行性的某些方面(例如,对于实值的2048位精度,整数rs可以被选择为随机的910位整数,而不是像本文中那样最多133个素数的乘积)感到不信服。更新:密码系统被发现是不安全的,请参阅此文章 (付费墙)。它仍然显示在这个关于公钥密码的一章 (付费墙)在一个更晚的基于混沌的密码学书 (付费墙),并承认不安全。我发现这说明了整个学术领域的状况。这是最好的:大多数的安全主张,提出了相当薄弱的论点,从来没有认真调查和证明错误。

票数 2
EN

Cryptography用户

发布于 2021-10-02 17:24:33

我想知道为什么有些人认为它适用于许多密码原语。

好吧,我不是那种“某些人”,但是我会给你我的观点。

在“雪崩”中,我们喜欢密码系统中的一个好特性;那就是,在整个系统的某个地方,一个小的变化。我希望‘有些人’会注意到这一点,并说“嘿,混乱就是”。

乍一看,这是有一定道理的;然而:

  • 混乱不是实现这一目标的唯一途径。这种“雪崩”效应是(大多数)对称密码系统的一种精心设计的特性。例如,使用AES,状态中任何位置的一位更改都会在两轮之后修改所有16个字节。
  • 目前还不清楚“小变化(通常是到处都是雪崩)”的混沌特性是否真的足够。首先,我们需要确保所有这样的更改都具有这种雪崩性质;我们需要证明在任何地方都没有变化传播的速度不如预期的那么快,而且混沌基础结构(例如对状态的msbit的更改)也会传播那些被混沌基础结构认为很大的变化。
  • 混沌通常用实数来定义;当我们进行密码学时,我们用有限的精度来处理值。目前还不清楚(至少对我来说)从reals到某个有限域的翻译是否一定保留了我们所希望的属性。

最后,这一切都取决于性能。实际上,设计一个安全的对称密码并不那么困难(正如RonRi背心所指出的,几乎所有(非平凡的)东西通常都是安全的);我们还需要相当好的性能。最后一个明显的反对意见是,与传统密码相比,这些基于混沌的密码器在维护安全的同时,是否表现得更具竞争力?

:罗恩在他的观察中并没有说明非平凡性,很明显,有一些圆函数是完全线性的或者没有向右传播的;我见过具有这些特性的业余密码设计,很明显,在这种情况下,1000回合对你没有帮助……

票数 2
EN

Cryptography用户

发布于 2021-10-02 17:32:23

显然混沌行为是必要的,但对密码学来说是不够的。这是密码安全的结果,而不是原因。有些人将因果关系倒置,认为任何表现出混沌行为的事物都适用于密码学。我不知道为什么有些人会犯这个错误,而且这并不是密码学所独有的。

Lorenz对混沌的定义是:“当现在决定未来时,但近似的现在并不大致决定未来”。

对于完全在位上工作的计算机密码系统,我们不存在不精确的测量问题,它导致的极限仅仅是物理混沌系统所具有的“近似存在”。

实际的加密系统确实会显示混沌行为,但它们也具有其他属性。Shannon的混乱与扩散概念从明文和密钥两方面对密文的初始条件产生敏感依赖。它们还确保了转换不是可逆的,一个简单的混沌系统可能做不到这一点。

混沌振荡器在硬件随机数发生器中得到了广泛的应用。它们通常由在不同独立时钟频率下采样的几个环形振荡器组成,从而导致采样值的抖动。这种抖动意味着振荡器的测量只是它们的完全状态的一个近似,因此实际上不可能从当前的测量来确定未来的状态。同样地,有些人使用雪崩二极管噪声,这是其核心的量子力学效应.由于我们永远不可能知道量子系统的完全状态(如果它甚至存在的话),它们也呈现出“近似存在”的性质。

票数 1
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/95383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档