程序员

对加密算法 AES-128-CBC 的一些理解

2017-03-23  本文已影响8401人  Kake

对加密算法 AES-128-CBC 的一些理解

简单说明

需要参数

CBC模式:


用初始向量和密钥加密第一组数据,然后把第一组数据加密后的密文重新赋值给IV,然后进行第二组加密,循环进行直到结束

使用openSSL命令测试

加密

// -e加密,-aes-128-cbc指定使用加密算法,-iv指定偏移向量为16进制,-K指定16进制密钥,-in指定要加密的文件,-out指定密文输出文件
// 初始IV为16个字节的0x00, 密钥为 abcdefghijklmnop
openssl enc -e -aes-128-cbc -iv 0000000000000000 -K 6162636465666768696a6b6c6d6e6f70 -in input -out output

也可以直接用管道指向hexdump命令进行密文打印

openssl enc -e -aes-128-cbc -iv 0000000000000000 -K 6162636465666768696a6b6c6d6e6f70 -in input | hexdump -C

解密

// -d解密
openssl enc -d -aes-128-cbc -iv 0000000000000000 -K 6162636465666768696a6b6c6d6e6f70 -in input -out output

注意:


每组加密过的密文都要重新赋给偏移向量,然后进行下一组的加密,所以可以用上一组的密文来充当偏移向量解密这一组的密文

上一篇 下一篇

猜你喜欢

热点阅读