Office加解密方式
2016-05-23 23:29
218 查看
1、加密方式:使用RC4 (Rivest Cipher 4 )对称加密算法。
2、加密思想:采用序列密码的设计思想实现加解密。
①
使用可变密钥长度(1 到256 字节)来初始化一个256字节的状态向量S
for (int i=0;i<=255;i++)
{
S[i]=i;
T[i]=K[i mod keylen];//K[]为密钥
}
②初始置换S
j=0;
for (int i=0;i<=255;i++)
{
j=(j+S[i]+T[i]) mod 256;
Swap(S[i],S[j]);
}
③密钥流的生成和加密
i=j=0;
while (明文未结束)
{
i=(i+1) mod 256;
j=(j+S[i]) mod 256;
Swap(S[i],S[j]);
t=(S[i]+S[j]) mod 256;
k=S[t]; //密钥流生成
密文C=下一明文字节^k;//加密:异或运算
}
④
解密:和解密算法相同,密钥相同。
2、加密思想:采用序列密码的设计思想实现加解密。
①
使用可变密钥长度(1 到256 字节)来初始化一个256字节的状态向量S
for (int i=0;i<=255;i++)
{
S[i]=i;
T[i]=K[i mod keylen];//K[]为密钥
}
②初始置换S
j=0;
for (int i=0;i<=255;i++)
{
j=(j+S[i]+T[i]) mod 256;
Swap(S[i],S[j]);
}
③密钥流的生成和加密
i=j=0;
while (明文未结束)
{
i=(i+1) mod 256;
j=(j+S[i]) mod 256;
Swap(S[i],S[j]);
t=(S[i]+S[j]) mod 256;
k=S[t]; //密钥流生成
密文C=下一明文字节^k;//加密:异或运算
}
④
解密:和解密算法相同,密钥相同。
相关文章推荐
- 各类排序算法的对比及实现
- tar压缩解压缩命令详解
- 学习计划
- BaaS模式的开发思路
- 这些HTML、CSS知识点,面试和平时开发都需要 No8-No9
- SQL Server数据类型与Oracle数据类型的对应关系
- Linux中常见的解压压缩文件命令
- java-设计模式实例
- Android点击两次back退出程序的两种方法
- Android中的事件分发机制
- 剑指Offer--046-求1+2+3+...+n
- 分组密码模式: CFB模式(密文反馈模式)
- CI(CodeIgniter)框架中的增删改查操作
- java-开发各种Java示例项目
- 读书笔记-大型分布式网站架构-设计与实践【陈康贤】
- Listview嵌套Viewpager实现仿淘宝搜狐广告主页,并实现listview的下拉刷新
- 第六届acm河南省赛——Adjacent Bit Counts
- JAVA中关于String类型的创建和字符串常量池的问题
- 2016年个人工作总结
- activeMQ-传输协议