深入分析CRYSTALS - Kyber的侧信道对策
1. CRYSTALS - Kyber背景
Kyber是一种IND - CCA2安全的密钥封装机制(KEM)。为了实现CCA安全,Kyber将Fujisaki - Okamoto(FO)变换的一种变体应用于CPA安全的公钥加密(PKE)方案Kyber.CPAPKE。在通信中,KEM用于通信双方生成对称加密的共享密钥,以建立安全通信通道,而PKE则用于在处理KEM时在参与者之间传输加密数据。
Kyber由一组选定的整数进行参数化,交换的对称密钥的安全强度主要由n决定,n与质数q一起定义了基于格的方案中的环。
以下是Kyber KEM方案的封装算法:
Algorithm 1. KYBER.CCAKEM.Enc(pk): encapsulation [3]
Input: Public key pk
Output: Ciphertext c
Output: Shared key K
1: m ←{0, 1}256
2: m ←H(m)
3: ( ¯K, r) := G(m||H(pk))
4: c := KYBER.CPAPKE.Enc(pk, m, r)
5: K := KDF( ¯K||H(c))
return (c, K)
在封装过程中,随机消息m是唯一与会话相关的未知变量,在封装时作为新的熵加入,必须保持秘密。若攻击者获取m,就能重构封装过程并计算共享密钥K。
在加密过程中,消息m会被送入Decode(·)函数,这个处理过程即消息编码,仅基于消息本身,可能会泄露关于消息m的信息。 <
超级会员免费看
订阅专栏 解锁全文
39

被折叠的 条评论
为什么被折叠?



