资源描述:
《一种随机密码表库多表替换字符加密思想》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一种随机密码表库多表替换字符加密思想古典密码思想在字符层面加密所起到的作用是基于比特级加密的现代密码算法所不能替代的,即使在计算机运算性能突飞猛进的今天,古典密码的编码思想仍具有很大的应用价值。本文提出了基于随机密码表库支持的多表替换字符加密思想,将分组密码一组一密1-3的现代加密思想与古典加密思想融合,利用数据库技术改进原始多表替换和密码本构建方式,提高了其安全性。 关键词密码学;字符加密;多表替换;数据库技术 TP392A1674-6708(2011)46-0229-02 0引言 大多数现代加密算法都沿续了古典加密思想的思考方式,所以运用
2、现代的新技术思想继续打造安全可靠的古典加密方法仍是一个现实可行的思路。在计算机出现之前,无法编制足够多的密码本,繁琐的检索和长时间的加解密过程都是制约古典密码思想发展的因素。本文将利用计算机技术,建立由大量随机密码表组成的码本库,设计一种新的多表替换密码,本文称之为随机字库码,简记为C2R2(RandomReplaceCharacterCipher)。 目前在字符级加密(尤其是针对汉字字符特点的加密)领域的研究和相关文献很少,不利于古典密码思想与现代密码学结合应用的发展,本文在这方面作出了有益的尝试。 1C2R2概述 C2R2借鉴分组密码一组一
3、密钥的思想,使每个字符都对应至少一个密码本,继承了多表替换密码在隐藏单字符的频率分布的优点,同时改进的随机替换方式解决了传统多表替换具有周期性、抗字典攻击和抗穷举攻击能力差的问题。 2C2R2设计 2.1汉字分组 由于简单多表替代编码,用统计字频的方法就可以较轻易地推算出可能的替换表。所以,C2R2利用数据库技术对字频高的字符的对应码本进行扩容,将其代替字符的数量大大增加,从而达到分散其字频分布的效果。针对不同的应用环境,字频统计结果也不同,具体分组应结合实际情况统计分析之后决定。本文只考虑一般性需求,将GBK中的20902个汉字分为四级:一级
4、频用字,约占0.2%;二级常用字,约占11.4%;三级鲜用字,约占38.4%;四级不用字,约占50%。 2.2密码本数据结构 将每个字符视为一个码本,每个码本为一个8*8n的数组,本文以最简单的8*8结构为例。 码本1-8位是跳位标识符T,表示目标字符码本的位置,范围是0-255,分别表示明文中与自身相距0到255个字符的位置;9-16位是密钥识符A,用于指出目标码本的生效字符,范围是0-255,表示第一个码本中有效的替换字符编号(对于8*8结构的码本仅有1、2、3三个编号);17-64位分3段,每两个字节表示一个备选替换字符。跳转位和密钥位的
5、值都由系统随机生成,备选替换字符的值则由分配算法依规则计算得出。 2.3备选替换字符分配算法 不包含外文字符和特殊符号,仅用一至三级汉字编写密文,用全部四级汉字编制明文的规则下: 1)三级鲜用字,每个字在所有码本中出现且仅出现一次; 2)二级常用字,每个字在所有码本中出现5~10次且不在同一码本中重复出现; 3)一级频用字,每个字在所有码本中出现500次且不在同一码本中重复出现; 4)码本空余替换字符位随机抽取一级频用字填补。 2.4C2R2算法 明文:M=m1m2…mi…mj 密文:C=c1c2…ci…cj 编码密钥:{T0,A
6、0};{T1,A1},{T2,A2},…,{Ti,Ai},…,{Tj,Aj} {T0,A0}取自标识字符的跳转位和密钥位,{Ti,Ai}取自有效码本字符的跳转位和密钥位 替换函数:F(x,k),f(x,y,K) 检索函数:s(m)输入一个明文字符m返回一个字符位包含m的码本字符k 密码本库:{k1,k2,…,kp,…,kq},{K1,K2,…,Ku,…,Kv} 冗余函数:r(n)随机添加n个冗余字符 判断函数:A(k)返回输入字符k密钥位的值,T(k)返回输入字符k跳转位的值 加密过程: c1=r(1)r(T0)F(A0,s(m1))
7、 ci=r(Ti-1)F(Ai-1,s(mi))(i>1) 密文中第一个字符为随机选取,其跳转位T0表示第一个明文字符的替换字符的位置,冗余函数r在它们之间随机填充T0个字符;密钥位表示第一个有效字符码本中生效的替换字符编号。第一个有效字符的跳转位表示第二个有效字符码本的位置;生效替换字符即为明文的第一个字符,以此类推。 解密过程: mi=f(Ti-1,Ai,s(mi)) 密文中第一个字符为标识字符,其跳转位表示第一个有效码本字符的位置;密钥位表示第一个有效码本字符中生效的替换字符编号。第一个有效字符的跳转位表示第二个有效码本字符的位置;生
8、效替换字符即为明文的第一个字符,以此类推。 2.5密钥同步 初始状态下,密报收发双方终端程序的码本库生成