课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
为了能够保障信息在互联网中的传输安全,程序员将加密用到了数据传输之中,而本文我们就通过案例分析来简单了解一下,对称加密的概念与用法分享。
1、为什么要加密?
因为http的内容是明文传输的,明文数据会经过中间代理服务器、路由器、wifi热点、通信服务运营商等多个物理节点,如果信息在传输过程中被劫持,传输的内容就完全暴露了。劫持者还可以篡改传输的信息且不被双方察觉,这就是中间人攻击。所以我们才需要对信息进行加密。容易理解的就是对称加密。
2、什么是对称加密?
对称加密的要点是:加密和解密只需要1个秘钥
下面是对称加密的伪代码
密文=encode(明文,秘钥)
明文=decode(密文,秘钥)
3、对称加密的步骤是什么?
对称加密的步骤如下:
小明和小红协商一个秘钥
小明使用秘钥加密数据,发送密文
小红使用秘钥解密密文,得到明文
对称加密示例-简单替换密码
简单替换密码系统中,我们为26个字母建立映射关系,例如s->a、c->d、h->n、o->x、l->y……26个字母被影射为另外的字母,那么一个明文的单词被加密后就无法认出了。例如school,按照上面的映射关系,就变成了adnxxy。
在这个密码系统中也存在密码算法和密钥。
密码算法:26个字母按照固定的映射关系做替换
密钥:26个字母的替换关系
如果想要破解密钥,也就是要找出26个字母的替换关系。a有26种替换可能,b有除a选择替换的字母之外的25种可能。以此类推,存在的替换关系有26x25x24……x1,约为2的88次方。如果计算机可以一秒尝试一亿个密码,运气差的话要尝试1200亿年。因此暴力破解是行不通的。
但是由于密码算法中,替换关系是稳定的,所以可以采用频率分析的方式破解密码。原理是明文中同一个字母出现的频率和密文中被替换的字母出现的频率一致。在英文中,字母出现的频率是相对稳定的。因此可以根据字母出现的频率推算出替换关系,也就是密钥。从而完成破解。
由此可见这种密码系统不安全的根源在于密码算法,该算法很容易让破解者推测出密钥,因此安全性极低。
4、对称加密示例-AES
AES示例比较复杂,是生产环境中常用的加密算法,可以考虑跳过该部分
AES(advancedencryptionstandard)算法是经过公开选拔所产生。这样彻底杜绝了"隐蔽式安全性"。终,比利时密码学家JoanDaemen和VincentRijme开发的密码算法Rijndael成为了AES标准。
AES所支持的Rijndael密码算法,分组长度为128比特,密钥长度有128、192、256比特三种选择。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。