ACWC:Worst-Case to Average-Case Decryption Error

参考文献:

  1. [LS19] Lyubashevsky V, Seiler G. NTTRU: Truly Fast NTRU Using NTT[J]. IACR Transactions on Cryptographic Hardware and Embedded Systems, 2019: 180-201.
  2. [DHK+23] Duman J, Hövelmanns K, Kiltz E, et al. A thorough treatment of highly-efficient NTRU instantiations[C]//IACR International Conference on Public-Key Cryptography. Cham: Springer Nature Switzerland, 2023: 65-94.
  3. [KP23] Kim J, Park J H. NTRU+: compact construction of NTRU using simple encoding method[J]. IEEE Transactions on Information Forensics and Security, 2023.
  4. NTRU 加密方案
  5. NTTRU:兼容 NTT 算法
  6. FO-like Transformation in QROM

文章目录

  • Worst-Case to Average-Case Decryption Error
    • ACWC0
    • GOTP
    • ACWC
    • NTRU
  • Semi-generalized One-time Pad
    • SOLP
    • ACWC2
    • FO-Equivalent Transform Without Re-encryption
    • NTRU+

自从 [LS19] 提出了 NTT-friendly NTRU-based KEM,其计算效率终于可以和 MLWE/RLWE-based KEM 相竞争,并且 NTRU 具有更紧凑的密文(但是使用模切换之后并不明显)。但是其 Worst-Case Decryption Error 远远大于 Average-Case Decryption Error,这可能被 decryption-error attacks 所利用,导致私钥信息的泄露。

在这里插入图片描述

多项式环 R q = Z q [ X ] / ( F ( X ) ) R_q=\mathbb Z_q[X]/(F(X)) Rq=Zq[X]/(F(X)),NTRU 的私钥形如 f = p f ′ + 1 f=pf'+1 f=pf+1,公钥形如 h = p g / f h=pg/f h=pg/f,其中 p p p 是明文模数。加密是 c = h r + m ∈ R q c=hr+m \in R_q c=hr+mRq,其中 r ← η r \gets \eta rη 是短的随机多项式, m ∈ R p m \in R_p mRp 是消息。解密是 [ f c ] p ∈ R p [fc]_p \in R_p [fc]pRp,只要满足 ∥ p ( g r + f ′ m ) + m ∥ ∞ < q / 2 \|p(gr+f'm)+m\|_\infty < q/2 p(gr+fm)+m<q/2 即可解密正确。

PKE 最基本的要求是 Average-Case Decryption Error 可忽略。为了抵御 decryption-error attacks,还需要保证 Worst-Case Decryption Error 也是可忽略的。

  • third-round NTRU 中,设置 m , r ← ψ k m,r \gets \psi_k m,rψk 并选取相对较大的 q q q,获得了 perfect correctness error,从而 Worst-Case Decryption Error 也是零。
  • NTTRU 中,使用更小空间中的消息 m ′ ∈ M m' \in M mM 生成 m = H ( m ′ ) ∈ R p m=H(m') \in R_p m=H(m)Rp,然后使用 NTRU 加密 m m m,使用 G ( m ) G(m) G(m) 对消息 m ′ m' m 做一次一密。由于明文空间缩小了,于是随机的 ( s k , p k ) (sk,pk) (sk,pk) 存在某些 m ′ m' m 使得解密失败的概率可忽略。

Worst-Case to Average-Case Decryption Error

[DHK+23] 提出了两种转换方法,它们都将 Average-Case OW-CPA PKE 转换到 Worst-Case OW-CPA PKE,在 ROM 以及 QROM 都工作,安全归约请看论文。

ACWC0

这个方法类似于 [LS19] 或者 [FO99],先将随机数用 PKE 加密,然后再把消息用随机数加密,这两部分组成了最终的密文。

在这里插入图片描述

好处:没有解密失败率的损失,支持任意分布的消息。

坏处:密文携带的一些冗余(比如 256-bit 的协商密钥)。

GOTP

[DHK+23] 定义了 on-time pad 的一般化:

在这里插入图片描述

