郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 以下是对本文关键部分的摘抄翻译,详情请参见原文。

论文未全部翻译

Abstract.

  本文研究了一个新的计算问题,即合数剩余阶问题(Composite Residuosity Class Problem),及其在公钥密码学中的应用。我们提出了一种新的陷阱门(trapdoor)机制,并从这一技术中推导出了三种加密方案:一种陷阱门排列方案和两种同态概率加密方案,其计算结果与RSA相当。我们的密码系统基于通常的模块化算法,在标准模型的适当假设下可以证明其安全性。

1  Background

  然而,我们认为,密码研究已经悄然见证了第三类陷阱门技术的逐步出现:首先在离散对数中被识别为陷阱门,它们实际上是由高剩余度类的常见代数设置产生的。在基于二次剩余的Goldwasser-Micali的方案[9]之后,Benaloh的同态加密函数最初是为电子投票而设计的,并且依赖于素数剩余,它预示了第一次尝试:利用这一理论的纯资源。随后,Naccache和Stern[16],以及Okamoto和Uchiyama[19]分别研究了两种不同的加密方法:中平滑度的剩余和中质数p的剩余,从而显著地扩展了加密率。同时,其他方案,如Vanstone-Zuccherato[28]在椭圆曲线上或Park-Won[20]探索在其他设置中使用高剩余量。

  本文提出了一种新型的陷阱门机构。与素数剩余相比,我们的技术是基于合数剩余,阶数设置为一个难以因子化的数n=pq,其中p和q是两个大素数。容易理解的是,我们相信我们的陷阱门为构想公钥密码系统提供了一个新的密码构建块。

  在第2和第3节中,我们介绍了我们的数论框架,并在此背景下研究了一个新的计算问题(合数剩余阶问题),这是我们的主要假设。在此基础上,我们进一步推导出了三种同态加密方案,包括一种新的陷阱门排列。在适当的难处理性假设下,概率方案在语义上是安全的。我们所有的多项式简化都是简单的,并且是标准模型。

注:

1、欧拉函数Φ(n)的意义是求跟n互素,且小于n的元素的个数;

其中p1,p2,...,pr为互不相同的质数。

2、卡迈克尔函数求得是与n互素且小于n的任意一个数,在计算模n的幂次的时候,等于1的那个最小的幂次。

3、lcm(a,b)表示a,b的最小公倍数;

4、Φ(n2)=Φ(p2q2)=Φ(p2)Φ(q2)=p(p-1)q(q-1)=pq(p-1)(q-1)=nΦ(n);其中n=pq,且p,q为大质数。

2  Deciding Composite Residuosity

  首先简要介绍了合数阶剩余作为高阶剩余的自然实例,并给出了一些基本的相关事实。我们设置的独创性在于使用一个平方数作为模数。如前所述,n=pq是两个大素数的积。

3  Computing Composite Residuosity Classes

4  A New Probabilistic Encryption Scheme

注:

1、gcd(m,n)求的是m与n的最大公约数;

2、Sn = { u < n2 | u = 1 mod n };

3、任意u属于Sn,L(u) = (u-1) / n;

5  A New One-Way Trapdoor Permutation

6  Reaching Almost-Quadratic Decryption Complexity

7  Efficiency and Implementation Aspects

  在本节中,我们简要分析了密码系统所需计算的主要实际方面,并提供了各种提高性能的实现策略。

密钥生成

  必须根据常规方法生成素数因子p和q,以使n尽可能难以分解。 快速变体(方案3)额外需要λ = lcm(p-1, q-1),其中λ是160位素数的倍数,可以通过常用的DSA-素数生成或其他类似技术来管理。 基数g可以在可被n整除的元素中随机选择,但请注意,快速变体将需要特定处理(通常将最大阶的元素提升到幂λ/α)。 通过在最后分别执行mod p2和mod q2以及中国剩余g mod p2和g mod q2的计算,可以使整个产生更容易。

