FO with Prefix Hashing KEM Generalizations

参考文献:

  1. [Has88] Hastad J. Solving simultaneous modular equations of low degree[J]. siam Journal on Computing, 1988, 17(2): 336-341.
  2. [BBM00] Bellare M, Boldyreva A, Micali S. Public-key encryption in a multi-user setting: Security proofs and improvements[C]//Advances in Cryptology—EUROCRYPT 2000: International Conference on the Theory and Application of Cryptographic Techniques Bruges, Belgium, May 14–18, 2000 Proceedings 19. Springer Berlin Heidelberg, 2000: 259-274.
  3. [CS03] Cramer R, Shoup V. Design and analysis of practical public-key encryption schemes secure against adaptive chosen ciphertext attack[J]. SIAM Journal on Computing, 2003, 33(1): 167-226.
  4. [HHK17] Hofheinz D, Hövelmanns K, Kiltz E. A modular analysis of the Fujisaki-Okamoto transformation[C]//Theory of Cryptography Conference. Cham: Springer International Publishing, 2017: 341-371.
  5. [GHP18] Giacon F, Heuer F, Poettering B. KEM combiners[C]//Public-Key Cryptography–PKC 2018: 21st IACR International Conference on Practice and Theory of Public-Key Cryptography, Rio de Janeiro, Brazil, March 25-29, 2018, Proceedings, Part I 21. Springer International Publishing, 2018: 190-218.
  6. [BDG20] Bellare M, Davis H, Günther F. Separate your domains: NIST PQC KEMs, oracle cloning and read-only indifferentiability[C]//Advances in Cryptology–EUROCRYPT 2020: 39th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Zagreb, Croatia, May 10–14, 2020, Proceedings, Part II 30. Springer International Publishing, 2020: 3-32.
  7. [DHK+21] Duman J, Hövelmanns K, Kiltz E, et al. Faster lattice-based KEMs via a generic Fujisaki-Okamoto transform using prefix hashing[C]//Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security. 2021: 2722-2737.
  8. [PR23] Poettering B, Rastikian S. A study of KEM generalizations[C]//International Conference on Research in Security Standardisation. Cham: Springer Nature Switzerland, 2023: 53-77.
  9. 后量子 KEM 方案:Kyber
  10. FO-like Transformation in QROM

文章目录

  • Multi-user Setting
  • FO with Prefix Hashing
  • KEM Generalizations
    • VKEM
    • KDFEM
    • Key Transport
    • KEM Combiner

Multi-user Setting

通常的,PKE 的安全性定义都是针对 Single-user Setting 来说的:单个用户生成公私钥对,敌手试图区分密文、恢复明文、恢复私钥。然而 [Has88] 给出了 RSA 的一种攻击:三个用户分别生成公私钥对,另一个用户发送相同的消息给他们(不同密文的消息存在关联),敌手利用这些密文所加密的是同一个明文的关系,可以恢复出这个消息。这种场景称为 Multi-user Setting,敌手的攻击能力更强。一种解决办法是在明文后边 padding 一个随机串,从而相同消息被强行设置为了部分随机的消息,这使得 RSA 从确定性加密(仅仅是 OW 的)转化为了随机加密(具备 IND 的性质)。

Single-user Setting 下的 IND 安全性,就是常规的那种 IND-CPA/CCA,

在这里插入图片描述

[BBM00] 给出了 Multi-user Setting 下的 IND 安全性的定义,

在这里插入图片描述

[BBM00] 证明了 IND-CPA/CCA in the Single-user Setting 直接导致了 IND-CPA/CCA in the Multi-user Setting,损失因子正比于用户数量。

在这里插入图片描述

FO with Prefix Hashing

Multi-user Setting 的敌手能力比 Single-user Setting 的能力更强,虽然 [BBM00] 证明了在 Single-user 安全蕴含了 Multi-user 安全。但是为了增加信心,一种通用的设计范式是:域分离(domain separate),使得不同的 User 使用不同的随机函数。例如把公钥也作为 RO 的输入,额外的好处是让最终获得的 shared key 同时依赖双方的随机性。

然而,可以证明域分离确实可以增加数字签名的安全性,但是对于 PKE 人们并没有给出形式化证明。[DHK+21] 证明在 FO 转换中把公钥作为 KDF 的一部分,可以使得在 Multi-user Setting 下从 IND-CCA 到 IND-CPA 的归约更紧

在这里插入图片描述

