首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将Crystal Kyber CPA安全算法转换为CCA安全算法?

如何将Crystal Kyber CPA安全算法转换为CCA安全算法?
EN

Cryptography用户
提问于 2023-03-13 07:14:54
回答 1查看 64关注 0票数 1

在Crystal Kyber 规格说明,page no10中,有3种算法,即将CPA安全的Kyber转化为CCA的KYBER.CCAKEM算法。

Q1:如何在KYBER.CCAKEM.Enc & KYBER.CCAKEM.Enc中生成共享密钥K与CPA安全算法相关?

Q2:对于CPA安全算法,共享密钥K是否用作输入参数?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2023-03-13 08:41:59

A1:K是将密钥派生函数应用于与消息和公钥的哈希连接的KYBER.CPAPKE.Enc()函数输出的哈希的结果。这可以在Kyber.CCAKEM.Enc()函数规范的第5行中看到(在这里,c是每4行KYBER.CPAPKE.Enc()的输出)。在KYBER.CCAKEM.Dec()中,返回的K值要么与KYBER.CCAKEM.Enc()中返回的值相同,要么是一个假值,如果c被认为是恶意生成的,则该值将被发布。

A2:不是,但是KYBER.CPAPKE.Enc()的输入r现在是消息和公钥的哈希(参见KYBER.CCAKEM.Enc()的第3和第4行)的输出,而不是任意的值。

这里的问题是,带有错误的(模块)学习方案容易发生解密失败,而对手可以根据这些失败获取有关私有值的信息。特别是,如果一个CCA对手恶意地制造出比KYBER.CPAPKE.Enc()过程所允许的值更大的秘密向量和错误值,那么故障就更有可能发生。KYBER.CCAKEM.Enc()KYBER.CCAKEM.Dec() (藤崎-冈本变换的一个变体)中的进程确保合法地创建随机秘密和错误值,并将其作为解密过程的一部分检查为合法。

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

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

复制
相关文章

相似问题

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