加密

  加密需要基数g的模幂运算。 通过明智地选择g可以显著加速计算。 作为说明性示例,假设所选择的值满足由设置施加的要求g属于B,取g = 2或小数允许一个立即加速因子1/3。 可选地,如果密钥生成过程包括特定调整,则g甚至可以固定为恒定值。 同时,用于对恒定基数进行取幂的预处理技术可以显著降低计算成本,还可以预先计算rn或gnr mod n2

解密

  通过对n-1 mod 2|n|进行预计算,可以以非常低的成本(只有一个乘法模2|n|)计算L(u),其中u属于Sn。常数参数

也可以预先计算一次。

中国剩余解密

  利用中国剩余定理[6]可以有效地降低三种密码系统的解密工作量。要看到这一点,必须使用Lp和Lq函数,定义为

因此,通过分别计算信息mod p和mod q,然后重新组合模块剩余,可以更快地实现解密:

带预计算

其中p-1和q-1必须用快速变量替换。

性能评估

  对于每个|n| = 512,... ,2048,将位大小为|n|的模乘作为一元运算,我们假设模乘的执行时间是操作数大小的二次方,并且模数平方由相同的例行程序计算。中国剩余,以及随机数生成的概率方案,被认为是微不足道的。RSA公共指数等于F4=216+1。在我们的主方案中,参数g被设置为2,在陷阱门排列中也如此。假设其他参数、秘密指数或信息在二进制表示中包含大约相同数量的1和0。

  这些估计纯粹是指示性的,并不是实际执行的结果。我们没有包括潜在的预处理阶段。密码系统中考虑到了中国剩余,即所有密码系统都不包括ElGamal。

8  Properties

  在总结之前,我们想再次强调我们的密码系统的代数特性,特别是方案1和方案3。

随机自约化

  这个性质实际上涉及基础的数论问题CR[n]和Class[n],并且在某种程度上,它们的弱化版本D-PDL[n,g]和PDL[n,g]。本质上,随机自约化问题和最坏情况下一样困难:RSA和离散对数问题都有这一特点。这种类型的问题被认为会产生很好的单向函数的候选者[1]。

加法同态性质

自我致盲

  任何密文都可以公开更改为另一个密文,而不影响明文:

取决于所考虑的密码系统。这种属性在各种加密设置中都有潜在的应用。

9  Further Research

  本文介绍了一个新的数论问题和一种基于合数剩余阶的陷阱门机构。我们基于我们的技术推导出了三种新的密码系统,在充分的不可处理性假设下,所有密码系统都是可靠的。

  虽然我们没有提供任何安全性证明,以抵御选定的密文攻击,但我们相信,至少在随机预言模型中,方案1和方案3可能会有细微的修改,以使它们能够抵御此类攻击。

  另一个研究主题是利用我们系统的同态特性来设计分布式加密协议(多签名、秘密共享、阈值加密等)或其他加密有用的对象。

References

。。。

Public-Key Cryptosystems Based on Composite Degree Residuosity Classes的更多相关文章

  1. Get RSA public key ASN.1 encode from a certificate in DER format

    RSA public key ASN.1 encode is defined in PKCS#1 as follows: RSAPublicKey :: = SEQUENCE  {     modul ...

  2. Domino----The Address Book does not contain a cross certificate capable of validating the public key.

    The Address Book does not contain a cross certificate capable of validating the public key. 地址本不包含交叉 ...

  3. 在iOS中使用OpenSSL的Public Key 进行加密

    这几天一直潜心于iOS开发,刚好把遇到的问题都记录一下.这次遇到的问题就是如果根据得到的Public Key在iOS 客户端对用户名和密码进行加密. Public Key如下: -----BEGIN ...

  4. windows,linux,mac生成ssh public key 和 private key

    https://help.launchpad.net/YourAccount/CreatingAnSSHKeyPair Creating the key How you create your SSH ...

  5. 公钥(Public Key)与私钥(Private Key)

    公钥(Public Key)与私钥(Private Key)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分.公钥通常用于加密会话密钥.验证数字签 ...

  6. gpg --verify之"Can't check signature: No public key"

    自从XcodeGhost之后下载软件之后也会先验证一下md5sum,现在发现后面还有gpg签名,于是也开始学习一下. gpg的文件在centos6.4上是默认安装的,其安装使用可以参照ruanyife ...

  7. .NET导入openssl生成的公钥之BEGIN RSA PUBLIC KEY

    .NET导入openssl生成的公钥之BEGIN RSA PUBLIC KEY 我得到了一个公钥,形式如下 -----BEGIN RSA PUBLIC KEY----- MIGJAoGBAMroxz3 ...

  8. 使用public key来做SSH authentication

    public key authentication(公钥认证)是对通过敲用户名.密码方式登录服务器的一种替代办法.这种方法更加安全更具有适应性,但是更难以配置. 传统的密码认证方式中,你通过证明你你知 ...

  9. Firefox 32 支持 Public Key Pinning 对抗中间人攻击。

    Firefox 32 支持 Public Key Pinning 对抗中间人攻击.8月28日消息,即将发布的Firefox 32将支持Public Key Pinning机制,以防止中间人攻击.Pub ...

