计算机常用加密算法及应用

1 基本信息

摘要:介绍计算机常用加密算法及应用

作者:刘航

2 算法分类介绍

  基本上分为对称密钥密码算法、单向散列函数、公开密钥密码算法三种。

2.1 对称密钥密码算法

  所谓对称,就是加密解密采用相同的密钥。比如,一个最简单的对称加密算法是按位取反,或者BASE64算法。

  典型的算法是:DES:Data Encryption Standard ,AES等。

  特点:加密解密使用相同密钥,相对于非对称加密速度快,而且更加难以破解。

  适用场景:该算法已经非常成熟,速度非常快,除了窃取密码之外难以破解。可以广泛应用在各种数据传输和数据存储当中。

2.2 单向散列函数

  从名称就可以知道:单向,不能恢复;散列:就是为一段数据产生一个唯一数值。

  典型算法是: MD2、MD4、MD5或SHA等。(MD的意思是Message-Digest Algorithm:消息摘要)

  特点:单向,加密的结果一般比原数据要短。

  适用场景:可以为数据产生校验摘要,保证数据传输的正确性,网上下载的较大的文件经常也提供MD5摘要 用来验证。经常用来加密密码,因为这样加密的密码不能被破解(因为其不可逆性,经常只能使用跑字典的方法进行破解),。Unix系统的密码就采用MD5加 密以后保存起来的。(MD5经MD2、MD3和MD4发展而,算法这里有详细阐述http://support.iap.ac.cn/portal/viewarticle.php?id=539

2.3 公钥算法

  使用两个秘钥,分别用来解开对方的加密结果。

  典型算法:RSA、ELGamal、DSA、ECDSA等。(RSA是RSA:Ron Rivest, AdiShamir 和Leonard Adleman三个发明人的名字。DSA:Digital Signature Algorithm。)

特点:
用公钥加密的数据只有对应的私钥可以解密
用私钥加密的数据只有对应的公钥可以解密
如果可以用公钥解密,则必然是对应的私钥加的密
如果可以用私钥解密,则必然是对应的公钥加的密

适用场景:
公钥算法是网上数据安全传输的保证。两个密约中的一个可以在网络上发送、公布,叫做公钥,而另一个则只有密钥对的所有人才持有,叫做私钥,非对称公开密钥系统又叫做公钥系统,是当前网上交易、网上数字签名等的重要支撑技术。关于公钥算法,这里讲的比较好。http://blog.csdn.net/drwei/archive/2004/12/27/230318.aspx

3 算法的应用

  以上三种算法看起来不是很复杂,但是当今电子商务时代的应用往往是以上多种算法的组合应用。所以就显得有点复杂。下面解释以下几种常见概念的原理。

3.1 SSL

  SSL的基本思路是使用公钥算法加密对称加密算法的密码。1.发送信息方先用接收方的公钥加密对称算法的密码。2.把加密后的对称算法密码发送给接收方。3.接收方得到加密后的密码,使用私钥破解之,得到对称算法的密码。4.双方使用对称算法的密码进行通信。

  SSL通过使用对称算法保证数据加密解密的高效性,可通过使用公钥算法传输密码保证密码的传输不被拦截和破解。

3.2 数字签名

  数字签名同时使用了摘要、对称加密、非对称加密多种算法。敏感信息在数字签名的传输中不被篡改,未经认证和授权的人,看不见原数据,起到保密作用。数字签名分为签名过程和验证过程两个。

在签名过程中:
  签名方使用单向散列函数,比如MD5,得到签名文件的散列值,
  用对称密钥密码算法,比如DES,将文件加密,
  用公钥算法生成数字签名(加密散列数值)并加密对称密钥密码算法中所使用的密钥,
  将加密后的源文件、签名、加密密钥和时间戳放在一个信封中发送出去

 验证过程:
  用公钥算法得到签名方发送的对称密钥和文件的散列值,
  用对称密钥解密文件并用单向散列函数生成散列值,
  若该值与签名方发送的散列值相等,则签名被验证。

  在实际使用还有一种用法,就是不对原文档进行加密的情况,也就是不采用对称加密,这样可以方便别人查看原文档。由于对摘要依然进行了数字签名,如果有第三方对签名信息进行了修改,仍然可以被验证出来。

3.3 数字证书

   数字证书是CA中心签发的,以数字证书为核心的加密技术可以对网络上传输的信息进行加密和解密、数字签名和签名验证,确保网上传递信息的机密性、完整性,交易实体身份的真实性。数字证书包含特定用户的信息,也包含特定用户的公钥。(这里有比较详细介绍http://www.cec.gov.cn/ca/intro_sz.jsp)

CA认证
 CA是具备公信力的认证机构,可以是一个公司(具备一定的公信力),可以是一个软件(如Windows的一个认证服务)。
 CA经常具有层次性,这是为了分散管理。信任可以针对一个层次结构。
 (这里有X.509CA证书的格式:http://www.cnblogs.com/chnking/archive/2007/08/28/872104.html)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值