Crystals Kyber密码算法解读(一)

本文探讨了公钥密码系统的原理及其相对于对称密码的效率问题,并介绍了CrystalsKyber算法如何利用环LWE问题来实现高效且安全的密钥封装机制。

传统的公钥密码PKE
( G e n , E n c , D e c ) (Gen,Enc,Dec) (Gen,Enc,Dec)
其中 G e n Gen Gen生成的密钥对为 ( p k , s k ) (pk,sk) (pk,sk)
发送方用公钥进行加密 C ← E n c p k ( m ) C\leftarrow Enc_{pk}(m) CEncpk(m)
接收方用自己的私钥进行解密 m : = D e c s k ( c ) m:=Dec_{sk}(c) m:=Decsk(c)

公钥密码的缺点:计算速度慢,效率比对称算法低太多了公钥密码效率低的原因?

在这里插入图片描述

首先这里讨论有关效率的指标有这些:CPU、network bandwidth也就是网络带宽、functionalites功能性
“moral”的原因是因为,首先,如何做到pk不泄露sk的信息,这已经是需要很强数学能力的事情了(attacker不能通过公钥去破解出私钥)
相比对称密码只是简单的打乱比特来说,公钥密码的方法更复杂的多
而且,一些已知的非对称加密系统看起来实现了我们需要的安全,但实际上需要巨大的计算开销。注意到McEliece cryptosystem 和 NTRUEncrypt都实现了高速下的非对称加解密方案(比RSA,椭圆曲线下的El Gamal快多了)。
并没有证据表明非对称加密在计算方面比对称加密更难。
带宽是非对称加密算法中另一个效率指标。这绝对是限制加密算法效率的因素之一。公钥密码算法是公开的,意味着任何人包括攻击者都能使用公钥去加密任意的消息。这意味着如果加密算法是确定的,那么攻击者就可以通过穷举得到匹配的密文。因此一个非对称加密算法还需要包含额外的随机性。
这样的额外的随机性就使得加密数据的大小增加。
例如,RSA使用1024位密钥,最多只能加密117字节的数据元素,从而产生128字节的密文。因此,如果你只用RSA加密一个大文件,那么最终加密的明文会比密文多出%9的信息。对于10GB的消息来说,这就是900M的冗余信息。除此之外,对称加密只会产生固定的开销。在大多数场景下,网络带宽都是比CPU要更稀缺的资源
因此出现了密钥协商的方案。这跟公钥密码非常像。

回归正题

crystal kyber其实就是这样一个用非对称加密的思想去封装密钥并进行密钥协商的算法。主要聚焦的也是在KEM(key encapsulation mechanism)

评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值