最简单的 GOTP 就是:设置 X , U , Y = { 0 , 1 } n X,U,Y = \{0,1\}^n X,U,Y={0,1}n,以及 ψ X , ψ Y , ψ U = U ( { 0 , 1 } n ) \psi_X,\psi_Y,\psi_U = \mathcal U(\{0,1\}^n) ψX,ψY,ψU=U({0,1}n),这就是 on-time pad 本身。

ACWC

这个转换把 PKE 的明文空间分为 M = M 1 × M 2 M=M_1 \times M_2 M=M1×M2,对应的分布是 ψ M = ψ M 1 × ψ M 2 \psi_M = \psi_{M_1} \times \psi_{M_2} ψM=ψM1×ψM2。假设消息空间是 M ′ M' M,给定 G O T P : M ′ × U → M 2 GOTP: M' \times U \to M_2 GOTP:M×UM2 以及随机神谕 F : M 1 → U F: M_1 \to U F:M1U。转换过程是:

在这里插入图片描述

好处:密文长度不变。

坏处:解密失败率有损失,消息必须服从 GOTP 所要求的分布

NTRU

基于 R N T R U η RNTRU_{\eta} RNTRUη(KeyGen 中的 ( f , h = p g / f ) (f,h=pg/f) (f,h=pg/f) 实例)和 R L W E η RLWE_{\eta} RLWEη(Enc 中的 ( h , c = h r + m ) (h,c=hr+m) (h,c=hr+m) 实例),

  1. 设置 p = 2 p=2 p=2 以及 η = ψ 2 \eta=\psi_2 η=ψ2,利用 ACWC 把对应的 OW-CPA NTRU 转换成 OW-CPA NTRU-A,然后使用 FO 把它转换成 IND-CCA KEM
  2. 设置 p = 3 p=3 p=3 以及 η = U ( { − 1 , 0 , 1 } ) \eta=\mathcal U(\{-1,0,1\}) η=U({1,0,1}),利用 ACWC 把对应的 OW-CPA NTRU 转换成 OW-CPA NTRU-B,然后使用 FO 把它转换成 IND-CCA KEM
  3. 设置 p = 3 p=3 p=3 以及 ψ 2 m o d ± 3 \psi_2 \bmod^\pm{3} ψ2mod±3,利用 ACWC 把对应的 OW-CPA NTRU 转换成 OW-CPA NTRU-C,然后使用 FO 把它转换成 IND-CCA KEM

Semi-generalized One-time Pad

[KP23] 针对 NTRU 天然具有的 Randomness Recoverability(不需要 f f f,只给定 m m m,则 r = ( c − m ) h − 1 r=(c-m)h^{-1} r=(cm)h1)、Message Recoverability(不需要 f f f,只给定 r r r,则 m = c − h r m=c-hr m=chr)、Injectivity 性质,提出了更简单的 GOLP,并且移除了 FO 中的 Re-encryption 步骤。

在这里插入图片描述

在这里插入图片描述

SOLP

[KP23] 提出了 GOTP 的一种简单变体:

在这里插入图片描述

它只需要保证消息的隐藏性,对于随机性的要求从隐藏性替换为了刚性。

ACWC2

[KP23] 利用 SOTP 给出了新的 ACWC 转换:

在这里插入图片描述

它把 Average-Case OW-CPA PKE 转换到 Worst-Case IND-CPA PKE,在 ROM 和 QROM 都工作,并且比 ACWC 更紧。安全归约请看论文。

FO-Equivalent Transform Without Re-encryption

进一步的,利用 PKE 的 MR 和 RR 性质,可以消除 FO 中的 Re-encryption 步骤,直接比较 RO 产生的加密随机带即可。

在这里插入图片描述

在原始的 FO 转换中,强制敌手的解密查询的输入是 well-formed 密文(用 Enc Orcale 获得),从而不泄露额外的知识。即使 m ′ = m m'=m m=m,对于不同的 r ′ ′ ≠ r r'' \neq r r′′=r,也不能保证 c = E n c ( p k , m ′ ; r ′ ′ ) c=Enc(pk,m';r'') c=Enc(pk,m;r′′),因此 Re-encryption 是不可缺少的。但是因为 NTRU 具有 RR(实际构造中用到)和 MR(归约中用到)性质,那么 ( m ′ , r ′ ) (m',r') (m,r) 都可以从密文中恢复,从而只需测试 r ′ = r ′ ′ r'=r'' r=r′′ 即可。

