Java教程

加解密与HTTPS(1)

本文主要是介绍加解密与HTTPS(1),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

您好,我是湘王,这是我的慕课手记,欢迎您来,欢迎您再来~


网络安全是最近几年越来越被社会和国家高层关注的问题,比如米国网络部队、棱镜门、乌云网事件、摄像头偷拍等武汉在2019年就建成了全国最大也是唯一的网络安全基地(2016年10月1日,国家批示在武汉建设世界一流的国家网络安全学院)

网络安全,外行看热闹,内行看门道——大多数人只知道是防范黑客对信息的窃取和攻击,但与黑客相比,代表黑灰产的黄牛党、羊毛党、金融诈骗、洗钱,甚至网络攻击,才是网络安全的重点盯、防、打对象而密码学、通信协议、认证授权就是整个网络安全的三大底层支撑,就好比人离不开呼吸,没有它们,信息安全无从谈起

密码学,顾名思义,就是研究编制密码和破译密码的学问,以前经常在谍战片中看到摩尔斯码,就是一种密码学的应用

明文是要发送的信息而密文是经过加密处理之后,隐藏原文含义的信息

密钥就是那个加密过程最直接的就是密电本,比如一本书,收发双方知道书的页码和行列规则就可以据此来加密和解密信息

现代密码学所涉及的学科包括:信息论、概率论、数论、计算复杂性理论、线性代数、离散数学、几何学、逻辑学等

这里只说密码,只说和实际开发应用相关的东西

加密算法,就是把明文变成密文的过程这个过程可以有三种方式

1、对称加密

2、非对称加密

3、不可逆加密

 

这里先说说对称加密算法

所谓对称加密就是信息的收发双方都需要事先知道密钥和加密规则,很多谍战剧中的主角,用就是这种对称加密算法因为双方的密钥完全相同,所以叫对称加密有几种常用的对称加密算法

1、DES

2、3DES

3、AES

 

对称加密算的一般流程是这样的

https://img2.sycdn.imooc.com/639b2cb20001959806970510.jpg


全称数据加密标准(Data Encryption Standard),广泛应用于POS、ATM、收费站等金融领域DES是一种分组加密算法:每次处理固定长度的数据段,分组大小是64位DES的安全性依赖于“混淆”与“扩散”这两个原则:混淆的目的是为隐藏任何明文同密文、或者密钥之间的关系,而扩散的目的则是使明文和密钥一起组成尽可能多的密文DES加密过程的关键就是从给定的初始密钥中得到16个子密钥

要加密一组明文,每个子密钥按照顺序(1-16)以一系列的位操作施加于数据上,每个子密钥一次,一共重复16次,每一次迭代称之为一轮

https://img4.sycdn.imooc.com/639b2cbe0001293904790622.jpg


3DES也就是Triple DES,是从DES向AES过渡的算法,使用3条56位的密钥对数据进行3次加密,是DES的升级版

1、3DES的加密过程:加密-解密-加密(不全是加密)

2、3DES的解密过程:解密-加密-解密(不全是解密)

 

AES全称高级加密标准(Advanced Encryption Standard),微信小程序的加密传输就是用的它

AES的加密过程大体上可以分为字节代换、行位移、列混合和轮密钥加这几个步骤,把DES的混淆和扩散最大化AES也采取分组加密的方式,就是把一段话分成几段,每一段分别加密,然后再把它们拼接到一起成为密文同样会把明文用相同的加密方法重复加密很多次

密钥和明文一样,也会被分组每次都将密钥中的一组数据加入到被加密的密文中,参与加密过程,这就是通常所说的轮密钥加

https://img2.sycdn.imooc.com/639b2ccb000194ae06630601.jpg


感谢您的大驾光临!咨询技术、产品、运营和管理相关问题,请关注后留言。欢迎骚扰,不胜荣幸~



这篇关于加解密与HTTPS(1)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!