确切地说,对于 [HHK17] 中的 F O m ⊥̸ FO_m^{\not \perp} FOm 转换,将原始的
r ← G ( m ) , K ← H ( m ) r \gets G(m), K \gets H(m) rG(m),KH(m)
改变为(使用了 [BDG20] 的 output-splitting functor)
( K , r ) ← F ( p k , m ) (K,r) \gets F(pk,m) (K,r)F(pk,m)
另外 [DHK+21] 发现将 pk 完全输入到 RO 中是不必要的。事实上,格密码的基本运算很快,同时公钥的规模却很大,这导致 Hash 的运算占据主导开销。我们只需要将 pk 不可预测的一小部分输入到 Hash 函数中即可。令 I D : p k → { 0 , 1 } 256 ID:pk \to \{0,1\}^{256} ID:pk{0,1}256 是某个简单的变换函数,现在的 KDF 变为了
( K , r ) ← F ( I D ( p k ) , m ) (K,r) \gets F(ID(pk),m) (K,r)F(ID(pk),m)
将这个 FO 变换记为 F O I D ( p k ) , m ⊥̸ FO_{ID(pk),m}^{\not\perp} FOID(pk),m,它采用了 implicit rejection

以及 prefix hashing(将 pk 作为前缀)

对于 Kyber 方案的具体实现,

  1. 公钥是 ( ρ , t ) (\rho,t) (ρ,t),其中 ρ \rho ρ 是生成 A A A 的种子, t t t 是第二分量 b = A s + e b=As+e b=As+e 的 NTT 表示,打包为紧凑的比特串。根据简单的傅里叶分析,噪声 e e e 的频域的前若干个系数基本是均匀分布的,因此可以使用 t t t 的前缀 32 32 32 字节作为 I D ( p k ) ID(pk) ID(pk)。我们不使用种子 ρ \rho ρ,因为有些场景中它可能被复用。
  2. 封装:随机采样 m m m,计算 ( K , r ) ← F ( I D ( p k ) , m ) (K,r) \gets F(ID(pk),m) (K,r)F(ID(pk),m),加密 c ← E n c ( p k , m ; r ) c \gets Enc(pk,m;r) cEnc(pk,m;r),输出 ( K , c ) (K,c) (K,c)
  3. 解封装:解密 m ′ ← D e c ( s k , c ) m' \gets Dec(sk,c) mDec(sk,c),计算 ( K , r ) ← F ( I D ( p k ) , m ′ ) (K,r) \gets F(ID(pk),m') (K,r)F(ID(pk),m),检查 E n c ( p k , m ′ ; r ) Enc(pk,m';r) Enc(pk,m;r) 是否等于 c c c,输出 K K K 或者随机伪密钥 K ′ ← F 1 ( I D ( p k ) , s , c ) K'\gets F_1(ID(pk),s,c) KF1(ID(pk),s,c),这里 F 1 F_1 F1 就是 F F F 的前缀 K K K 的部分。

对于不受侧信道攻击的场景,可以仅当 E n c ( p k , m ′ ; r ) ≠ c Enc(pk,m';r) \neq c Enc(pk,m;r)=c 之后才计算 K ′ K' K,可以加快计算速度,同时它仅在计时攻击下泄露显式拒绝。事实上 [HHK17],在 ROM 下 FO with explicit rejection 也是安全的。不过他们建议最好还是给出常数时间的实现。

在这里插入图片描述

安全归约:

在这里插入图片描述

效率测试:

在这里插入图片描述

KEM Generalizations

[CS03] 提出 KEM+DEM paradigm,它将 PKE 的构造划分为了两个原语,使得灵活性更好。人们关注如何构造 KEM 方案,然后将它转化为其他的原语。

Key Transport:KEM 可以视为只有单方验证的 KT 协议。为了构造主动攻击下安全的 KT 协议,我们可以用 KEM 协商出会话密钥 k k k,然后使用 IND-CCA DEM 传递秘密信息 c = D E M . E n c ( k , k ′ ; r ) c=DEM.Enc(k,k';r) c=DEM.Enc(k,k;r)。这里的 DEM 可以使用 AE 或者 AEAD 来实现。

KEM Combiner:人们可能信任不同的 KEM 方案,[GHP18] 提出了 KEM 组合器,只要其中一个 KEM 是安全的,那么它产生的 KEM 就是安全的。简单地异或 k ← k 1 ⊕ k 2 k \gets k_1 \oplus k_2 kk1k2 对于主动敌手是不安全的,需要使用 PRF,一种是 k ← F ( k 1 , c 2 ) ⊕ F ( k 2 , c 1 ) k \gets F(k_1,c_2) \oplus F(k_2,c_1) kF(k1,c2)F(k2,c1),另一种是 k ← H ( k 1 , k 2 , c 1 , c 2 ) k \gets H(k_1,k_2,c_1,c_2) kH(k1,k2,c1,c2)

然而,他们都需要额外的对称原语。[PR23] 指出这是由于 KEM 的抽象带来的限制。他们给出了 KEM 的适度增强,使得 KEM 可以直接构造出 KT 和 Combiner,而不再需要额外的对称原语。类似于之前的一些工作,[PR23] 使用 Label 和 Tag 去增强 KEM 概念,给出了两种新概念。

原始的 KEM 定义:

在这里插入图片描述

VKEM

首先是 versatile key encapsulation mechanism 概念,

在这里插入图片描述

要求它具有: handle freshness、history matching、key recovery、handle divergence 性质。为了 KEM Combiner 的归约,额外需要 label binding 性质。

[PR23] 给出了一种简单的方式将 KEM 转换为 VKEM:

在这里插入图片描述

KDFEM

其次是 key derivation function encapsulation mechanism 概念,

在这里插入图片描述

它的 KEM 并非封装 key 本身:而是封装一个 KDF,最后用 KDF 生成 key

[PR23] 证明只需对 NIST KEM(Kyber, McEliece, Saber, NTRU)做很小的修改,就能使他们变成 KDFEM

在这里插入图片描述

Key Transport

KT 的定义为:

在这里插入图片描述

基于 KDFEM 构造 KT,采取 encrypt-then-mac approach,其中的 One-time Pad 和 MAC 就直接使用所封装的 KDF,如图:

在这里插入图片描述

KEM Combiner

基于两个 VKEM 的组合器:第一阶段输出的 h d 1 , h d 2 hd_1,hd_2 hd1,hd2 包含了一些信息,将它们交换到第二阶段中,

在这里插入图片描述

基于两个 KDFEM 的组合器:它们分别封装了 f 1 , f 2 f_1,f_2 f1,f2,交叉混合为 k ← f 1 ( h d 2 ) + f 2 ( h d 1 ) k \gets f_1(hd_2)+f_2(hd_1) kf1(hd2)+f2(hd1)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/232750.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023 英特尔On技术创新大会直播 | AI 融合发展之旅

前言 2023 年的英特尔 On 技术创新大会中国站,主要聚焦最新一代增强 AI 能力的计算平台,深度讲解如何支持开放、多架构的软件方案,以赋能人工智能并推动其持续发展。 大会的目标之一是优化系统并赋能开发者,特别注重芯片增强技术…

国产划片机品牌众多,如何选择优质的供应商?

在半导体行业的发展浪潮中,划片机作为关键设备之一,其性能和质量对于生产过程的高效性和产品的质量具有至关重要的影响。近年来,国产划片机的品牌数量不断增多,为半导体行业提供了更多的选择。然而,如何从众多的品牌中…

【Python炫酷系列】一闪一闪亮星星,漫天都是小星星(完整代码)

文章目录 环境需求完整代码详细分析系列文章环境需求 python3.11.4及以上版本PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这个库哦~)【注】 python环境搭建请见:https://want595.…

Python 爬虫之简单的爬虫(四)

爬取动态网页(下) 文章目录 爬取动态网页(下)前言一、大致内容二、基本思路三、代码编写1.引入库2.加载网页数据3.获取并保存4.保存文档 总结 前言 上篇主要讲了如何去爬取数据,这篇来讲一下如何在获取的同时将数据整…

每个开发人员都应该知道的六个生成式 AI 框架和工具

在快速发展的技术环境中,生成式人工智能是一股革命性的力量,它改变了开发人员处理复杂问题和创新的方式。本文深入探讨了生成式 AI 的世界,揭示了对每个开发人员都至关重要的框架和工具。 1. LangChain LangChain 由 Harrison Chase 开发并于…

Ansible自动化运维以及模块使用

ansible的作用: 远程操作主机功能 自动化运维(playbook剧本基于yaml格式书写) ansible是基于python开发的配置管理和应用部署工具。在自动化运维中,现在是异军突起 ansible能够批量配置、部署、管理上千台主机。类似于Xshell的一键输入工具。不需要每…

通过层进行高效学习:探索深度神经网络中的层次稀疏表示

一、介绍 深度学习中的层次稀疏表示是人工智能领域日益重要的研究领域。本文将探讨分层稀疏表示的概念、它们在深度学习中的意义、应用、挑战和未来方向。 最大限度地提高人工智能的效率和性能:深度学习系统中分层稀疏表示的力量。 二、理解层次稀疏表示 分层稀疏表…

JDK各个版本特性讲解-JDK19特性

JDK各个版本特性讲解-JDK19特性 一、JAVA19概述二、新特性介绍1. 记录模式(预览版本)2.Linux/RISC-V 移植3.外部函数和内存 API (预览版)4.虚拟线程(预览版)5.Vector API (第四次孵化)6.Switch 模式匹配(第三预览版&am…

从C代码制作chm开发文档【doxygen + graphviz+winChm】

需要的工具: 1. doxygen 最新版本 2. graphviz 最新版本 3. winChm破解版本 1. 最后制作的效果 2. 生成HTML文档 生成hmtl文档是勾选如下2项,为生成chm准备: 需要选择如下2项: generate HTMLHELP 生…

C语言数据结构-排序

文章目录 1 排序的概念及运用1.1 排序的概念1.2 排序的应用 2 插入排序2.1 直接插入排序2.2 希尔排序2.3 直接排序和希尔排序对比 3 选择排序3.1 堆排序3.2 直接选择排序 4 交换排序4.1 冒泡排序4.2 快速排序4.2.1 挖坑法14.2.2 挖坑法24.2.3 挖坑法3 5 并归排序6 十万级别数据…

深入探索Git的高级技巧与神奇操作(分支,高效合并)

欢迎来到我的博客,代码的世界里,每一行都是一个故事 深入探索Git的高级技巧与神奇操作 前言强制推送的妙用1. 什么是强制推送?2. 为什么需要使用强制推送?3. 强制推送的风险与注意事项4. 如何正确、安全地执行强制推送步骤&#x…

vCenter HA拆分和部署

原创作者:运维工程师 谢晋 vCenter HA拆分和部署 拆分vCenter HA部署vCenter HA 拆分vCenter HA 客户vCenter HA内一台虚拟机出现故障无法连接,报错如下: 点击移除集群报错如下: 查找官方KB,按照官方KB进行移除…

PyCharm关闭项目很慢

我的版本: PyCharm 2023.2.5 (Professional Edition) 问题: 关闭项目的时候显示一直在关闭项目 (单次解决:任务管理器里面杀掉PyCharm) 解决方案: 在PyCharm中按下快捷键 CtrlShiftA。 输入Registry或…

如何同时给每张PPT插入不同的图片?这2种方法可行!

有时候创作PPT,我们需要把几十张图片插入到PowerPoint中,每张图片作为一张幻灯片,如果一张张手动操作,那就未免太花时间了。今天小编来分享2种方法,可以让您快速给每张PPT插入不同图片。 方法一、使用“创建相册” 1.…

第三方软件验收测试对于软件项目验收的重要性

软件公司开发出一款软件产品后需要通过一系列的验收测试才能顺利上市,从而被最终用户使用。验收测试是部署软件之前的最后一个测试操作。在软件产品完成了单元测试、集成测试和系统测试之后,产品发布之前所进行的软件测试活动。由于软件企业会将更多的精…

护肤品类小红书素人达人的推广报价是多少?

小红书是一款集社交和电商于一体的平台,用户可以在上面分享生活点滴、购物心得、旅游攻略等。近年来,随着护肤美妆市场的不断扩大,越来越多的品牌和商家选择在小红书上投放广告,借助素人达人的影响力为产品引流。那么,…

Word的兼容性问题很常见,禁用兼容模式虽步不是最有效的,但可以解决兼容性问题

当你在较新版本的Word应用程序中打开用较旧版本的Word创建的文档时,会出现兼容性问题。错误通常发生在文件名附近(兼容模式)。兼容性模式问题(暂时)禁用Word功能,从而限制使用较新版本Word的用户编辑文档。…

腾讯云debian服务器的连接与初始化

目录 1. 远程连接2. 软件下载3. 设置开机自启动 1. 远程连接 腾讯云给的服务器在安装好系统之后,只需要在防火墙里面添加一个白名单(ip 或者域名)就能访问了。 防火墙添加本机WLAN的IPv4白名单,本地用一个远程工具连接&#xff…

Java第十七章总结

数据库基础 SQL语言 1、select 语句 select 语句用于从数据中检索数据。语法如下: SELECT 搜选字段列表 FROM 数据表名 WHERE 条件表达式 GROUP BY 字段名 HAVING 条件表达式(指定分组的条件) ORDER BY 字段名[ASC|DESC] 2、insert 语句 insert 语句用于向表中插入…

动手学深度学习2 安装环境

pytorch环境安装 1. windows 环境安装2. mac环境安装3. linux环境安装1. 申请云服务器 链接机器--Ubuntu2. 环境配置 4. 不安装环境直接使用colabQA 课程链接: https://www.bilibili.com/video/BV18p4y1h7Dr?p1&vd_sourceeb04c9a33e87ceba9c9a2e5f09752ef8 1.…