最近因为实验的项目很多都和安全相关,虽然我没有参与这些安全方案的编写,但是在项目中,安全方案是由我来实现的,所以,要理解安全方案的安全理念,就一定要有些信息安全的基础才行,所以我写下这篇blog,来补充一些信息安全的基础知识。
1.加密的方式:
这些概念也许都被耳濡目染了,什么对称加密,非对称加密,各种各种,很多人听了很多遍,但是就是只是知道其中泛泛的概念,真正实际用的时候,又开始不理解了,所以这里还是从总体阐述下:
1. 对称加密:由双方共同协商一个密钥(这个密钥就是一个符号,一个字符串,或者是其他,根据算法而定),然后由发送方(A)使用这个密钥K来加密,将明文变成密文,接收方B收到密文后,通过密钥K解密后,得到明文。
以上就是对称加密的基本内容,确实很简单,但是使用的时候,可能会产生一些问题,比如:对称加密方式算法有哪些?又该如何实现和使用呢?
所以这些都是问题所在:1.首先,对称加密的算法,常用的有DES算法,3DES算法,AES算法等等,2.我们又该实现和使用?每种语言基本都有对应的API或者是第三方API来实现的。
其实,要会用加密算法,最好是了解到其中原理以及对应过程有一定的了解,这样才不至于在加密的过程中,被搞的晕头转向的,哪里错了都不知道。这里介绍一种对称加密的算法:DES算法。
DES算法的算法原理可以在DES算法简介,这个链接里面搞懂,简单来说:DES数据加解密就是将数据按照8个字节一段进行DES加密或解密(DES的key为8个字节长度)得到一段8个字节的密文或者明文,最后一段不足8个字节,按照需求补足8个字节(通常补00或者FF,根据实际要求不同)进行计算,之后按照顺序将计算所得的数据连在一起即可。
DES算法又分为ECB模式和CBC模式。ECB模式其实很简单,就是将数据按照8个字节一段进行DES加密或解密得到一段8个字节的密文或者明文,最后一段不足8个字节