网络安全的原则
在网络上"不允许"传输用户隐私数据的"明文"
在本地"不允许"保存用户隐私数据的"明文"
Base64编码
特点:可以将任意的二进制数据进行Base64编码
结果:所有的数据都能被编码为并只用65个字符就能表示的文本文件。65个字符:A~Z a~z 0~9 + / =
对文件进行base64编码后文件数据的变化:编码后的数据~=编码前数据的4/3,会大1/3左右。
Base64编码原理:
1. 将所有字符转化为ASCII码;
2. 将ASCII码转化为8位二进制;
3. 将二进制3个归成一组(不足3个在后边补0)共24位,再拆分成4组,每组6位;
4. 统一在6位二进制前补两个0凑足8位;
5. 将补0后的二进制转为十进制;
6. 从Base64编码表获取十进制对应的Base64编码
单向散列函数的特点
1. 加密后密文的长度是定长的
2. 如果明文不一样,那么散列后的结果一定不一样
3. 如果明文一样,那么加密后的密文一定一样(对相同数据加密,加密后的密文一样)
4. 所有的加密算法是公开的
5. 不可以逆推反算
总结:
1. 不可逆
2. 原文相同,散列值相同
3. 原文不同,散列值不同
4. 加密后密文的长度是定长的
散列函数的一些应用领域
搜索:多个关键字,先对每个关键字进行散列,然后多个关键字进行或运算,如果值一致则搜索结果一致
版权:对文件进行散列判断该文件是否是正版或原版的
文件完整性验证:对整个文件进行散列,比较散列值判断文件是否完整或被篡改
对称加密的特点和经典算法
特点:
1. 加密和解密使用相同的秘钥
2. 加密和解密的过程是可逆的
优点:
1. 性能好,效率高
经典算法:
1. DES:数据加密标准
2. 3DES:使用3个密钥,对消息进行(密钥1·加密)+(密钥2·解密)+(密钥3·加密)
3. AES:高级加密标准
ECB和CBC两种分组加密模式
ECB模式的全称为Electronic CodeBook模式。又称为电子密码本模式。
特点:使用ECB模式加密的时候,相同的明文分组会被转换为相同的密文分组。类似于一个巨大的明文分组——密文分组的对照表。
CBC模式全称为Cipher Block Chainning模式(密文分组链接模式|电子密码链条)
特点:在CBC模式中,首先将明文分组与前一个密文分组进行XOR运算,然后再进行加密。
非对称加密的特点和经典算法
非对称加密的特点:
1. 使用一个密钥对进行加密和解密,公钥加密,私钥解密
2. 公钥是公开的,私钥是保密的
3. 使用非对称加密来处理加密和解密的过程高度安全,但是效率低下,性能很差
经典算法:RSA
数字签名
应用场景:需要严格验证发送方身份信息情况
数字签名原理:
1. 客户端处理
① 对"消息"进行 HASH 得到 "消息摘要"
② 发送方使用自己的私钥对"消息摘要" 加密(数字签名)
③ 把数字签名附着在"报文"的末尾一起发送给接收方
2. 服务端处理
① 对"消息" HASH 得到 "报文摘要"
② 使用公钥对"数字签名" 解密
③ 对结果进行匹配
数字证书和公钥的关系
数字证书就是对公钥进行数字签名,数字证书和驾照很相似,里面记有姓名、组织、地址等个人信息,以及属于此人的公钥,并有认证机构施加数字签名,只要看到公钥证书,我们就可以知道认证机构认证该公钥的确属于此人
数字证书的主要内容:
1. 公钥
2. 认证机构的数字签名