NTRU+

SOTP 实例化:

在这里插入图片描述

使用 p = 3 p=3 p=3 η = ψ 1 \eta=\psi_1 η=ψ1, 利用 ACWC2 将对应的 OW-CPA NTRU转化为 INC-CPA NTRU+,最后使用 F O ‾ ⊥ \overline{FO}^\perp FO 转化为 IND-CCA KEM

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

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

相关文章

[element-ui]el-form自定义校验-图片上传验证(手动触发部分验证方法)

背景&#xff1a; 在做导入文件功能的时候&#xff0c;需要校验表单&#xff0c;如图所示 店铺字段绑定在表单数据对象上&#xff0c;在点击确定的时候正常按照表单验证规则去校验&#xff0c;就不再赘述。 文件上传是个异步过程&#xff0c;属性值改变后不会去触发验证规则…

智能管理,无忧报修——高校校园报事报修系统小程序全解析

随着数字化、智能化的发展&#xff0c;高校生活也迎来了前所未有的变革。你是否还在为宿舍的水龙头漏水、图书馆的灯光闪烁而烦恼&#xff1f;你是否还在为报修流程繁琐、等待时间长而焦虑&#xff1f;今天&#xff0c;这一切都将成为过去式&#xff01;因为一款震撼高校圈的新…

【QT5】<总览一> QT环境搭建、快捷键及编程规范

文章目录 前言 一、简单介绍QT 二、安装QT Creator 三、第一个QT项目 四、常用快捷键 五、QT中的编程规范 前言 在嵌入式Linux应用层开发时&#xff0c;经常使用QT作为图形化界面显示工具。为学习Linux下的QT编程&#xff0c;在Ubuntu和开发板中搭建QT开发环境&#xff…

TMS320F280049 ECAP模块--应用(2)

例1-上升沿触发 如下图所示&#xff0c;evt1-4设置为上升沿触发&#xff0c;在每个上升沿ctr值依次加载到cap1-4. 例2-上升下降沿触发 每个边沿都可选为事件&#xff0c;每次事件到来&#xff0c;依次把ctr加载到cap1-4。 例3-差异模式下上升沿触发 差异模式下每次事件到来时…

Qt_C++ RFID网络读卡器Socket Udp通讯示例源码

本示例使用的设备&#xff1a; WIFI/TCP/UDP/HTTP协议RFID液显网络读卡器可二次开发语音播报POE-淘宝网 (taobao.com) #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QHostInfo> #include <QNetworkInterface> #include <…

PyQt5串口测试工具

笔者经常会遇到使用上位机进行相关测试的场景&#xff0c;但现成的上位机并不能完全满足自己的需求&#xff0c;或是上位机缺乏使用说明。所以&#xff0c;自己写&#xff1f; 环境说明 pycharm 2023.2.25 python 3.10 anaconda 环境配置 conda create -n envsram ##…

学生信息管理系统C++

设计目的 使学生进一步理解和掌握课堂上所学的面向对象C编程知识&#xff0c;巩固和加深学生对C面向对象课程的基本知识的理解和掌握。掌握C面向对象编程和程序调试的基本技能&#xff0c;学会利用C语言进行基本的软件设计&#xff0c;着重提高运用C面向对象语言解决实际问题的…

Go Modules 使用

文章参考https://blog.csdn.net/wohu1104/article/details/110505489 不使用Go Modules&#xff0c;所有的依赖包都是存放在 GOPATH /pkg下&#xff0c;没有版本控制。如果 package 没有做到完全的向前兼容&#xff0c;会导致多个项目无法运行(包版本需求不同)。 于是推出了g…

秋招突击——第四弹——Java的SSN框架快速入门——Spring(2)

文章目录 前言其他Spring加载properties 容器创建容器获取beanBeanFactory容器总结 注解注解开发对定义bean纯注解开发Bean管理Bean作用范围Bean生命周期 注解开发依赖注入第三方bean管理第三方bean管理第三方bean注入 注解开发总结 Spring整合整合mybatis整合Junit AOPAOP核心…

