分享信息加密技术

       2011年CSDN由于网站安全措施不给力,导致的密码泄露事故,使用户数据库被黑客“拖库”,而当时CSDN对于密码的存储方式是以明文的方式存储,导致密码泄露,成为地下黑市交易的商品。所以大型网站已经越来越注重自身数据库的安全,维护敏感数据的安全更是重中之重,信息加密技术的发展也趋于完善。加密技术可以大致分为三类:1.单项三列加密,2.对称加密,3.非对称加密。

      一.单项散列加密算法,又称hash函数,是指通过对不同输入长度的信息进行散列计算从而得到固定长度的输出,这个散列计算是单项的,不能对定长的输出进行计算后得到输入的信息。常用的单项散列加密算法有:MD5(Message Digest Algorithm 5),SHA(Secure Hash Algorithm),MAC(Message Authentication Code,消息认证代码),CRC(Cyclic Redundancy Check)。

      1.MD5:被广泛使用的密码散列函数,可以用来把不同长度的数据块进行暗码运算成一个128位的数值,用于确保信息传输完整一致。算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值(图片来源与百度百科)。

                                                     

    2.SHA(Secure Hash Algorithm)一种较新的散列算法,可以对任意长度的数据运算生成一个160位的数值。是一个密码列函数家族,是FIPS所认证的安全散列算法。能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。且若输入的消息不同,它们对应到不同字符串的机率很高。对于SHA之间的一些区别,丢个简书链接感觉不错:https://www.jianshu.com/p/68c664b663f4

    3.MAC(Message Authentication Code):消息认证代码,是一种使用秘钥的单向函数,可以用它们在系统上或用户之间认证文件或消息。老套路,丢链接https://blog.csdn.net/qq_30505673/article/details/82432454

  二:对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密秘钥(mi yao)一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。通常用在信息需要安全交换或存储的场合,例如Cookie加密,通信加密等。简单理解为:对称加密是指加密和解密使用的秘钥是同一个秘钥(或者可以相互推算)。对称加密过程大致如下图所示:

对称加密算法主要有:DES算法,3DES算法,TDEA算法,BLOWFISH算法,RC5算法,主要讲一下DES算法和3DES算法。

       (1)DES算法:为密码体制中的对称密码体制,被称为美国数据加密标准,是1972年美国IBM公司研制的对称密码体制加密算法。 明文按64位进行分组,秘钥长64位,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位, 使得每个密钥都有奇数个1,即其中包括了8位奇偶校验位)分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。其入口参数有三个:key、data、mode。key为加密解密使用的秘钥,data为加密解密的数据,mode为其工作模式。当模式为加密模式时,明文按照64位进行分组,形成明文组,key用于对数据加密,当模式为解密模式时,key用于对解密。实际运用中,密钥只用到了64位中的56位,这样才具有高的安全性。其算法结构如下图所示:

                                                       

算法流程如下图所示:

                                                

    缺点:因为此算法自用到了64位秘钥中的恶6位,而8的倍数位并没有参加DES运算,所以在使用时应当避开8的倍数位设置为有效位,因为此算法安全性由其他56位组合变化才得以保障。如果将这些数位当做有效数据位进行处理,那么将不会保证数据的正确性,产生被破译的危险。

     DES特点:DES算法具有极高安全性,到目前为止,除了用穷举搜索法对DES算法进行攻击外,还没有发现更有效的办法。而56位长的秘钥的穷举空间为2^56,这意味着如果一台计算机的速度是每一秒钟检测一百万个密钥,则它搜索完全部密钥就需要将近2285年的时间,可见,这是难以实现的。然而,这并不等于说DES是不可破解的。而实际上,随着硬件技术和Internet的发展,其破解的可能性越来越大,而且,所需要的时间越来越少。使用经过特殊设计的硬件并行处理要几个小时。

     因为DES也会存在某些缺点,从而3DES算法应运而生。

     (2)3DES算法:3DES是针对DES算法密钥过短、存在安全性的问题而改进的一个措施,被称为“3DES”。其实只是通过简单的执行3次DES来达到增加密钥长度和安全而已。例如DES过程与3DES过程进行对比:

                                               

                                                                               DES过程    

                              

                                                                               3DES过程

       图中3DES算法在对明文进行加密时,采用了三次加密过程,其中第一次和第三次是采用DES的加密算法,第二次采用的则是解密算法,从而得到最终的密文。这种加密过程为“加密-解密-加密”,所以又称为EDE(Encrypt-Decrypt-Encrypt)方案。

三、非对称加密算法是一种密钥的保密方法。

       非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 非对称加密算法实现机密信息交换的基本过程是:信息发送者A通过公开渠道获得信息接收者B的公钥,对提交信息进行加密,然后通过非安全传输通道将密文信息发送给B,B得到密文信息后用自己的私钥进行解密,获得原始明文信息。好处在于即使秘钥遭到窃取,但是因为没有解密的秘钥也不可能还原明文。

     数字签名的过程正好相反,签名这用自己的私钥对信息进行加密,然后发送给对方,接收方用签名者的公钥对信息进行解密,获得原始明文信息,由于私钥只有签名者拥有,因此该信息是不可抵赖的,具有签名的性质。而实际应用时,常常会混合使用对称加密和非对称加密。先使用非对称加密技术对对称秘钥进行安全传输,然后使用对称加密技术进行安全传输,然后使用对称加密技术进行信息加密解密与交换。而有时对同一个数据两次使用非对称加密,可同时实现安全传输与数字签名的目的。(常用的非对称加密技术有RSA算法等,https传输中浏览器使用的数字证书实质上是经过权威机构认证的非对称加密的公钥。

 

文章来源:大型网站技术架构核心原理与案例分析(李智慧),百度百科资料即其他博主的博客。转载请标明出处。    

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值