Swift Openssl中aes的使用
一.openssl下aes算法及应用
1.AES加密模式
AES属于对称加密算法,加解密使用同一个秘钥。 对称加密算法,一般有至少4种模式,即CBC、ECB、CFB、OFB等。
2.AES块分组长度
AES 作为块密码算法,加解密的时候,需要将操作数据按固定长度的数据块进行分组后再进行处理。
对于AES算法,其分组长度都是固定16字节大小。
AES | 密钥长度(字节) | 分组长度(字节) | 加密轮数 |
---|---|---|---|
AES-128 | 16 | 16 | 10 |
AES-192 | 24 | 16 | 12 |
AES-256 | 32 | 16 | 14 |
3.AES CBC模式
加密
|
|
解密
|
|
调用
|
|
执行情况
|
|
4.AES ECB模式
加密
|
|
解密
|
|
调用
|
|
执行情况
|
|
5.AES CFB模式
CFB(Cipher Feedback)模式是一种流密码模式,它允许将块密码转换成流密码,使其可以对数据进行连续加密和解密,而不是分块。
在 CFB 模式中,加密和解密的输出需要与明文或密文进行异或操作生成,以便生成加密或解密的数据流。
特别注意
1.CFB模式加密和解密均使用加密key,这一点反常规,务必注意。
2.CFB模式不需要对输入数据进行填充。
加密
|
|
解密
|
|
调用
|
|
执行情况
|
|