【C、C++编译工具】CLion工具介绍与安装

一、问题 最近突发奇想想学学最开始接触的语言C&#xff0c;之前大学的时候用的更多的工具还是VC&#xff0c;工作后慢慢接触了CLion&#xff0c;跟pycharm其实差不多&#xff0c;都是集成开发环境&#xff08;IDE&#xff09; 解释&#xff1a;什么是 IDE&#xff1f; 根据计…

2024年5月 | deepin 深度应用商店-应用更新记录

新增应用 序号应用名称deepin 系统版本应用分类应用类型1HitPaw Watermark Removerdeepin V23图形图像wine2PDF to DOCX转换器deepin V23网络应用linux3天工 AIdeepin V20.9效率办公linux4稻壳阅读deepin 20.9 deepin V23效率办公linux5讯飞星火deepin V20.9效率办公linux6文…

扩散模型的技术原理和应用价值

引言 一、扩散模型的基本概念 扩散模型(Diffusion Models)是一种基于概率论的生成模型&#xff0c;最初源自物理学中的扩散过程理论&#xff0c;比如墨水在水中的扩散过程。在机器学习领域&#xff0c;这一概念被创造性地应用于数据生成任务&#xff0c;特别是图像和声音的合成…

Proxmox Backup Server 命名空间使用

作者&#xff1a;田逸&#xff08;formyz&#xff09; Proxmox Backup Server&#xff08;一下统称PBS&#xff09;从2.2版本开始&#xff0c;新增了命名空间这样一个功能。这个功能大大便利了多Proxmox VE集群或者单节点备份&#xff0c;在以前PBS版本中&#xff0c;如果有多个…

HTML旋转照片盒子

效果图 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-Compatible" content…

世界的本质是旋转(9) 利用声波传输mFSK多音调频文本

在上一篇文章中 &#xff0c;主要介绍的是使用专用的业余无线电设备传输调相波形。 对于买不起SDR设备的学生来说&#xff0c;可以使用这篇文章介绍的思路&#xff0c;使用声卡的数据线传输IQ路的基带数据。线路输入的好处&#xff1a; 不经过空气的媒介&#xff0c;波形的本…

江苏省汽车及零部件产业协作配套对接会在苏州举行

5月28日&#xff0c;江苏省汽车及零部件产业协作配套对接会暨“百场万企”大中小企业融通对接活动在苏州举办。本次活动以“深化整零协作&#xff0c;促进大中小企业融通发展”为主题&#xff0c;由江苏省工业和信息化厅、中国中检所属中国汽车工程研究院股份有限公司&#xff…

分享7个手机上堪称神器却鲜为人知的小众宝藏软件

分享7个手机上堪称神器却鲜为人知的小众宝藏软件&#xff0c;保证大家用过就舍不得卸载~ 1.志愿大师 马上就是高考季了&#xff0c;高考完的同学如果不知道该如何选专业&#xff0c;可以用这个软件来分析各个大学和专业设置等信息。 志愿大师是一款专为高考后学生设计的高效辅…

Others - 网友都是些人才,哈哈哈哈

感谢万能的网友们&#xff01; 原本枯燥的知识&#xff0c;在网友生动形象的表达下&#xff0c;也能简单易懂&#xff0c;哈哈哈哈

Prometheus+Altermanager实现钉钉告警

PrometheusAltermanager实现钉钉告警 Prometheus和Altermanager的安装这里就不赘述了&#xff0c;我之前的文章有写到 不记得的小伙伴可以去看看Prometheus和Altermanager的安装使用 直接开始上操作 下载钉钉并打开&#xff0c;先创建一个接收告警信息的钉钉群 添加一个自定…

【Nacos_bugs】java.lang.IllegalStateException: Failed to load ApplicationContext

报错原因 找不到配置文件。 Bug 排查 如果使用 Nacos 管理配置文件&#xff0c;需要检查本地 bootstrap.yml 配置是否出现问题&#xff1a; 检查点&#xff1a; 检查 Nacos 服务的地址有没有配置错误&#xff0c;如上图 ①&#xff0c;格式严格为 IP:端口号" 检查 D…