汉字快速加密解密系统的设计与实现_第1页
汉字快速加密解密系统的设计与实现_第2页
汉字快速加密解密系统的设计与实现_第3页
汉字快速加密解密系统的设计与实现_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、汉字快速加密解密系统的设计与实现摘要:本文根据目前国内汉字加密解密技术稀缺、密文字符可读性和可复制性太差的现状,提出并实现了一种基于GB2312汉字编码的加密解密解决方案。在文中详述了系统的架构、核心算法的实现步骤,并对系统的加解密性能和特征做了分析讨论。关键词:GB2312汉字编码汉字信息加密可移植加密解密系统0引言2汉字编码汉字的数量是英文字母数量的几个数量级,根本汉字汉字的偏旁与部首也比英文字母多得多,并且汉字的组合也比英文字母简单的前后组合复杂得多,因此我们不能用ASII码或者其它简单的单字节编码代替汉字。常用汉字有3500多个,有总汇汉字之大成评价的?康熙字典?收录汉字四万多个,在1

2、994年出版的?中华字海?收录的汉字那么多达87019个,而已经通过专家鉴定的北京国安资讯设备公司的汉字字库,收入有出处的汉字有91251个。目前汉字编码中主要用到的有三类,包括GBK,GB2312和Big5,本文研究以GB2312编码为例。GB2312又称国标码,由国家标准总局在1981年发布并施行,通行于大陆。它是一个简化字的编码标准,共有7445个图形字符,其中汉字占6763个。GB2312规定对任意一个图形字符都采用两个字节表示,每个字均采用七位编码表示,习惯上称第一个字节为高字节,第二个字节为低字节。GB2312中汉字的编码范围为,高位字节为0 xB0-0 xF7(对应十进制为176

3、-247),低位字节0 xA1-0 xFE对应十进制为161-254。GB2312将代码表分为72个区0XB0-0XF7,对应高位字节;每个区有94个位0XA1-0XFE,对应低位字节,两个字节的值合称为区位码。其中01-09区为符号、数字区,16-87区为汉字区0 xb0-0 xf7,10-15区、88-94区是有待进一步标准化的空白区。3加密/解密体制在本文所设计的汉字加密系统中,首先从指定的可识别格式如文本文档的文档中读取汉字信息,并按照GB2312编码标准将汉字转换成数字形式,再将汉字的数字形式以特定的加密算法与加密密钥进展加密运算,并将得到的结果转换成GB2312汉字密文字符,最后输

4、出成密文文档。相应的,在解密系统中,首先从特定格式密文文档中读入加密后的汉字,再将密文汉字按GB2312编码标准转换成数字形式,然后根据解密算法与解密密钥进展解密运算,将运算结果转换成GB2312明文字符,最后输出成明文文档。整个系统构造如图一所示。3系统实现3.1汉字编码特征分析GB2312编码中,汉字编码高位字节范围为0 xB0-0 xF7176-247,共72种取值,低位字节范围为0 xA1-0 xFE161-254,共94种取值。为了进步密文字符的可读性和可复制性,方便密文的保存和传递,加密后的汉字密文取值范围也指向GB2312汉字区域。3.2汉字与数字编码之间的互相转化在GB2312

5、字符编码表中,汉字用两个字节表示,假设一个汉字的高字节为1,低字节为2,1和2那么分别为密文汉字的高字节和低字节。E1、E2分别为对高、低字节的加密运算函数,那么加密的转换可表示为:1=E11(d72)+1762=E22(d94)+161解密运算为加密运算的逆过程,假定D1、D2分别为对高、低字节的解密运算函数,解密时对密文汉字的上下字节分别进展解密运算得到明文高、低位字节:1=D11(d72)+1762=D21(d94)+161在本系统中,软件先从指定格式文档中逐个读取汉字,将汉字的高位和低位转换成两个数字并分别保存到变量1、2中,对1和2同时进展加密或者解密运算后得到1和2,1和2进展转换

6、后可组合成一个GB2312编码的明文汉字,1和2进展转换后那么可组合成一个GB2312编码的密文汉字。3.3系统算法实现整个系统实现的大致算法如下:3.3.1系统初始化包括汉字存储文件的读取,并从文件中逐个提取需要加密或解密的字符文字存储到相应变量中;设定加、解密断定参数以方便系统智能选择加密或解密操作。3.3.2汉字数字化即将汉字的两个字节独立开来,并将之转换成以序号为标识的数字形式,设读入的汉字为GBrd,高字节存放于字符变量1,低字节存放于字符变量2。那么1=(unsignedhar)GBrd.at(0)-1762=(unsignedhar)GBrd.at(1)-1613.3.3加解密操

7、作断定根据初始化加解密参数对读入的字符进展操作断定,假如是加密那么进展加密操作,否那么进展解密操作。3.3.4加密或者解密运算本系统中多种算法均可套用,以凯撒挪移码aesarShiftipher为例,加密运算为:1=E11(d72)+176=1+4d72+1762=E22(d72)+161=2+5d94+161解密运算为:1=D11(d72)+176=1-4d72+1762=D22(d72)+161=2-5d94+1613.3.5数字汉字化将两个所得的数字按GB2312编码表的规律转换成汉字,加密或解密后GB2312编码的高字节为1+176或1+176,低字节为2+161或2+161,两两组合

8、便可得出GB2312的16进制数字编码,进而得到汉字。3.3.6自动创立一个指定格式的文件,并将已加密或解密的汉字及相应其他未作加、解密处理的字符逐字写入到该文件中。并判断原文件中是否所有汉字均已经完成加、解密操作,假如是那么跳到下一步,否那么返回第二步。3.3.7保存解密所得的明文文件或加密所得的密文文件,整个系统的加、解密操作完毕。整个系统的算法如图二所示。4测试及总结限于篇幅,本文以包含加密系统实例这一短语的文本文档为例作测试,该短语的GB2312十六进制编码分别为BD4BDE33DFB5DB3ABE0BE,每个汉字中前面两个数字为一个位表示区号,后面两个数字为一个位表示区中的序号。利用本文选用的算法步骤4中的公式进展加密后密文十六进制数字形式为0D91E87E1D3BAD1B8E343,按照GB2312编码机制对应的汉字密文为:蕾凌轻雍迅蚊穆。再经解密算法可以正确的得到十六进制编码字符串BD4BDE33DFB5DB3ABE0BE,即为GB2312编码的汉字明文加密系统实例。针对目前现有汉字加密技术在密文信息传递方面存在的缺陷,本文采用改良密文取值域的思路所设计的加解密系统不但可以有效地进展汉字信息加密和解密,还可以根据详细需求非常方便地移植其它加解密算法,系统得到的密文不包含空格、英文、希腊文、俄文、日文和其

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论