非对称加密体制(也称作公钥加密体制)于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的同余类所构成的乘法群(即环的所有单位元组成的乘法群)的阶。这个性质与拉格朗日定理一起构成了欧拉定理的证明。
筑牢安全防线:安企神企业助力特种设备机械企业数据防泄密解决方案
西安苛菲特机械设备有限公司 西安苛菲特机械设备有限公司致力于特种设备的发展,专业从事特种设备的研发、制造和销售。目前已成为有色冶金特种设备、大型船舶特种设备、煤化工特种设备的领军品牌,并在业内得到了“ 特种设备专家”的称号。公司以打造国内一流特种设备为使命,主要产品定型为高品质特种(高温、高压、高合金)流量控...
安企神软件——为中国铁道建筑集团有限公司筑牢数据防泄密系统
01公司介绍中国铁建是中国乃至全球最具实力、最具规模的特大型综合建设集团之一,入选世界500强企业、全球225家最大承包商之一等荣誉。公司以工程承包为主业,集勘察、设计、投融资、施工、设备安装、工程监理、技术咨询、外经外贸于一体,经营业务遍及除台湾省外全国31个省市(自治区)、世界20多个国家和地区,企业总资产820亿...
强化终端安全,安企神软件与涂料制造企业共创安全未来
西安经建油漆有限责任公司规模化、专业化、现代化涂料制造企业西安经建油漆有限责任公司,年涂料生产能力20万吨,为中国中西部实力较强、产能较大的涂料制造企业。公司成立伊始便积极承担起重点建设项目及国防军事工业、航空航天工业提供配套涂料科研开发及生产任务。多次受到中国航天科技集团总公司的通令嘉奖,为我国航天事业跻身世界前列做...
全球著名减震器制造商——天纳克携手安企神共筑安全制造新防线
天纳克(北京)汽车减振器有限公司天纳克(北京)汽车减振器有限公司成立于1995年,是天纳克在中国最早投资的合资企业。公司集设计、开发、生产及销售汽车减振器于一身。作为天纳克全球网络的一部分,能充分享受天纳克全球的技术积累经验和国际领先的设计理念,加之先进的生产设备和工艺技术。天纳克(北京)汽车减振器有限公司完全能保证为...
强强联合!安企神软件携手瀚颐共筑汽车行业终端安全防线
瀚颐上海汽车电子科技有限公司EAST瀚颐中国团队成立于2015年。是国际AUTOSAR软件联盟的研发伙伴单位。具备汽车电子硬件设计、软件开发、CAN网络集成、系统集成测试以及项目管理的全面研发能力。专注于汽车电子以及相关产业并拥有25年以上的专业经验,拥有来自于德国和中国业内专家和高管组成的顾问团队,并向全球汽车行业客...