美文网首页
iOS安全机制和加密算法

iOS安全机制和加密算法

作者: CoderXYF | 来源:发表于2016-12-01 16:16 被阅读108次

    网络安全的原则

    在网络上"不允许"传输用户隐私数据的"明文"

    在本地"不允许"保存用户隐私数据的"明文"

    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. 认证机构的数字签名

    相关文章

      网友评论

          本文标题:iOS安全机制和加密算法

          本文链接:https://www.haomeiwen.com/subject/zhjzpttx.html