客户端服务端加密与通信安全及实际应用

数据校验,是为保护数据的完整性,用一种指定的算法对原始数据计算出的一个校验值。当接收方用同样的算法再算一次校验值,如果两次校验值一样,表示数据完整。

1、奇偶校验

          能检测出信息传输过程当中的一位误码。出现错误不能检测出错误,只能要求重发。

2、 CRC循环冗余校验

         通过增加若干冗余位,可以检测出传输过程中的错误。检错和纠错能力强,在通信领域运用较广泛。

3、MD5校验

          MD5算法是一种信息摘要算法,是通过哈希映射的原理得到一个大文件简短的MD5值。该算法是一种不可逆算法,也就是说开发者不能通过MD5值得到原始文件的数据。这里有一种可能性,不同的数据文件得到相同的MD5值,但是这种情况一般开发过程当中都不予考虑(数据碰撞)。

4、 SHA

       SHA(Secure Hash Algorithm)是由美国专门制定密码算法的标准机构——美国国家标准技术研究院(NIST)制定的,SHA系列算法的摘要长度分别为:SHA为20字节(160位)、SHA256为32字节(256位)、 SHA384为48字节(384位)、SHA512为64字节(512位),由于它产生的数据摘要的长度更长,因此更难以发生碰撞,因此也更为安全,它是未来数据摘要算法的发展方向。由于SHA系列算法的数据摘要长度较长,因此其运算速度与MD5相比,也相对较慢。

      同MD5算法相同,他也是一种不可逆的算法

二、对称加密算法

1、Base64 编解码

     该算法只能称为一种校验,是对原始的数据进行了一个编码的过程。 有编码就有解码,该过程是一个可逆的。该算法安全性较差,可以很轻松的通过解码将密文转换为明文,从而获取信息。

2、DES 数据加密算法

       是对称加密算法领域中的典型算法,现在认为是一种不安全的加密算法,因为现在已经有用穷举法攻破DES密码的报道了。尽管如此,该加密算法还是运用非常普遍,是一种标准的加密算法。3DES是DES的加强版本。

      DES加密的秘钥是 56位,而3DES加密算法的秘钥是 112位或者168位。3DES加密处理速度较慢、密钥计算时间较长、加密效率不高。

3、AES 数据加密算法(推荐使用)

Advanced Encryption Standard ,高级数据加密标准,AES算法可以有效抵制针对DES的攻击算法。

密钥建立时间短、灵敏性好、内存需求低、安全性高

DES/3DES/AES 三种加密算法的对比如下:

image

4、异或加密

异或运算中,如果某个字符(或数值)x 与 一个数值m 进行异或运算得到y,则再用y 与 m 进行异或运算就可以还原为 x ,因此应用这个原理可以实现数据的加密解密功能。

这种加密算法较简单,只是简单的将明文转换为不易看出的密文,破解的复杂度完全取决于秘钥的长度。

三、非对称加密算法

      公开密钥加密,又称 asymmetric cryptography (非对称加密),即存在两把不同的密钥,分别称为公钥 Pu 和私钥 Pr,公钥通常用来加密明文 M,只有私钥才能解密密文 C,如果用 E 和 D 分别表示加密和解密算法,那么有:

C = E(M,Pu);   // 加密公式,M为明文,C为密文,

M = D(C,Pr);   // 解密公式

 

image

 

传统的对称加密需双方共享相同的密钥,通信安全很大程度依赖双方是否能妥善的管理密钥。公开密钥加密发明是密码学最为重要的里程碑之一,它从数学的角度保证了通信安全。公开密钥加密体系有三大范畴:

Encryption/Decryption:即加密与解密,发送方接收方的公钥加密消息(秘钥由接收方生成,传送给发送方)

Digital Signature:数字签名,发送方用公钥加密消息摘要生成签名,保证消息的完整性和可靠性

Key Exchange:安全的交换密钥,通常用于交换对称加密的密钥(迪菲-赫尔曼密钥交换算法)

1、RSA加密

这种算法以欧拉函数为基础,这里不具体展开:

这种算法非常可靠,密钥越长,它就越难破解。根据已经披露的文献,目前被破解的最长RSA密钥是768个二进制位。也就是说,长度超过768位的密钥,还无法破解(至少没人公开宣布,因为大数的因式分解计算量特别大)。因此可以认为,1024位的RSA密钥基本安全,2048位的密钥极其安全。

具体原理可以见:公钥私钥的生成及加解密过程

https://www.kancloud.cn/kancloud/rsa_algorithm/48488

2、SSL/TLS协议

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpsdzw.html