加密算法

通常来讲,非对称算法安全性更高,其破解难度更大,现在的数字证书就是基于非对称密钥体系。
如果结合时间因素的话,再有良好的设计保障,对称算法也相当安全,比如一次一密,密码仅在一次很短的会话内有效。

基于“对称密钥”的加密算法主要有:AES、DES、TripleDES、RC2、RC4、RC5和Blowfish等。
“非对称密钥”的加密算法主要有:RSA、Elgamal、背包算法、ECC(椭圆曲线加密算法)

对称算法的代表性机构有:ibm,rsa,麻萨诸塞技术研究所...
非对称算法的代表性机构有:rsa,麻省理工学院,sun...

加密技术通常分为两大类:“对称式”和“非对称式”。

对称式加密技术

对称式加密就是加密和解密使用同一个 密钥,通常称之为“Session Key ”这种 加密技术在当今被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式” 加密法,它的Session Key长度为56bits。

非对称式加密技术

非对称式加密就是加密和解密所使用的不是同一个 密钥,通常有两个密钥,称为“ 公钥”和“ 私钥”,它们两个必需配对使用,否则不能打开加密文件。这里的“ 公钥”是指可以对外公布的,“ 私钥”则不能,只能由持有人一个人知道。它的优越性就在这里,因为对称式的加密方法如果是在网络上传输加密文件就很难不把 密钥告诉对方,不管用什么方法都有可能被别 窃听到。而非对称式的加密方法有两个 密钥,且其中的“ 公钥”是可以公开的,也就不怕别人知道,收件人解密时只要用自己的 私钥即可以,这样就很好地避免了密钥的传输安全性问题。


主要分为 对称加密算法  和 非对称加密算法两类 

对称加密算法:使用单个密钥对数据进行加密或解密,其特点是计算量小,加密效率高.
代表 DES 算法

非对称加密算法:此算法均有两个密钥(公用密钥和私有密钥),只有二者搭配使用才能完成加密和解密的全过程.
代表 DSA算法, 数字签名算法(DSA) , MD5算法 , 安全散列算法(SHA)


加密算法

    加密技术是对信息进行编码和解码的技术,编码是把原来可读信息(又称明文)译成代码形式(又称密文),其逆过程就是解码(解密)。加密技术的要点是加密算法,加密算法可以分为对称加密、不对称加密和不可逆加密三类算法。

    对称加密算法  对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。在计算机专网系统中广泛使用的对称加密算法有DES和IDEA等。美国国家标准局倡导的AES即将作为新标准取代DES。

    不对称加密算法不对称加密算法使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。加密明文时采用公钥加密,解密密文时使用私钥才能完成,而且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是唯一知道自己私钥的人。不对称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,然后利用收信方的公钥来加密原文;收信方收到加密密文后,使用自己的私钥才能解密密文。显然,采用不对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的公钥送给发信方,而自己保留私钥。由于不对称算法拥有两个密钥,因而特别适用于分布式系统中的数据加密。广泛应用的不对称加密算法有RSA算法和美国国家标准局提出的DSA。以不对称加密算法为基础的加密技术应用非常广泛。

    不可逆加密算法  不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。显然,在这类加密过程中,加密是自己,解密还得是自己,而所谓解密,实际上就是重新加一次密,所应用的“密码”也就是输入的明文。不可逆加密算法不存在密钥保管和分发问题,非常适合在分布式网络系统上使用,但因加密计算复杂,工作量相当繁重,通常只在数据量有限的情形下使用,如广泛应用在计算机系统中的口令加密,利用的就是不可逆加密算法。近年来,随着计算机系统性能的不断提高,不可逆加密的应用领域正在逐渐增大。在计算机网络中应用较多不可逆加密算法的有RSA公司发明的MD5算法和由美国国家标准局建议的不可逆加密标准SHS(Secure Hash Standard:安全杂乱信息标准)等。

