关于使用RSA作为秘密密钥加密系统
摘要:
使用对称和公钥密码体制的一个根本区别在于前者需要发送方和接收方之间的信任。通常他们会共享密钥,对方也没有任何密钥保护。然而,许多用户现在发现他们希望将密钥用于“唯一一个目的”并且依靠硬件功能来引入用于对称的单向键的概念算法。(例如,硬件功能可能确保密钥用于加密信息从用户A到用户B不能用于加密相反方向的消息。) 对于公钥系统
单向键的概念自动得到满足。 然而,当加密密钥公开时,
这个密钥的曝光意味着解密密钥只有在钥匙足够大的时候才能保证安全。另一方面,如果两个密钥保密,则可能使用较小的密钥。 在这个
我们研究了在对称密钥“设置”中使用RSA公钥密码体制的原函数的方法,
即两个密钥都不公开。
- 简介
公共密钥密码系统由W. Diffie和M. Hellman在[3]中引用(见[5]),
今天已经很成熟。 公钥和对称密钥密码系统的设计原则
一般都很不一样。 前者广泛地基于
除非
一些(秘密)信息是可用的,
单向陷门函数以及反向推测假定这些函数是十分困难的
这一概念,而对称密钥密码系统是基于的
C.香农在[17]中定义的扩散和混乱的想法,经常有
基于[6]([9],[8]和[11])中H. Feistel工作的Feistel结构。
公钥和对称密钥密码系统的设计原则是如此不同
意味着用于构建各个系统的加密原函数不是
有很多功能共同点。公共和对称密钥密码系统有所不同,即算法在定义中使用不同的函数[11]。 这一般不是一个
问题 - 计算机上的两个独立区域,可以分开独立的同时处理公钥和对称密钥密码系统。可能有些情况
当这是不可能的或至少是困难的。 有很多应用的例子,
今天的实际应用和实现是智能卡。 尽管技术进步
设计作为其多功能性和实际使用的结果,智能卡仍然
受到小计算领域,处理能力低下和内存限制的困扰。
因为这些或那些其他原因,调查减少在智能卡上使用公共和对称密钥密码系统所需的专用架构的数量的可能性,就是十分重要了
。 这样做的一个方法是为了利用定义中的相同的加密函数得到不同的密码系统。本文做这个研究方法,目的不是定义新的密码系统不是,而是探索原始通常与公钥相关联的方式使密码系统可以在对称密钥环境中使用。在公共密钥密码系统中,安全性取决于一些假定的潜在的数学问题难度,如分解[13]的难点或
采取离散对数的难点, 这个难点与大尺寸的钥匙使用难点有关。
当这两个秘钥都没有发布时,通过在秘密密钥设置中使用模幂运算,密钥密码系统可能使用比公开的更小的整数。
显然,这样做可能会引入一些秘钥管理问题,特别是秘钥的分配和存储。然而,在本文中,我们专注于安全问题。 安全性的重点从出公共信息的数学问题这个难点变成了确定任一个密钥没有先验的公开信息这一难点。模幂运算的加密原函数朝向提供良好的效果
在对称密钥密码系统中所需的混淆和扩散。在设计中本文中的系统假设模幂运算具有很好的随机性性能独立于模数的大小或将其分解的难度。
严格地说,RSA使用两个素数的乘积的模数。 下列
是一个简单但众所周知的泛化。 令n为任意的平方自由整数,并使x和Y是满足GCD(x,.oslash;(x)) =GCD(x*,oslash;(n)).如果加密密钥是一对整数(x,n) /然后相应的解密密钥是对.(x*,n)。如果m是满足m lt;n的消息块,则定义加密
如c=E(m)=mx(mod n)。 如果发件人A具有(x,n)的防篡改模块;N /
在其中,接收器具有包含. (x*,n)的第二个模块
; n /,那么每个都可以使用他们的密钥
将加密消息发送给另一个。 任何攻击者都必须将n作为一部分
找到钥匙的过程。 如果n可以容易地考虑因素,那么确定n会
是攻击的主要部分,所以有关的问题变成:“多么容易
确定n?“提出的这个问题的答案是相当简单。该
该算法的同态属性表示E(m1m2) =E(m1)E(m2)(mod n)如果
密码分析器可以通过消息m的加密c(通过选择的明文攻击)获得
和消息m1,m2的密文c1,c2,其中m =m1m2,然后为高
概率他具有c1c2形式的n的倍数。
这些倍数L的最大公约数产生n增加L的可能性增加了
L的最大公约数随机选择的概率
整数等于1大约等于zeta;(L)-1
其中zeta;(L)是Riemann Zeta
功能[16]。 对于L=2,这个概率约为0.61。 对于L= 4,这个概率
约为0.92。 因此,预期使用大约可以容易地恢复L= 4倍多。
一旦n恢复,就不难发射离散的对数攻击恢复x,最后x*,从而恢复整个密钥。 因此我们需要使用基本原函数略有不同。
本文的其余部分安排如下。 在第2节中,在第一个对称密钥密码系统之前介绍了一些术语和符号。描述了使用模幂运算的原函数。 这是一个通用描述,说明了这里的例子中使用的主要思想。 第3节包含更实际的例子,证明RSA具有比通用系统短得多的密钥的优点。 第4节提出了一种,通过定义可以由先前定义的系统使用的密码块链接的形式,减少所有随机密码系统固有的数据扩展的方法。
。 第5节中有一些最后的评论。
- 密码学系统二(alpha;,beta;)
2.1 符号和术语
以下符号和术语在后续章节中使用。 整数的集合由Z表示。如果n 属于 Z具有二进制表示n =n0n1hellip;nt-1,最高有效位nt-1=1,那么等价地n被认为具有长度L,n是一个L位整数。 整数n是无平方的,如果对于除以n的所有素数p,p2不分割它。 两个整数m和n的最大公约数用.(m,n) 两个整数m和n被认为是互质的,(m,n)=1.欧拉Totient函数oslash;(n)给出小于n的整数的数量,并且是互补的。
2.2(alpha;,beta;)的定义
在本节中,描述了一种在其加密和解密过程中使用模幂运算的单向对称密钥密码系统的一般方案。首先给出密钥空间,消息和密码空间以及密码系统的加密和解密规则的定义。
在不失一般性的情况下,我们以A向A发送消息(并解密为B解密A中的消息)来说明加密。然而,该过程是对称的,因为B可以使用他与A共享的密钥的一部分向A加密发送消息,该密钥与用于解密来自A的他的密码相同的密钥。在下文中,我们假定(秘密)密钥除了合法用户之外,都不知道或不可访问。此外,为了保持系统的单向性,我们假定用户A不能访问用户B使用的相应密钥。特别是,这意味着虽然用户A可以访问用于与B进行通信的密钥他没有明确知道自己的一部分关键。在实践中,用户A可以在认证自己到包含它的防篡改模块之后被允许访问他的部分密钥。下一节包含有关组件部分设计原理的更多信息。
密码系统的安全性取决于合法使用的密钥的保密性
用户A,B系统。 在这个阶段,我们可以合理地假设,上面使用的比特和模幂分布的组合在所产生的密码系统中不会引入微不足道的可利用的弱点。
2.3设计原则和评论
参数alpha;和beta;满足不等式(0lt;beta;lt;alpha;-1).由于它们的功能,alpha;和beta;不相互独立。选择参数a以确保至少,通过所有可能的候选人的整数进行详细的搜索。密码系统的秘密模量实际上是不可行的.作为这个属性的结果,并且适当地选择置换,知识关于模幂运算阶段的实际输入是有限的。特别是密码分析的先验知识是(已知)消息已被转换成最小重量和最大重量的未知的作用。这种字符串的数量是下限的输入到模幂运算阶段。在进行模幂运算之前的这个处理步骤可以防止利用同态性进行密码子分解。
原始的模数n被选择为无平方,以确保求幂中的一对一映射。指数x和x*被选择确保在加密和解密阶段都可以绕过。假设模幂运算是一个内在的随机函数,这里利用不论如何都可以对模数进行分解,原始模幂运算是有效表示的简洁机制一个非平凡的排列。这个原函数本身就是结构化的在对称密钥密码系统中提供足够的安全性,从而产生属性可能被密码分析仪成功利用。在写作时没有发现可行的攻击,利用这种攻击位的排列(使用alpha;和alpha;以及字符串的排列(使用模幂)。然而,在这里可以确定某些可能的特征被密码分析人员利用。这和其他类似的当n=0时,关于m的行为的事实可能导致一些尚未确定的事实攻击,被定义如上。
在第三阶段作用于模幂运算的排列的加密过程将此输出转换为代数链接并依赖于模数n成为一个有效独立于n的pi;位串。这样可以防止任何密码攻击,例如,密码分析器试图获得估计通过观察拦截密码的分布来计算模数n。
frac14;的作用是双重的。首先,它在m的消息比特中“随机播放”z的随机比特,
使后者以相同的顺序。模幂运算后,frac14;,frac34;,
置位以产生输出。 frac14;由于输出考虑kk0而被修改
的模幂相位具有reg;位。由于frac14;不改变的顺序
消息位,使用的随机位数很重要。如果D 0那么有一个OPP,
对应于身份置换,这使得消息不变。
这样的系统相当于可以有效破坏的微不足道的系统。 Achoice的
如第2.3节所述,适当的确保了对于未知的OPPfrac14;和随机
选择z的长度,可以从任何消息获取的二进制字符串的数量
正确长度的m通常太大,不能被详细搜索。
在模幂相位之前和之后使用相同的排列
没有给系统带来任何微不足道的弱点。如果发现不是这样的话
在进一步的调查中,或者系统的安全性被怀疑是因为这个用途
k两次,总是可以使用独立的顺序保留排列frac14;和frac34;
如上所述,由于即使在这种情况下,所得到的密钥的大小小于if
使用一般排列frac14;和frac34;。
最后两节描述的对称系统使用密码
原始模幂。
然而,作为随机密码系统的例子,这两个系统都具有一定的意义
数据量扩大。一种减少这种效果的方法是不合需要的
所提出的系统的属性将在下一节中讨论。
4.实际注意事项
4.1。一个可能的解决方案
数据扩展是随机密码系统的一个特征,因为有关的信息
所使用的随机性必须明确地在密码中作为单独的数据传输
与密码的消息相关部分一起发送。
(1)乙方生成两把密钥(公钥和私钥)。公钥是公开的,任何人都可以获得,私钥则是保密的。
(2)甲方获取乙方的公钥,然后用它对信息加密。
(3)乙方得到加密后的信息,用私钥解密。
如果公钥加密的信息只有私钥解得开,那么只要私钥不泄漏,通信就是安全的。
互质关系
如果两个正整数,除了1以外,没有其他公因子,我们就称这两个数是互质关系(coprime)。比如,15和32没有公因子,所以它们是互质关系。这说明,不是质数也可以构成互质关系。
关于互质关系,不难得到以下结论:
1. 任意两个质数构成互质关系,比如13和61。
2. 一个数是质数,另一个数只要不是前者的倍数,两者就构成互质关系,比如3和10。
3. 如果两个数之中,较大的那个数是质数,则两者构成互质关系,比如97和57。
4. 1和任意一个自然数是都是互质关系,比如1和99。
5. p是大于1的整数,则p和p-1构成互质关系,比如57和56。
6. p是大于1的奇数,则p和p-2构成互质关系,比如17和15。
三、欧拉函数
请思考以下问题:
任意给定正整数n,请问在小于等于n的正整数之中,有多少个与n构成互质关系?(比如,在1到8之中,有多少个数与8构成互质关系?)
计算这个值的方法就叫做欧拉函数,以phi;(n)表示。在1到8之中,与8形成互质关系的是1、3、5、7,所以 phi;(n) = 4。
phi;(n) 的计算方法并不复杂,但是为了得到最后那个公式,需要一步步讨论。
第一种情况
如果n=1,则 phi;(1) = 1 。因为1与任何数(包括自身)都构成互质关系。
第二种情况
如果n是质数,则 phi;(n)=n-1 。因为质数与小于它的每一个数,都构成互质关系。比如5与1、2、3、4都构成互质关系。
第三种情况
如果n是质数的某一个次方,即 n = p^k (p为质数,k为大于等于1的整数),则
lt;
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[140829],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。