ACWC:Worst-Case to Average-Case Decryption Error

2024-06-04 01:20

本文主要是介绍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

这篇关于ACWC:Worst-Case to Average-Case Decryption Error的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1028660

相关文章

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

编译linux内核出现 arm-eabi-gcc: error: : No such file or directory

external/e2fsprogs/lib/ext2fs/tdb.c:673:29: warning: comparison between : In function 'max2165_set_params': -。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。 。。。。。。。。 host asm: libdvm <= dalvik/vm/mterp/out/Inte

收藏:解决 pip install 出现 error: subprocess-exited-with-error 错误的方法

在使用 pip 安装 Python 包时,有时候会遇到 error: subprocess-exited-with-error 错误。这种错误通常是由于 setuptools 版本问题引起的。本文将介绍如何解决这一问题 当你使用 pip install 安装某个 Python 包时,如果 setuptools 版本过高或过低,可能会导致安装过程出错,并出现类似以下错误信息:error: subpr

Nn criterions don’t compute the gradient w.r.t. targets error「pytorch」 (debug笔记)

Nn criterions don’t compute the gradient w.r.t. targets error「pytorch」 ##一、 缘由及解决方法 把这个pytorch-ddpg|github搬到jupyter notebook上运行时,出现错误Nn criterions don’t compute the gradient w.r.t. targets error。注:我用

src/pyaudio/device_api.c:9:10: fatal error: portaudio.h: 没有那个文件或目录

(venv) shgbitai@shgbitai-C9X299-PGF:~/pythonworkspace/ai-accompany$ pip install pyaudio sounddeviceCollecting pyaudioDownloading PyAudio-0.2.14.tar.gz (47 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

ERROR 2003 (HY000): Can't connect to MySQL server on (10061)

在linux系统上装了一个mysql-5.5,启动后本机都是可以访问的,操作都正常,同时建了一个%的用户(支持远程访问), root@debian:/# mysql -u loongson -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id

pip install pyaudio sounddevice error: externally-managed-environment

shgbitai@shgbitai-C9X299-PGF:~/pythonworkspace/ai-accompany$ pip install pyaudio sounddeviceerror: externally-managed-environment× This environment is externally managed╰─> To install Python package

C++常见异常汇总(三): fatal error: google/protobuf/port_def.inc

文章目录 1、fatal error : sw/redis++/redis.h2、fatal error: dwarf.h: No such file or directory3、fatal error: elfutils/libdw.h: No such file or directory4、fatal error: libunwind.h: No such file or directo

error while loading shared libraries: libnuma.so.1: cannot open shared object file:

腾讯云CentOS,安装Mysql时: 1.yum remove libnuma.so.1 2.yum install numactl.x86_64

【NodeJS】Error: Cannot find module 'ms'

转载自:http://blog.csdn.net/echo_ae/article/details/75097004 问题: Error: Cannot find module 'ms'at Function.Module._resolveFilename (module.js:469:15)at Function.Module._load (module.js:417:25)at Module