[发明专利]一种文件加密处理方法无效
申请号: | 94108443.4 | 申请日: | 1994-07-14 |
公开(公告)号: | CN1102310C | 公开(公告)日: | 2003-02-26 |
发明(设计)人: | 林仙坎 | 申请(专利权)人: | 林仙坎 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 福州元创专利代理有限公司 | 代理人: | 吴可同 |
地址: | 350003 *** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件 加密 处理 方法 | ||
1.一种文件加密处理方法,经过初始置换、乘积变换、逆初始置换操作,所形成的计算所程序与计算机存贮系统,和/或计算机通讯系统,和/或计算机中、英文操作系统相结合,完成对数据的加密、解密,其特征在于:
(1).用户密钥由键盘取得;用户密钥长度可在1~16字节之间变化;
由源密钥计算子密钥,16字节的源密钥共有128比特,先将这128比特从首部开始依位置顺序编号为1,2,3,...,128,经过压缩置换1成为C0D0,然后进行32次的如下操作:把Ci-1、Di-1经逻辑移位成为CiDi,又经压缩置换2后输出12字节长的子密钥Ki,所述的i=1,32:
(A).压缩置换1的操作步骤表示在下述表1中,
115 99 83 67 51 35 19 3
117 101 85 69 53 37 21 5
119 103 87 71 55 39 23 7
123 105 89 73 57 41 25 9
125 107 91 75 59 43 27 11
127 109 93 77 61 45 29 13
114 98 82 66 50 34 18 2
128 112 96 80 64 48 32 16
126 110 94 78 62 46 30 14
124 108 92 76 60 44 28 12
122 106 90 74 58 42 26 10
120 104 88 72 56 40 24 8
118 102 86 70 54 38 22 6
116 100 84 68 52 36 20 4
表1即把输入的第115比特作为C0的第1比特,把输入的第99比特作为C0的第2比特,依此类推;把输入的第128比特作为D0的第1比特,把输入的第112比特作为D0的第2比特,依此类推;
(B).逻辑移位产生的Ci、Di是由函数LMi与Ci-1,Di-1分别决定,即由下式所示:Ci=LMi(Ci-1)Di=LMi(Di-1) 其中i=1,32,函数LMi表示逻辑移位,其具体操作是:当i=1,2,9,16,17,18,25,32时,把变量Ci-1或Di-1循环左移1位,当i为其他值时,把变量Ci-1或Di-1循环左移2位;
(C).压缩置换2的操作步骤表示在下述表2中,
14 27 31 1 6 101 93 80 4 94 43 26 67 59 15 97
23 57 36 75 50 109 39 9 49 105 69 7 32 72 86 52 102 66 28 78 112 11 38 60 91 8 87 47 81 62 17 103
54 96 16 88 34 110 84 42 73 58 85 21 99 51 2 79
45 111 46 89 56 10 74 68 55 5 106 37 70 95 48 22
13 19 77 104 24 40 90 63 30 108 33 64 20 98 41 82
表2即把CiDi的第14号比特作为Ki的第1号比特,把CiDi的第27号比特作为Ki的第2号比特,依此类推,所述的i=1,32;
(2)把源文件进行分块,对于作为加密或解密对象的源文件是数字讯号的文本、或图像、或声音、或图形、或表格、或库函数、或可执行程序等形式的文件;把源文件按每码块16字节长度进行分组;处理碎块的方法是增加一些信息,所增加的信息必须包含有一个特殊信息即碎块长度,其余的新增信息用伪随机数填充;解密时,据碎块长度信息把新增加的信息截断,完整地恢复原明文的面貌;
(3)对所述的各码块施行加密算法,输入128比特的明文或密文和长度为16字节的子密钥32个,其输出是128比特的密文或明文:
(A).初始置换的方案是,把输入的比特B2j+8i作为输出的字Wj的第i位,此时j=1,4,把输入的比特B(2j-9)+8i作为输出的字Wj的第i位,此时j=5,8,所述的i=0,15;
(B).乘积变换是一个不断迭代的过程,共进行32次,初始置换的输出作为第一次迭代的输入,以后的操作就是把前一次迭代的输出作为后一次迭代的输入,第32次迭代的结果作为逆初始置换的输入;用O表示每一次迭代输出或输入数据的奇数字节,E表示偶数字节,F表示加密函数,加密时,对第i次的迭代使用了子密钥Ki,并且Oi=Ei-1,Ei=F(Ei-1)Oi-1,解密时,对第i次的迭代使用了子密钥K33-i,并且Ei=Oi-1,Oi=F(Oi-1)Ei-1所述的i=1,32;
(C).逆初始置换的方案是这样的:令IN1=80、IN2=16、IN3=96、IN4=32、IN5=112、IN6=48、IN7=128、IN8=64,把输入的第(INi-j+1)比特,作为输出的字节BYTEj的第(8-i)位,此时j=1,16,i=1,8;
所述的加密函数F是由扩展变换、异或子密钥运算、密盒替代、变换E所组成,对于输入64比特的数据,先经过扩展变换成96比特的数据,再经过96比特的子密钥异或作用成96比特的数据,又经密盒替代成64比特的数据,最后经过变换E,输出64比特数据:
(a).所述的扩展变换的操作是这样的:对于输入的64比特,首先从第二比特开始顺序分成16组,每组4比特,且把第一比特放在第62、63、64比特之后形成最后一组,即形成如下的排列:2 3 4 5 6 7 8 9
10 11 12 13 ... 62 63 64 1然后把每一组扩展成6比特,扩展的方法是把每一组的后面2比特顺序拷贝在其后面,即形成如下的排列: 2 3 4 5 4 5 6 7 8 9 8 9
10 11 12 13 12 13 ... 62 63 64 1 64 1
最后,把扩展后的最后一组的后面二个比特即第64、第1比特顺序移放在扩展后的第一组的前面,就形成了扩展变换的输出结果;
(b).密盒替代是一种压缩替换,密盒中有16个密表,每一个密表分成为4行×16列,其操作是把输入的96比特数据依次平均分成16组,每组6比特,每一组的替代依次对应一个密表,在6比特的输入数据中,头尾2比特组成行号,中间4比特组成列号,依此行号、列号在对应的密表中提取出元素值作为输出,各组的输出依次组合在一起,成为密盒替代的输出数据64比特,所述的密表如下表3、表4:
(c).变换E是一种产生伪随机数的置换操作,由密盒替代所得到的64比特数据作为本过程的输入,对于输入8字节的SXi,分别从首尾搜索SXi的非零值,如未找到,则令SX0=7,把SXi作为加密函数F的结果输出,所述的i=0,7;如找到了,则利用输入的8字节数据,进行产生伪随机数的置换操作,得到8字节的输出数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于林仙坎,未经林仙坎许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/94108443.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:数据库检索方法及系统
- 下一篇:护肝奶粉的配方及其生产方法