非对称加密体制(也称作公钥加密体制)于1976年提出,他不同于以往的加密算法,非对称加密技术的思想不是建立在位方式的操作之上,而是建立在数学函数的基础之上的。更重要的是,与只使用单一密钥的传统加密技术相比,每一个通信方都拥有一对密钥,其一公钥是可以公开的,其二私钥是保密的,只有自己才知道。在进行加密时,加密方使用对方的公钥,而解密时使用自己的私钥进行解密,这样就保证只有私钥持有者才能进行解密。那么我们今天就来给大家介绍一下非对称加密体制中的典型算法——RSA加密算法。
一、非对称加密体制的思想
非对称加密体制必须满足以下条件:
1、公钥和私钥之间具有紧密的联系,即公钥和私钥源自同一数学推导关系。
2、用公钥加密的信息只能由相应的私钥进行解密,反之亦然。而由公钥推知私钥,在计算上是不可能的。
利用非对称加密方案进行通信的过程是:
发送方A先查找接收方B的公钥,因为公开公钥并不影响通信的保密性,B可以将自己的公钥公布在公共数据中,然后,A采用公钥加密算法用B的公钥对原始信息进行加密,并通过非安全信道将密文发送给B。当B接收到密文后,通过自己持有的私钥对密文进行解密而还原出明文。在这种情况下有:
E(K1,M)=C
D(K2,C)=M
D[K2,E(KI,M)]=M
其中,K1为加密密钥,K2为解密密钥,C为密文,M为明文,E为加密算法,D为解密算法。
二、RSA加密算法
非对称加密体制只是一种思想,1978年有专家又提出了一个基于数论的非对称密码体制。它是一种分组加密体制。实现该加密体制的核心是RSA加密算法,其名称来自于3个发明者的姓名首字母。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1 024位。非对称加密技术的安全性是基于大整数因子分解的困难性,而大整数因子分解问题是数学上的著名难愿,至今没有有效的方法予以解决,因此可以确保RSA加密算法的安全性。
1、RSA加密算法需要以下相关的数学概念:
素数:素数是比1大,其因子只有1和它本身,没有其他效可以整除它的效,素数是无限的,例如2,3,5,7……等。
两个数互为素数:指的是它们除了1之外没有共同的因子,也可以说这两个数的最大公因子是1。例如,4和9,13和27等。
模运算:如A模N运算,它给出了A的余数,余数是从0到N-1的某个整数,这种运算称为模运算。
2、RSA加密算法流程:
1)先找出一对足够大的、不同的素数p和q。
2)计算公开的模数r=pqg。
3)计算欧拉函数φ(r)=(p-1)(q-1),两个素数p和q不再需要,应该丢弃,不要让任何人知道。
4)找一个与φ(r)互质的数e,且1<e<φ(r),整效e即为加密密钥。
5)计算d,满足de≡1(modq, φ((r)),d为解密密钥,要保密。
公式中,“≡”是数论中表示同余的符号,符号≡的左边必须和符号右边同余,也就是两边作模运算的结果相同。很显然,无论φ(r)取什么值,符号右边1modφ(r)的结果都等于1;符号左边d与e的乘积作模运算后的结果也必须等于1,这就需要计算d的值,让同余等式可以成立。
6)将明文x(其值的范围在0到r-1之间)按模为r自乘e次幂以完成加密操作,从而产生密文y(其值也在0到r-1范围内)
y=xe(mod r)
7)将密文y按模为r自乘d次幂,完成解密操作。
x=yd(mod r)
由于RSA加密算法的公钥和私钥的长度(模长度)要达到1 024甚至2 048方可保证安全,因此,p、g、e的选取、公钥与私钥的生成、加密解密模指数运算都需要一定的计算机程序才能完成。
三、RSA算法的安全性
在RSA密码应用中,公钥K1是公开的,即e和r的值可以被第三方窃听到,破解RSA密码的问题就是从已知的e和r的值想办法求出d的值,这样就可以得到私钥来破解密文。
从RSA加密算法可以看出,密码破解的实质是从p、q的值,求出(p-1)和(q-1),也就是只要求出P、q的值,就能得到d的值而得到私钥。但当P、q是大素数的时候,从二者的乘积去分解因子P、q,这是—个公认的数学难题。比如当P、q大到1024 bit时,目前还没有人可以利用任何计算工具完成这一分解任务,因此RSA加密算法经受住了各种攻击的考验,逐渐为人们所接受,被认为目前最优秀的公钥方案之一。
其他的安全问题包括:
1)公共模数攻击
每个人具有相同的,但有不同的指数e和d,这是不安全的。
2)低加密指数攻击
如果选择了较低的e值,虽然可以加快计算速度,但存在不安全性。
3)低解密指数攻击
如果选择了较低的d值,这是不安全的。
4)选择密文攻击
如A想让T对一个T不愿意签名的消息m’签名.A首先选择一个任意值x,计算y=xe(mod r),然后要求T对m=ym’签名,A最后计算(momod r)d modr =(ym’)dx-1modr=m'd mod r。因此一般不要对别人提交的随机消息进行签名。
四、RSA加密算法的缺点
由于进行的都是大数计算,使得RSA最快的情况也比DES慢几倍,无论是软件还是硬件实现。速度一直是RSA的缺陷。
此外,RSA加密算法产生密钥的过程很麻烦,受到素效生成技术的限制,因此很难做到一次一密。分组长度太大,为保证达到安全性。r至少耍有600 bit,使运算的的代价很高。一般来说RSA加密算法只用于少量数据文件加密。为了解决速度问题,目前人们广泛使用对称加密和非对称加密结合使用的方法,这样,RSA与DES的优缺点正好互补。RSA的密钥很长,加密速度慢.。而采用DES,正好弥补了RSA的缺点。即DES用于明文文件加密,RSA用于DES密钥的加密。由于DES加密速度快,适合加密较长的报文;而RSA可解决DES密钥分配的问题。美国的保密增强邮件(PEM)就是采用了RSA和DES结合的方法,目前已成为E-MAIL保密通信标准。
加密领域的实际应用要求远比单一使用某一种加密算法复杂,因此,多种加密算法综合使用,取长补短,才能达到更好的保障数据的安全之目的。
小知识之欧拉函数
欧拉函数实际上是模n的同余类所构成的乘法群(即环的所有单位元组成的乘法群)的阶。这个性质与拉格朗日定理一起构成了欧拉定理的证明。
好用的桌面管理软件,让桌面管理变得无比简单
你们肯定有过这种经历:一打开电脑,桌面满满当当全是图标,文件、文件夹还有快捷方式乱成一团,找个文件得翻来覆去好几遍。或者工作、学习的资料混在一块儿,找啥都得费老大劲。今天给大伙介绍一款特牛的桌面管理软件,能让你的桌面管理无比轻松,工作效率直线上升!一、一键整理,跟乱糟糟彻底告别咱们平常使电脑的时候,最烦的就是桌面图标多...
让隐私更安全:U盘加密的五种实用方法
在如今信息爆棚的阶段,U 硬盘已成为大家存储和传送数据的关键工具。可是,这小小的 U 盘子里蕴藏着巨大的风险。一旦意外丢失或失窃,里边的数据可能掉入不法分子手中,对我们的个人信息和财产安全构成严重威胁。那么,究竟怎样才能让 U 盘里的隐私更安全呢?今日,我们将介绍五种实用的U盘加密方式。一、软件加密:轻松上手,安稳可靠...
颠覆传统办公模式:远程桌面管理工具实用指南
在如今这快节奏的工作大环境里,传统的办公模式慢慢暴露出它的短板。您是不是早就受够了每天早晚高峰的奔波通勤?是不是特别渴望能在舒适自在的环境里照样高效办公?远程桌面管理工具呀,它不但能让您随时随地访问公司的电脑,实现工作的无缝衔接,还能大大提高团队协作的效率。今天,咱们就来唠唠怎么靠着远程桌面管理工具,颠覆传统办公模式。...
如何通过上网行为管理系统提升网络管理效率?
企业网络就像一条热热闹闹的高速公路,承载着形形色色的信息来来往往。可这条 “高速公路” 上的 “车辆”(也就是网络流量),老是出现一些状况,比如拥堵啦、违规行驶啦(像访问那些不安全的网站、下载恶意软件)。那到底咋能有效地管管这些 “车辆”,让网络顺顺溜溜的,还能把网络管理的效率提上去呢?上网行为管理系统,那就是打开高效...
企业局域网安全准入:五大关键要素解析
企业局域网就是把各个部门、各位员工紧密相连的 “神经中枢”。不过呢,随着网络边界变得越来越模糊,还有攻击手段不停地花样翻新,局域网安全准入一下子成了企业必须硬着头皮应对的大难题。到底怎样才能保证只有合法的设备和用户能够享用网络资源?今天,咱们就好好聊聊企业局域网安全准入的五大关键要素。一、身份验证:死死守住的头道关卡身...