加密技术

    加密算法是加密技术的基础,任何一种成熟的加密技术都是建立多种加密算法组合,或者加密算法和其他应用软件有机结合的基础之上的。下面我们介绍几种在计算机网络应用领域广泛应用的加密技术。

    非否认(Non-repudiation)技术  该技术的核心是不对称加密算法的公钥技术,通过产生一个与用户认证数据有关的数字签名来完成。当用户执行某一交易时,这种签名能够保证用户今后无法否认该交易发生的事实。由于非否认技术的操作过程简单,而且直接包含在用户的某类正常的电子交易中,因而成为当前用户进行电子商务、取得商务信任的重要保证。

    PGP(Pretty Good Privacy)技术  PGP技术是一个基于不对称加密算法RSA公钥体系的邮件加密技术,也是一种操作简单、使用方便、普及程度较高的加密软件。PGP技术不但可以对电子邮件加密,防止非授权者阅读信件;还能对电子邮件附加数字签名,使收信人能明确了解发信人的真实身份;也可以在不需要通过任何保密渠道传递密钥的情况下,使人们安全地进行保密通信。PGP技术创造性地把RSA不对称加密算法的方便性和传统加密体系结合起来,在数字签名和密钥认证管理机制方面采用了无缝结合的巧妙设计,使其几乎成为最为流行的公钥加密软件包。

    数字签名(Digital Signature)技术  数字签名技术是不对称加密算法的典型应用。数字签名的应用过程是,数据源发送方使用自己的私钥对数据校验和或其他与数据内容有关的变量进行加密处理,完成对数据的合法“签名”,数据接收方则利用对方的公钥来解读收到的“数字签名”,并将解读结果用于对数据完整性的检验,以确认签名的合法性。数字签名技术是在网络系统虚拟环境中确认身份的重要技术,完全可以代替现实过程中的“亲笔签字”,在技术和法律上有保证。在公钥与私钥管理方面,数字签名应用与加密邮件PGP技术正好相反。在数字签名应用中,发送者的公钥可以很方便地得到,但他的私钥则需要严格保密。

    PKI(Public Key Infrastructure)技术  PKI技术是一种以不对称加密技术为核心、可以为网络提供安全服务的公钥基础设施。PKI技术最初主要应用在Internet环境中,为复杂的互联网系统提供统一的身份认证、数据加密和完整性保障机制。由于PKI技术在网络安全领域所表现出的巨大优势,因而受到银行、证券、政府等核心应用系统的青睐。PKI技术既是信息安全技术的核心,也是电子商务的关键和基础技术。由于通过网络进行的电子商务、电子政务等活动缺少物理接触,因而使得利用电子方式验证信任关系变得至关重要,PKI技术恰好能够有效解决电子商务应用中的机密性、真实性、完整性、不可否认性和存取控制等安全问题。一个实用的PKI体系还必须充分考虑互操作性和可扩展性。PKI体系所包含的认证中心(CA)、注册中心(RA)、策略管理、密钥与证书管理、密钥备份与恢复、撤销系统等功能模块应该有机地结合在一起。

加密的未来趋势

    尽管双钥密码体制比单钥密码体制更为可靠,但由于计算过于复杂,双钥密码体制在进行大信息量通信时,加密速率仅为单钥体制的1/100,甚至是 1/1000。正是由于不同体制的加密算法各有所长,所以在今后相当长的一段时期内,各类加密体制将会共同发展。而在由IBM等公司于1996年联合推出的用于电子商务的协议标准SET(Secure Electronic  Transaction)中和1992年由多国联合开发的PGP技术中,均采用了包含单钥密码、双钥密码、单向杂凑算法和随机数生成算法在内的混合密码系统的动向来看,这似乎从一个侧面展示了今后密码技术应用的未来。

    在单钥密码领域,一次一密被认为是最为可靠的机制,但是由于流密码体制中的密钥流生成器在算法上未能突破有限循环,故一直未被广泛应用。如果找到一个在算法上接近无限循环的密钥流生成器,该体制将会有一个质的飞跃。近年来,混沌学理论的研究给在这一方向产生突破带来了曙光。此外,充满生气的量子密码被认为是一个潜在的发展方向,因为它是基于光学和量子力学理论的。该理论对于在光纤通信中加强信息安全、对付拥有量子计算能力的破译无疑是一种理想的解决方法。

    由于电子商务等民用系统的应用需求,认证加密算法也将有较大发展。此外,在传统密码体制中,还将会产生类似于IDEA这样的新成员,新成员的一个主要特征就是在算法上有创新和突破,而不仅仅是对传统算法进行修正或改进。密码学是一个正在不断发展的年轻学科,任何未被认识的加/解密机制都有可能在其中占有一席之地。

    目前,对信息系统或电子邮件的安全问题,还没有一个非常有效的解决方案,其主要原因是由于互联网固有的异构性,没有一个单一的信任机构可以满足互联网全程异构性的所有需要,也没有一个单一的协议能够适用于互联网全程异构性的所有情况。解决的办法只有依靠软件代理了,即采用软件代理来自动管理用户所持有的证书(即用户所属的信任结构)以及用户所有的行为。每当用户要发送一则消息或一封电子邮件时,代理就会自动与对方的代理协商,找出一个共同信任的机构或一个通用协议来进行通信。在互联网环境中,下一代的安全信息系统会自动为用户发送加密邮件,同样当用户要向某人发送电子邮件时,用户的本地代理首先将与对方的代理交互,协商一个适合双方的认证机构。当然,电子邮件也需要不同的技术支持,因为电子邮件不是端到端的通信,而是通过多个中间机构把电子邮件分程传递到各自的通信机器上,最后到达目的地。

