[发明专利]生成密码识别信息的加密方法无效
申请号: | 200910004226.8 | 申请日: | 2009-02-12 |
公开(公告)号: | CN101488848A | 公开(公告)日: | 2009-07-22 |
发明(设计)人: | 刘海云 | 申请(专利权)人: | 刘海云 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;G06F21/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 524099广东省湛江市赤*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 生成 密码 识别 信息 加密 方法 | ||
1、一种加密用户身份信息与随机密钥生成密码识别信息的方法
【1】、将384个字节的随机数据传送到数列ID的前384字节上,并将数列ID的前128个字节信息作为一个大整数x,用一个循环计算(x/K[i])%256并将计算结果添加在数列ID后面,
/*......添加后,ID已有512个数据,K[i]为大于65536的质数,0≤i<128,这是因为后面要采用排序所产生的位置序号代码来加密,用这种加密方法处理密码识别信息时,可能存在错误通过比对的情况,为了防止这种情况的出现,通过计算(x/K[i])%256并将结果保存在数列ID后面,记录大整数x的一些特征,以便在通过对用户身份信息UserID和随机密钥Random进行验证后,用大整数x的一些特征来进一步验证,以保证密码验证的可靠性。.........*/
【2】、产生长度为256个字节的随机数列P,利用私钥KeyText产生具有256个字节数据的数列S,将数列S按照从小到大的顺序排列,并将数列S中的字节数据在排序后的位置序号记录到由r[0],r[1],r[2],r[3],r[4],...,r[i],...构成的整数数列R中。用一个循环计算,
d[i+128]=d[i+128]^p[r[i]]
/*...这里对随机数据进行处理,是为了破坏伪随机的周期性,以便后面将这些数据用作随机密钥,其中r[i]表示数列S中原位置序号为i的整数在排序后,被放在序号为r[i]的位置,d[i]、p[i]分别表示数列ID、P中第i个数据,0≤i<256...*/
从数列ID中字节位置序号为128的位置开始,将用户身份信息UserID按顺序填入,根据用户输入的加密强度,计算随机密钥的长度Long,在数列ID中从用户身份信息UserID结束的位置后面开始,读取Long位的数据作为随机密钥Random,
/*...这里要求用户身份信息UserID和随机密钥Random总长度不超过256×8比特,如果超过,要调整数列ID的长度...*/
【3】、从数列ID中序号为256的字节开始,复制128个字节到数列P中,将数列P复制到数列S,照从大到小的顺序排列数列S中各字节数据,并将数列S中的字节数据在排序后的位置序号记录到由r[0],r[1],r[2],r[3],r[4],...,r[i],...构成的整数数列R中。
/*...其中r[i]表示数列S中原位置序号为i的整数在排序后,被放在序号为r[i]的位置,......*/
用一个循环,
将p[r[i]]传送到s[i]
计算d[i]=d[i]^s[i]
/*......即用数列S中数据加密数列ID首部的数据,,s[i]、d[i]、p[i]分别表示数列S、ID、P中第i个数据,0≤i<128............*/
【4】、将数列S复制到数列P,照从大到小的顺序排列数列S中各字节数据,并将数列S中的字节数据在排序后的位置序号记录到由r[0],r[1],r[2],r[3],r[4],...,r[i],...构成的整数数列R中。
/*......其中r[i]表示数列S中原位置序号为i的整数在排序后,被放在序号为r[i]的位置,......*/
用一个循环,
将p[r[i]]传送到s[i]
计算d[i+128]=d[i+128]^s[i]
/*......即用数列S中数据加密数列ID中部的信息数据,,s[i]、d[i]、p[i]分别表示数列S、ID、P中第i个数据,0≤i<128......*/
【5】、将ID的最后128个字节信息复制到数列P中,将数列P复制数列S,照从大到小的顺序排列数列S中各字节数据,并将数列S中的字节数据在排序后的位置序号记录到由r[0],r[1],r[2],r[3],r[4],...,r[i],...构成的整数数列R中。
/*...其中r[i]表示数列S中原位置序号为i的整数在排序后,被放在序号为r[i]的位置,......*/
用一个循环,
将p[r[i]]传送到s[i]
计算d[i]=d[i]^s[i]
/*...即用数列S中数据加密数列ID首部数据,s[i]、d[i]、p[i]分别表示数列S、ID、P中第i个数据,0≤i<128......*/
【6】、将数列S复制到数列P,照从大到小的顺序排列数列S中各字节数据,并将数列S中的字节数据在排序后的位置序号记录到由r[0],r[1],r[2],r[3],r[4],...,r[i],...构成的整数数列R中,
/*...其中r[i]表示数列S中原位置序号为i的整数在排序后,被放在序号为r[i]的位置,......*/
用一个循环,
将p[r[i]]传送到s[i]
计算d[i+256]=d[i+256]^s[i]
/*......即用数列S中数据加密数列ID中部的信息数据,s[i]、d[i]、p[i]分别表示数列S、ID、P中第i个数据,0≤i<128......*/
【7】、将数列ID中奇数字节位置上的数据都向前移两位,并将移出的信息添加到前一个奇数位置字节数据的尾部,将第一个字节数据移出的信息添加在倒数第二个字节数据的尾部,
将数列ID中偶数字节位置上的数都向后移一位,并将移出的信息添加到后一个偶数位置字节数据的首部,将最后一个字节数据移出的信息传送给第二个字节数据的首部,
将数列ID的前256字节复制到数列Q前256字节中,将数列ID的后256字节数据按序复制到数列ID中位置序号为奇数的字节上,将数列Q中前256字节数据复制到ID中位置序号为偶数的字节上,
【8】、产生一个由516个字节构成的随机数列,并将该数列复制到数列P中,采用某种算法利用随机密钥Random和用户身份信息UserID派生一个由516字节构成的数列,并将该数列复制到数列S,用一个循环计算
p[i]=p[i]^s[i]
/*...s[i]、p[i]分别表示数列S、P中第i个数据,0≤i<516,这一步用于防止系统提供的伪随机数据具有周期性,通过这步处理可使流密码分析法失效......*/
【9】、将数列P前512个字节复制数列S,照从大到小的顺序排列数列S中各字节数据,并将数列S中的字节数据在排序后的位置序号记录到由r[0],r[1],r[2],r[3],r[4],...,r[i],...构成的整数数列R中,
/*...其中r[i]表示数列S中原位置序号为i的数据在排序后,被放在序号为r[i]的位置。......*/
用一个循环,将d[r[i]]传送到q[i]
/*...(0≤i<512)......*/
【10】、v=0
用一个循环加密数列ID:
v=((i+5)(p[i/2])(i+5)+(i+4)(p[i/2+1])(i+4)+(i+3)(p[i/2+2])(i+3)+......+(i/2+1)(p[i+4])(i/2+1))%(2563)+v/256
d[i]=q[i]^(v%256)
/*............其中v为定义的变量,0≤i<512,取变量v后一个字节中信息给数列ID中的信息加密,q[i]、d[i]、p[i]分别表示数列Q、ID、P中第i个数据,......*/
【11】、将数列ID添加到数列P后面,
/*......以便后面继续加密,添加后数列ID的长度为1028......*/
随机密钥Random在前、用户身份信息UserID在后,将两者连接在一起,构成一个长为n位的二进制数列RU,将数列P中前(n/4-11)字节中的奇数位的信息复制添加到数列RU的尾部,
从第(n/4-10)个字节开始,将数列P中字节数据添加到数列RU的尾部,直到数列RU的长度为1032×8位,
v=0
用一个循环加密随机数列P:
v=((i+5)(u[i/2])(i+5)+(i+4)(u[i/2+1])(i+4)+(i+3)(u[i/2+2])(i+3)
+......+(i/2+1)(u[i+4])(i/2+1))%(2563)+v/256
d[i]=p[i]^(v%256)
/*............u[i]、d[i]、p[i]表示数列RU、ID、P中第i个字节中数据,0≤i<1028,n>8×8......*/
【12】、将随机密钥Random的位长Long添加在数列ID末尾,这样就构成了用于在解密时识别用户身份信息UserID和随机密钥Random的密码识别信息PassID。
所述加密强度取决于加密用户身份信息UserID和随机密钥Random后所生成的密码识别信息PassID,解密时,只有先完成对密码识别信息PassID的解密,才能保证对明文的密文进行正确解密,以释放明文,并且解密时,在确认用户身份信息UserID和随机密钥Random都正确后,从明文的密文中解出明文的计算量相对总计算量而言往往非常小。因此,所述加密强度也等于对明文进行加密的加密强度并且是下列其中之一:解密的平均计算量、解密的最大计算量、解密的平均计算量相对加密时计算量的放大倍数、解密的最大计算量相对加密时计算量的放大倍数、解密的平均计算量相对单次解密时计算量的放大倍数、解密的最大计算量相对单次解密时计算量的放大倍数、在预定速度机器上的平均解密时间、在预定速度机器上的最长解密时间,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于刘海云,未经刘海云许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910004226.8/1.html,转载请声明来源钻瓜专利网。
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置