随机推荐

  1. laravel 上线部署最佳实践

    nginx  配置 listen 80 default_server; server_name xxxx; index index.php index.html;    优先 index.php ro ...

  2. 无法安装 VMware Tools。尝试访问安装 VMware Tools 所需的图像文件“/usr/lib/vmware/isoimages/linuxPreGlibc25.iso”时出错: 2 (No such file or directory)。请参考产品文档或知识库文章 2129825,了解关于如何获取该客户机操作系统的 VMware Tools 软件包的详细信息。

    无法安装 VMware Tools.尝试访问安装 VMware Tools 所需的图像文件"/usr/lib/vmware/isoimages/linuxPreGlibc25.iso&quo ...

  3. KMP,HASH,Trie,AC自动机

    我做个总结算了下午看了一下AC自动机和学习我的大生物(当然是多谢鑫神了)..完了要崩.. 1 KMP 只要是学过的人都觉得比较简单吧 但是学不会的人就感觉很难了,我是那种顿悟的然后感觉非常简单的人过程 ...

  4. Qt自定义控件之仪表盘3--雷达扫描图

    1.设计思想 雷达扫描图,在影视作品中见到较多,比如飞机雷达.舰艇雷达,有一个扫描线转圈代表雷达一周旋转或一个批次的收发,发现目标就在表盘上标记位置.和汽车仪表盘类似,汽车仪表盘有底盘背景图.同圆.刻 ...

  5. Java代码编写规范(转载)

    编码规范 1 前言为确保系统源程序可读性,从而增强系统可维护性,java编程人员应具有基本类似的编程风格,兹制定下述Java编程规范,以规范系统Java部分编程.系统继承的其它资源中的源程序也应按此规 ...

  6. CNN 小结

    CNN 小结 目录 CNN特征提取过程(卷积核描述的是特征信息, 此特征可能就是原图像中的某些像素, 但是卷积核并不找相似的地方在原始图像的哪里, 所以需要将卷积核不断地滑动, 得到的feature ...

  7. 网易云音乐ncm格式分析以及ncm与mp3格式转换

    目录 NCM格式分析 音频知识简介 两种可能 GitHub项目 格式分析 总体结构 密钥问题 代码分析 main函数 导入模块 dump函数 参考资料 代码完整版 转换工具 ncmdump ncmdu ...

  8. Flink的状态编程和容错机制(四)

    一.状态编程 Flink 内置的很多算子,数据源 source,数据存储 sink 都是有状态的,流中的数据都是 buffer records,会保存一定的元素或者元数据.例如 : ProcessWi ...

  9. CSS 学习第一天

    css的三种引入方式: 1.内嵌:直接在标签中添加style属性 格式:<标签名 style="样式1:样式值1:样式2:样式值2"> 2.内联:在head标签中添加& ...

  10. 2020-05-21:es底层读写原理?倒排索引原理?

    福哥答案2020-05-21: es不熟悉,答案仅供参考:es写数据过程1.客户端选择一个node发送请求过去,这个node就是coordinating node(协调节点)2.coordinatin ...