想要了解iOS的签名机制需要有一定密码学有一定的了解。下面依次介绍的数据的加密解密、单向散列函数、数字签名、证书、iOS签名机制。
在网络通信中想要防止数据被攻击者拦截,我们通常对我们的数据进行加密(通过密钥对发送的消息根据加密算法生成密文),如果传输的信息被拦截,攻击者获取到的是密文。
根据密钥的使用方法,可以将密码分为2中
对称密码
公钥密码(非对称密码)
在对称密码中,加密、解密使用的相同的密钥。常见的对称密码算法DES、3DES、AES。
DES是一种将64bit明文加密成64bit密文的对称密码算法,密钥长度是56bit
由于DES每次只能加密64bit的数据,遇到比较大的数据,需要对DES加密进行迭代(反复)
目前已经可以在短时间内被破解,所以不建议使用
3DES,将DES重复3次所得到的一种密码算法,也叫做3重DES。
目前还被一些银行等机构使用,但处理速度不高,安全性逐渐暴露出问题
取代DES成为新标准的一种对称密码算法
目前AES,已经逐步取代DES、3DES,成为首选的对称密码算法
由于对称密钥加密会遇到密钥配送问题。如果发送者在发送密钥的过程中被拦截发送的加密的密文也能被拦截者解密。为了解决对称加密密钥配送问题就出现了新的加密方式-非对称加密。
在公钥密码中
加密密钥,一般是公开的,因此该密钥称为公钥(public key)
解密密钥,由消息接收者自己保管的,不能公开,因此也称为私钥(private key)
公钥和私钥是一 一对应的,是不能单独生成的,一对公钥和密钥统称为密钥对(key pair)
由公钥加密的密文,必须使用与该公钥对应的私钥才能解密
由私钥加密的密文,必须使用与该私钥对应的公钥才能解密
公钥密码解决对称密码加密遇到的配送问题
由消息的接收者,生成一对公钥、私钥
将公钥发给消息的发送者
消息的发送者使用公钥加密消息
目前使用最广泛的公钥密码算法是RSA
。RSA的名字有3位开发者,即Ron Rivest、Adi Shamir、Leonard Adleman的姓氏首字母组成。
公钥密码算法虽然解决了密钥配送问题,但是他们生的算法加密速度比公钥密钥加密较慢,不适合加密信息量加大的数据。为了解决这个问题我们使用-混合密码系统
混合密码系统利用了公钥密码+对称密码,利用两者的优势的加密方式。
加密步骤
上一篇:IOS签名的注意事项 - 知乎