呵呵呵呵呵

萝莉有三好,柔体 轻音 易推倒。女神有三宝,干嘛 呵呵 去洗澡。宅男有三好:Dota 基友 破电脑。


openssl aes-128-cbc加解密

openssl aes-128-cbc加解密

用Openssl来对文件进行AES-CBC方式加密的其中两个方式:一个是直接输入初始化向量,一个是不输入该向量,问题是不输入该向量的时候 Openssl是怎么处理的。。

1)openssl enc -e -aes-128-cbc -iv 0b1e1d000f0b07091d1f04071f1e0407 -k 1234567812345678 -in input.xml -out output.xml

2)openssl enc -e -aes-128-cbc -k 1234567812345678 -in input.xml -out output.xml
第二种方式的IV值是如何计算出来的

openssl加密的时候,默认iv是16个0(这个称为初始化向量),由于是分组加密,所以下一组的iv,就用前一组的加密的密文来充当,这就是cbc加密模式。

一般的加密通常都是块加密,如果要加密超过块大小的数据,就需要涉及填充和链加密模式,文中提到的ECB和CBC等就是指链加密模式。

分组密码加密中的四种模式:
ECB模式
优点:
1.简单;
2.有利于并行计算;
3.误差不会被传送;
缺点:
1.不能隐藏明文的模式;
2.可能对明文进行主动攻击;

CBC模式:
优点:
1.不容易主动攻击,安全性好于ECB,适合传输长度长的报文,是SSL、IPSec的标准。
缺点:
1.不利于并行计算;
2.误差传递;
3.需要初始化向量IV
 
CFB模式:
优点:
1.隐藏了明文模式;
2.分组密码转化为流模式;
3.可以及时加密传送小于分组的数据;
缺点:
1.不利于并行计算;
2.误差传送:一个明文单元损坏影响多个单元;
3.唯一的IV;
 
OFB模式:
优点:
1.隐藏了明文模式;
2.分组密码转化为流模式;
3.可以及时加密传送小于分组的数据;
缺点:
1.不利于并行计算;
2.对明文的主动攻击是可能的;
3.误差传送:一个明文单元损坏影响多个单元;

使用des3加密文件:
openssl des3 -salt -k 123456 -in file.tar.gz -out file.tar.gz.des3
使用des3解密文件:
openssl enc -des3 -d -in file.tar.gz.des3 -out file.tar.gz.1
使用aes加密文件:
openssl enc -aes-128-cbc -in file.tar.gz -out file.tar.gz.aes128cbc
使用aes解密文件:
openssl enc -d -aes-128-cbc -in file.tar.gz.aes128cbc -out file.tar.gz.2
也可以如下:
openssl enc -d -aes-128-cbc -k 123456 -in file.tar.gz.aes128cbc -out file.tar.gz.2

更多内容:

OpenSSL各种概念小结与命令行用法
openssl AES解密部分demo
openssl AES加密部分demo
openssl rsa解密部分代码demo
openssl RSA加密部分代码demo

本文链接地址:http://www.hehehehehe.cn/i/726.html