加密理解

Posted on  2012-01-07 13:11  xiao张 阅读( 229) 评论( 0编辑  收藏

私钥加密(对称加密)

原理:

有一个密码,加密文本,而后使用这个密码再解密文本,获得原文。

通俗实例:

小明给小王发一封信,不想让别人知道其中内容。小明将邮件内容使用密码进行加密后,发送给小王。然后将密码通过其他途径告诉小王,小王收到邮件后,通过密码解密邮件,获得原始邮件内容。

实际应用:

将一些信息加密存储在数据库中,使用时再解密。这样即使黑客盗取了数据库,不知道密码也无法知道内容。

问题:

加密和解密使用同一密码。如密码泄漏给其他人,那么有密码的人就都可以解密或加密了。比如小张知道了密码,就可以解密邮件,并且可以冒充小明给小王发邮件。

公钥加密(不对称加密)

原理:

我有个私钥,还有一个公钥,我将公钥发给别人,别人通过公钥加密文本,发给我,我使用私钥解密获得原文。公钥只能加密,不能解密。

通俗实例:

小王嫌上面的加密方式不安全,他告诉小明了一个密码(公钥),让小明把他的邮件加密后发给他,这个密码只负责加密,没有解密功能。小王收到邮件后使用自己的密码(与公钥对应的私钥)进行解密,获得邮件内容。这样操作后,即使给小明的密码(公钥)泄漏,别人也无法解密邮件。顶多只能加密邮件给小王发送。

实际应用:

给服务器提交信息时,客户端使用公钥对数据加密,传输到服务器后,服务器使用自己的私钥对数据进行解密处理。这样就保证了传输安全。

也可用作身份确认,通过公钥加密指定文本后,发送给接收方,接收方收到数据后使用自己的私钥解密,后将内容回发。发送方比较自己发送的内容和收到的内容就知道接受方是否是真的了。

通讯双方都使用此种加密方式,拥有各自的公钥和私钥,就可以保证相互通讯安全了。

哈希值

原理:

MD5 SHA1 SHA2 的目的是验证数据,在发送时,进行MD5(原文+密码)生成唯一值,接受方,使用同样方法MD5(原文+密码)生成唯一值和发送的唯一值比较,就可知道数据是否是原始数据。

MD5加密是不可逆的。(现在所谓的MD5解密,只是穷举了MD5的值,进行批对,找到原始值。)

通俗实例:

小明给小王发信,不想在发信途中被人更改。他将信件原文和他们两都知道的密码进行了MD5加密,将生成的md5值随邮件也发给小王,小王在收到邮件后使用同样方法获得md5值,经过比较就可知道信件是否在传输途中被人修改。

实际应用:

一般文件下载站,提供文件的MD5哈希值,用户将文件下载后,通过计算文件的哈希值,和下载源提供的哈希值比较就可知道下载的文件是否为原始文件。

因为MD5的不可逆行(无法通过MD5哈希值得到原文),经常将用户密码经过MD5加密后存储在数据库。

对于用户的敏感数据如账户余额等数据为防止直接更改,也可将账户余额+密码,进行MD5加密存储,防止对余额的非法修改。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值