- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多对多引出的对密码学的新认识.doc
多对多引出的对密码学的新认识
河北工业大学计算机科学与软件学院
摘要 本文简单介绍了被普遍认为是密码界真理的一些现状,根据我们研制排列码的实践提出了我们的一些新的见解,以供科学界进行验证。
关键字 密码学 分组密码 流密码 排列码 信息论 信息安全
1密码学的现状
1.1 当前对密码的分类
根据密钥的特点,Simmons[1]将密码体制分为对称和非对称密码体制两种。对称密码体制又称单钥或私钥或传统密码体制,非对称密码体制又称双钥或公钥密码体制。在私钥密码体制中,加密密钥和解密密钥是一样的或彼此之间容易相互确定。按加密方式又可将私钥密码体制分为流密码和分组密码两种。在流密码中,将明文消息按字符逐位地加密。在分组密码中,将明文消息分组(每组含有多个字符),逐组地进行加密。在公钥密码体制中,加密密钥和解密密钥不同,从一个难于推出另一个,可将加密能力和解密能力分开。当前对分组密码的概念是模糊的,一个字符是8比特,这是分组密码还是流密码?许多初学者无法区分分组密码和流密码。由此把人们的研究引入到研究分组密码,密钥一定不能改变,因此分析分组密码仅分析一个分组就可以,因为整个文件的加密强度是一个分组的加密强度。而流密码每次加密一个单位(一个单位或一个比特),每个单位的加密强度等于1,流密码的加密强度取决于对密钥流变化规律的隐藏。
1.2 当前对信息空间的认识
由n位2进制数字组成的信息空间的大小是2^n[2]。因为他的真值表是2^n,或者说他的全排列个数是2^n。这里忽略了n位2进制数字的位置信息。因此人们研究的信息空间不能越过2^n。一见到超过2^n,不用想就是错的,研究超过2^n的信息空间就好象发明了永动机一样不可思议。
1.3 当前加密方法只能使用一对一的影射
现在所见到的除我们以外所有的书籍和论文,以及文字资料,都认为加密不能有两个以上的明文加密成同一密文,也不能有两个以上的密文解密成同一明文。因为若有两个明文对应同一个密文,那这个密文变成哪个明文将无法确定[3],因此此加密没有实用价值。人们只能在一对一的影射领域内研究问题。
1.4 分组密码的加密强度只能靠增加加密长度来实现。
DES被攻破之后,人们认为只有加大n,才能解决加密强度问题。因此美国推出AES时主要指标之一是n=128,认为n128是不可靠的。因为加密强度不能大于2^n。
2.排列码简介
排列码加密方法[4],[5]让我们获得了中国发明专利,专利号为ZL 99 1 07969.86号专利2006.12.20授权200310107542.0号专利2007.12.05授权200310107543.5号专利2007.08.29授权200310107544.X号专利2007.12.05授权200310107545.4号专利 2007.10.10授权200310107546.9号专利2007.11.14授权200310107547.3号专利2007.08.29授权200310107548.8号专利2007.12.05授权SR09926、2005SR09927、2005SR10917、2005SR10918、2005SR12749、2005SR12750、2005SR12751 。
2.1 n=4的排列码演示程序设计说明:[6]
①排列码表见表1,这样的表共有24!个。
我们任意地建立其中的256个。
表中第5行4 0 3 1 2表示当Key=4时,明文第0位的2进制数送第0位做密文, 明文第1位的2进制数送第3位做密文, 明文第2位的2进制数送第1位做密文, 明文第3位的2进制数送第2位做密文。
为了节省存储空间,0用2进制数00表示 , 1用2进制数01表示 ,2用2进制数10表示 , 3用2进制数11表示, Key 用存储地址来表示。这样1个排列码表占24个字节。
表1 排列码表
Key 0 1 2 3
0 0 1 2 3
1 1 2 3 0
2 2 3 0 1
3 3 0 1 2
4 0 3 1 2
5 0 3 2 1
……..
23 3 2 1 0
②关于密钥的设计,用1个字节作整数,它表示的范围是0~255。根据他的值就可以确定一个排列码表。
在这个排列码表中,再进行模24运算。得到一个0~23的整数,恰好对应排
文档评论(0)