CN102761418B - 一种字符压缩加密方法 - Google Patents
一种字符压缩加密方法 Download PDFInfo
- Publication number
- CN102761418B CN102761418B CN201210244448.9A CN201210244448A CN102761418B CN 102761418 B CN102761418 B CN 102761418B CN 201210244448 A CN201210244448 A CN 201210244448A CN 102761418 B CN102761418 B CN 102761418B
- Authority
- CN
- China
- Prior art keywords
- character
- code
- binary
- string
- encryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Abstract
本发明公开了一种字符压缩加密方法,属于信息安全保护领域,通过将文字转换成对应unicode字符集的区位码,并将该区位码转换成二进制编码,然后对所述二进制编码进行补“0”操作,最后转换成新的字符,同时还可以先对待加密的信息进行椭圆加密,本发明本文所采用的方法实现简单,能同时实现汉字、字母、数字等进行安全加密,且易于实现,由于具有比其它现有的汉字加密算法更好的抗攻击性能,且经过加密后的信息体积更小,能够实现密文的无损还原。
Description
技术领域
本发明属于信息安全保护领域,特别是涉及一种汉子压缩加密方法。
背景技术
随着信息技术的发展,信息传递保密性要求日益增强,无论是数据库安全存储、信息通信、电子商务活动,都迫切需要保证信息安全。网络安全和信息安全已经成为发展信息技术的瓶颈。信息安全问题己经提升到关系信息化建设和发展的核心地位,研究加密算法,使得加密后的信息很难被人找到解密方法,实现非可信公共信道的可信交换或共享数据信息安全存储。
ECC(Elliptic Curve Cryptosystems,椭圆曲线密码机制)是目前常用的一类公钥密码系统,由于椭圆曲线密码在安全性、实现效率和实现代价等方面相对于其它公钥密码系统的优势,它已经得到越来越广泛的应用,与其他公钥加密系统相比有很多优点,除了它可以通过更短的密钥来达到同样的安全强度外,还具有计算负载小,密码尺寸短等优点,并被许多国家和国际标准组织采纳为公钥密码算法标准,但是ECC也存在其不足的地方,其加密和解密操作的实现比其他加密机制花费的时间更长。
不同于西文字符只占一个字节,中文字符要占两个字节,每个字节都对应自己ASCII码,一个汉字为二个ASCII码,研究汉字加密的关键为确保对密文的无损还原、汉字信息数值化表示和加密机制的安全易用性,目前大多数的信息加密解密技术都只能应用于如字母、数字、标点符号等单字节字符构成的信息,而缺乏可用于计算机汉字这种双字节字符所构成的信息文件加密的加密体制,并且现有的加密技术缺少具有广泛应用所需的简易性。
实际问题中需要保护的中文字符串或中文文档内容,一般都会含有西文字母或符号,还可能存在半角标点符号,这是研究双字节文字加密算法的技术难点,采用ASCII码字符集实现汉字的数字化,对实现密文的无损还原是困难的,还原时单字节的西文是1个字节对应1个字形,而双字节的汉字则是2个字节对应1个字形,如果把本应单字符对应的1个ASCII码按双字节完成转换,或把对应汉字的两个字节做了单字节变换,都会使还原后的信息出现乱码或错误,出现密文的有损还原或错误还原。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种应用范围广、安全性能更高的汉字压缩加密方法。
为实现上述目的,本发明提供了一种字符压缩加密方法,其特征在于包括以下步骤:
步骤一、将待加密的字符转换成unicode字符集对应的区位码;区位码由区码和位码组成;
步骤二、将步骤一得到的各区码和位码均转换成7位二进制数,当所述区码或位码转换成二进制数不足7位时,在所述区码或位码的高位前补加“0”,直到所述区码或位码转换成的二进制数均为7位;
步骤三、将各区位码的二进制数按字符顺序依次合并排列;
步骤四、判断合并后的二进制数串中二进制码的个数是否为16的整数倍;当合并后的二进制数串中二进制码的个数不是16的整数倍时,在合并后的二进制数串中二进制码的末尾补加“0”,直到所述合并后的二进制数串中二进制码的为16的倍数;
步骤五、在合并后的二进制数串中依次截取16位二进制数,并将其转换成字符。
由于步骤四中需要在合并后的二进制数串中二进制码的末尾补加“0”,较佳的,还包括快速计算缺零数的步骤;所述缺零数与步骤四中所述合并后的二进制数串中二进制码的个数之和为16的整数倍;
A1、计算T=16-(2×7×N)mod16,T为缺零数,N为字符个数,T≥0,N为正整数;
A2、在在合并后的二进制数串中二进制码的末尾补加T个“0”。
由于能够快速的计算出需要加“0”的个数,提高了工作效率。
相应的,还包括对加密后的字符进行解密的步骤;所述对加密后的字符进行解密的步骤按以下步骤进行:
B1、将加密后的字符转换成对应的第一二进制码串;
B2、从步骤B1得到的二进制串中依次截取14位二进制数,将截取后不足14位的二进制数舍去得到第二二进制码串;
B3、在所述第二二进制码串中依次将每7位二进制数转换成十进制数串;
B4、将所述十进制数串依次转换成unicode字符集对应的字符。
较佳的,将待加密的字符转换成unicode字符集对应的区位码后还包括采用椭圆曲线密码机制对字符的区位码进行加密的步骤:
C1、首先构建Weierstrass方程Y2=X3+aX+b(modP),其中P为素数,a和b均为小于P的非负整数,4a3+27b2≠0,在有理数域上定义椭圆曲线EP(a,b),在所述椭圆曲线EP(a,b)上取一个素数阶为n的点G,在区间[1,n-1]中选取一个私有密钥k来计算出公有密钥Q,Q=k×G,k为正整数,其中G、P、Q均为公有密钥。
C2、设定字符转换后的区位码为H,H=(x0,y0),H∈EP,x0为字符对应的区码,y0为字符对应的位码;H的密文CH=(C1,C2),其中C1=H+ω×Q,C2=ω×k,ω为随机选取的正整数且ω∈EP-1,C2为公有密钥,C1为字符的区位码密文,C1=(x1,y1),x1是区码对应的密文,y1是位码对应的密文。
由于加入了椭圆加密运算,实现了信息的双重加密,对信息的加密强度更高,大大的提高了安全性,相应的,对椭圆曲线密码机制加密后的字符的区位码进行解密有如下步骤:
D1、将步骤B3得到的十进制数串,依次截取2组数字;分别对应所述x1和y1;
D2、使用私有密钥k进行解密运算;计算C1-k×C2,得到H=(x0,y0);
D3、x0为字符对应的区码,y0为字符对应的位码,将x0和y0按照unicode字符集转换成对应的字符。
本发明的有益效果是:本发明本文所采用的方法实现简单,能同时实现汉字、字母、数字等进行安全加密,且易于实现,由于具有比其它现有的汉字加密算法更好的抗攻击性能,且经过加密后的信息体积更小,能够实现密文的无损还原。
附图说明
图1是本发明实施例一的结构示意图。
图2是本发明实施例二的结构示意图。
图3是本发明实施例三的结构示意图。
图4是本发明实施例提到的示例文字及其对照unicode UTF-16字符集的区位码的示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
实施例一:如图1所示,一种字符压缩加密方法,包括以下步骤:
步骤一、将待加密的字符转换成unicode UTF-16字符集对应的区位码;
步骤二、将步骤一得到的各区码和位码均转换成7位二进制数,当所述区码或位码转换成二进制数不足7位时,在其高位前补加“0”,直到所述区码或位码转换成的二进制数均为7位;
步骤三、将各区位码的二进制数按字符顺序依次合并排列;
步骤四、判断合并后的二进制数串中二进制码的个数是否为16的整数倍;当合并后的二进制数串中二进制码的个数不是16的整数倍时,在合并后的二进制数串中二进制码的末尾补加“0”,直到所述合并后的二进制数串中二进制码的为16的倍数;
步骤五、在合并后的二进制数串中依次截取16位二进制数,并将其转换成unicode UTF-16字符集对应的字符。
步骤六、对压缩加密后的字符进行压缩解密的步骤;所述对加密后的字符进行解密的步骤按以下步骤进行:
B1、将加密后的字符转换成对应的第一二进制码串;
B2、从步骤B1得到的二进制串中依次截取14位二进制数,将截取后不足14位的二进制数舍去得到第二二进制码串;
B3、在所述第二二进制码串中依次将每7位二进制数转换成十进制数串;
B4、将所述十进制数串依次转换成unicode UTF-16字符集对应的字符。
实施例二:如图2所示,本实施例的流程与实施例一基本相同,所不同的是:还包括快速计算缺零数的步骤;所述缺零数与步骤四中所述合并后的二进制数串中二进制码的个数之和为16的整数倍;
A1、计算T=16-(2×7×N)mod16,T为缺零数,N为字符个数,T≥0,N为正整数;
A2、在在合并后的二进制数串中二进制码的末尾补加T个“0”。
实施例三:如图3所示,本实施例的流程与实施例二基本相同,所不同的是:将待加密的字符转换成unicode UTF-16字符集对应的区位码后还包括采用椭圆曲线密码机制对字符的区位码进行加密的步骤,相应的,还包括对椭圆曲线密码机制加密后的字符区位码进行解密的步骤。
首先构建Weierstrass方程Y2=X3+aX+b(modP),其中P为素数,a和b均为小于P的非负整数,4a3+27b2≠0,在有理数域上定义椭圆曲线EP(a,b),在所述椭圆曲线EP(a,b)上取一个素数阶为n的点G,在区间[1,n-1]中选取一个私有密钥k来计算出公有密钥Q,Q=k×G,k为正整数,其中G、P、Q均为公有密钥。
C2、设定字符转换成的区位码为H,H=(x0,y0),H∈EP,x0为字符对应的区码,y0为字符对应的位码;H的密文CH=(C1,C2),其中C1=H+ω×Q,C2=ω×k,ω为随机选取的正整数且ω∈EP-1,C2为公有密钥,C1为字符的区位码密文,C1=(x1,y1),x1是区码对应的密文,y1是位码对应的密文。
由于加入了椭圆加密运算,实现了信息的双重加密,对信息的加密强度更高,大大的提高了安全性,相应的,还包括对椭圆曲线密码机制进行解密有如下步骤:
D1、将步骤B3得到的十进制数串,依次截取2组数字;分别对应所述x1和y1;
D2、使用私有密钥k进行解密运算;计算C1-k×C2,得到H=(x0,y0);
D3、x0为字符对应的区码,y0为字符对应的位码,将x0和y0按照unicodeUTF-16字符集转换成对应的字符。
为了对本发明进行验证,取p=97,a=0,b=-4,由此取得椭圆群E97(0,-4),它由y2=x3-4椭圆曲线的部分点组成,选择椭圆曲线E97(0,-4)上一点G=(2,2),该点属于E97的Abel群,可满足nG=0的最小整数为n=31,则n是基点(2,2)的阶,在区间[1,30]上选取随机数k=9,计算Q=KG,得到Q=9(2,2)=(27,-52),其中k=9为私钥,G=(2,2)、Q=(27,-52)及P=97为公钥,
设定待加密的汉字为“重”,将“重”字按unicode UTF-16字符集转换成对应的区位码,H=(54,56),其中54为“重”字的区码、56为“重”字的位码,随机选取正整数ω=3,计算C1与C2,C1=H+ω×Q=(54,56)+3×(27,-52)=(54,56)+(88,-25)=(20,57),其中x1=20是区码对应的密文,y1=57是位码对应的密文,C2=ω×G=3×(2,2)=(1,26),C2为公钥。
同理对“重庆电子工程职业学院”加密处理过程如下:如图4所示,“重庆电子工程职业学院”的区位码依次为(54,56)、(39,76)、(21,71)、(55,51)、(25,04)、(19,44)、(54,16)、(50,21)、(49,07)和(52,26),依次把每个汉字的区码和位码作为H=(x0,y0)坐标值代入公式C1=H+ω×Q,就可以计算出每个汉字密文,然后把所有得到的密文依次连接起来得到的密文为:CH=(20,57,34,78,06,74,49,41,85,78,88,25,48,11,40,69,49,90,23,38)。
将经过椭圆加密运算后得到的字符串区位码密文CH=(20,57,34,78,06,74,49,41,85,78,88,25,48,11,40,69,49,90,23,38)进一步加密,把每一个加密后的区位码数值都转换成2进制数,其中[1,63]之间的十进制数对应的二进制数不足7位,需要在高位前面补“0”,确保每一个区码或位码都是7位二进制数表示,然后依次把所有二进制数都组合到一起,得到(00101000111001011100110011100000110100101001100010101001101010110011101011000001100101100000001011010100010001010110001101101000101110100110),计算需要保护的汉字二进制位串的总长度为2*7*N,N=10,可计算T=16-(2*7*10)mod16,T=4,既在二进制数串的串尾补4个“0”,确保传输报文的总长度为16位的整数倍,得到新的二进制编码(001010001110010111001100111000001101001010011000101010011010101100111010110000011001011000000010110101000100010101100011011010001011101001100000),进一步将新的二进制位串转化为字符,显示为“&K葦蒖╈うび”,此时原字符串加密后的密文已经是面目全非的乱码,并且把10个汉字压缩成9个乱码显示,实现了把汉字转换密文存储的二级加密目的,其安全性能更好。
相应的,需要对压缩加密文件进行解密计算,对加密后的字符串“&K葦蒖╈うび”,按照Unicode UTF-16字符集将各字符转换为对应的区位码,并进一步将得到的区位码转换为二进制编码,即(001010001110010111001100111000001101001010011000101010011010101100111010110000011001011000000010110101000100010101100011011010001011101001100000),然后将加密时末尾补足的“0000”舍去,得到(00101000111001,01110011001110,00001101001010,01100010101001,10101011001110,10110000011001,01100000001011,01010001000101,01100011011010,00101110100110),其中每14位二进制编码中高7位是字符区码的二进制密文,低7位是字符位码的密文,再把二进制密文转换为10进制数,即可得到由十进制表示的区位码(20、57,34、78,06、74,49、41,85、78,88、25,48、11,40、69,49、90,23、38)。
依次截取两位压缩解密后的十进制区位码,将其作为C1的坐标值,使用私钥k=9对其进行解密运算,计算H=C1-kC2,H=C1-kC2=(20,57)+[-9×(1,26)]=(20,57)+[-(88,-25)]=(20,57)+(88,25)=(54,-41)=(54,56),其中54就是得到的明文汉字“重”字的区码,56就是得到的明文汉字“重”字的位码,同理,依次对(20、57,34、78,06、74,49、41,85、78,88、25,48、11,40、69,49、90,23、38)进行椭圆解密可得到(54、56,39、76,21、71,55、51,25、04,19、44,54、16,50、21,49、07,52、26),依次将两位十进制数作为区位码并对应unicode UTF-16字符集转换成明文字符,椭圆解密过程结束。
对算法正确性的推理如下:C1-kC2=H+ωQ-k(ωG)=H+ω(kG)-k(ωG)=H+ω(kG)-ω(kG)=H,根据以上推理可知H=C1-kC2该算法满足计算的正确性,即采用汉字的区码与位码代替H点的X0与Y0坐标取值,使加解密计算方便快捷。
汉字信息的加密,主要靠对汉字文档或报文的加密来实现,也就是把要存储到数据库中或要在网上传输的保护内容,用汉字信息加密算法生成密文的过程。本发明建立的字符压缩加密方法,对处理英文信息、数字信息或混编信息均实用有效,混编信息是指要保护的信息中同时含有汉字、英文、数字和符号复合内容。本发明能实现对信息的双重加密,具有极高的安全性。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (5)
1.一种字符压缩加密方法,其特征在于包括如下步骤:
步骤一、将待加密的字符转换成unicode字符集对应的区位码;
步骤二、将步骤一得到的各区码和位码均转换成7位二进制数,当所述区码或位码转换成二进制数不足7位时,在其高位前补加“0”,直到所述区码或位码转换成的二进制数均为7位;
步骤三、将各区位码的二进制数按字符顺序依次合并排列;判断合并后的二进制数串中二进制码的个数是否为16的整数倍;当合并后的二进制数串中二进制码的个数不是16的整数倍时,在合并后的二进制数串中二进制码的末尾补加“0”,直到所述合并后的二进制数串中二进制码长为16的倍数;
步骤四、在合并后的二进制数串中依次截取16位二进制数,并将其转换成字符。
2.如权利要求1所述的一种字符压缩加密方法,其特征是:还包括快速计算缺零位的步骤;所述缺零位与步骤三中所述合并后的二进制数串中二进制码的个数之和为16的整数倍;
A1、计算T=16-(2×7×N)mod16,T为缺零位,N为字符个数,T≥0,N为正整数;
A2、在合并后的二进制数串中二进制码的末尾补加T个“0”。
3.如权利要求1或2所述的一种字符压缩加密方法,其特征是:还包括对加密后的字符进行解密的步骤;所述对加密后的字符进行解密的步骤按以下步骤进行:
B1、将加密后的字符转换成对应的第一二进制码串;
B2、从步骤B1得到的二进制串中依次截取14位二进制数,将截取后不足 14位的二进制数舍去得到第二二进制码串;
B3、在所述第二二进制码串中依次将每7位二进制数转换成十进制数;
B4、将所述十进制数依次转换成unicode字符集对应的字符。
4.如权利要求3所述的一种字符压缩加密方法,其特征是:将待加密的字符转换成unicode字符集对应的区位码后还包括采用椭圆曲线密码机制对字符的区位码进行加密的步骤。
5.如权利要求4所述的一种字符压缩加密方法,其特征是:还包括对椭圆曲线密码机制加密后的字符区位码进行解密的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210244448.9A CN102761418B (zh) | 2012-07-16 | 2012-07-16 | 一种字符压缩加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210244448.9A CN102761418B (zh) | 2012-07-16 | 2012-07-16 | 一种字符压缩加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102761418A CN102761418A (zh) | 2012-10-31 |
CN102761418B true CN102761418B (zh) | 2015-04-22 |
Family
ID=47055745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210244448.9A Expired - Fee Related CN102761418B (zh) | 2012-07-16 | 2012-07-16 | 一种字符压缩加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102761418B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103023892A (zh) * | 2012-12-03 | 2013-04-03 | 江苏乐买到网络科技有限公司 | 一种网络信息处理系统 |
CN104640091B (zh) * | 2015-01-13 | 2019-10-18 | 董红伟 | 一种手机短信加密通信方法 |
CN105763763B (zh) * | 2016-02-05 | 2018-08-31 | 重庆工商职业学院 | 一种图像加密方法 |
CN106131051B (zh) * | 2016-08-16 | 2019-06-21 | 深圳神盾电子科技有限公司 | 信息加密、解密方法及装置 |
CN106790302B (zh) * | 2017-03-22 | 2019-08-20 | 无锡紫光存储系统有限公司 | 数据加密方法、数据解密方法及系统 |
CN108712424B (zh) * | 2018-05-21 | 2020-10-20 | 中国石油天然气集团有限公司 | 基于测绘控制点成果表对文本加密的方法 |
CN109257164A (zh) * | 2018-11-12 | 2019-01-22 | 常熟理工学院 | 采用逻辑对称算法的多媒体载体网络信息加密方法及系统 |
CN112487461B (zh) * | 2020-12-07 | 2023-06-09 | 重庆电子工程职业学院 | 一种数据加密方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1472627A (zh) * | 2003-07-17 | 2004-02-04 | 王玉宏 | 二进制图形码编码方法及其组字规则 |
CN1863042A (zh) * | 2005-12-13 | 2006-11-15 | 华为技术有限公司 | 对信息进行加解密的方法 |
CN101114443A (zh) * | 2006-07-28 | 2008-01-30 | 中国科学院声学研究所 | 二维图形引擎中的点阵字符的缩进方法与中文处理方法 |
-
2012
- 2012-07-16 CN CN201210244448.9A patent/CN102761418B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1472627A (zh) * | 2003-07-17 | 2004-02-04 | 王玉宏 | 二进制图形码编码方法及其组字规则 |
CN1863042A (zh) * | 2005-12-13 | 2006-11-15 | 华为技术有限公司 | 对信息进行加解密的方法 |
CN101114443A (zh) * | 2006-07-28 | 2008-01-30 | 中国科学院声学研究所 | 二维图形引擎中的点阵字符的缩进方法与中文处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102761418A (zh) | 2012-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102761418B (zh) | 一种字符压缩加密方法 | |
CN103825723B (zh) | 一种加密方法和装置 | |
Thirumalai et al. | Secured E-mail system using base 128 encoding scheme | |
EP3178190B1 (en) | Encoder, decoder and method | |
US20120284528A1 (en) | Multi-purpose multi-dimensional, variable and multi-key e-mail and data encryption method | |
CN110299989B (zh) | 一种中英文字符串的加密、解密方法 | |
CN103580857A (zh) | 一种基于背包加密的汉字报文数据压缩方法 | |
CN116032474B (zh) | 一种基于大数据计算机网络安全防护系统 | |
CN105100085B (zh) | 一种对信息进行加密和解密的方法和装置 | |
CN108768617A (zh) | 一种基于传统分组密码的保持格式加密方法 | |
Wen et al. | Research on base64 encoding algorithm and PHP implementation | |
CN104811298A (zh) | 一种实现加密的方法及装置 | |
CN108418683A (zh) | 一种基于汉字结构特征的无载体文本隐写方法 | |
Nazarkevych et al. | Data protection based on encryption using Ateb-functions | |
CN106789968A (zh) | 一种弱化窃听信道下基于极化码的安全编码方法 | |
Paragas et al. | Hill cipher modification: A simplified approach | |
CN110247764A (zh) | 一种管理网络数据传输方法的系统、方法及装置 | |
CN108174207A (zh) | 基于zuc算法的h.264熵编码视频加密方法 | |
CN110086633B (zh) | 一种区块链技术中密文防篡改方法 | |
CN100501724C (zh) | 一种基于逻辑字体的文字加密方法与系统 | |
Kumar et al. | A novel approach for securing data in IoTcloud using DNA cryptography and Huffman coding algorithm | |
Ahmad et al. | Protection of the texts using Base64 and MD5 | |
CN105429749A (zh) | 一种分离特征数据的加解密方法及系统 | |
CN109905241B (zh) | 一种椭圆曲线公钥的短汉字编码、解码方法 | |
Triana et al. | Blowfish algorithm and Huffman compression for data security application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150422 Termination date: 20190716 |