一种基于非对称算法的高安全性电传码加密方法与流程

文档序号:11253923阅读:403来源:国知局
一种基于非对称算法的高安全性电传码加密方法与流程

本发明涉及数据加密安全领域,尤其涉及一种基于非对称算法的高安全性电传码加密方法。



背景技术:

随着电子信息技术的高速发展,电传码的使用越来越普及,例如利用其数据小、传输频率低等特点进行网络交易或传输文件,为了保证交易过程中电传码的安全性,需要对电传码进行加密,防止电传码被木马程序截获。

现有技术中,电传码(也可称之为小数据)的传输是极为广泛的,例如用户通常使用的键盘敲击的指令作为数据进行传输,再例如邮局中采用摩斯码或其他形式的敲击指令作为电报数据进行传输,再例如现在极为普遍的数据传输构架,即客户端与服务端之间的数据传输(大部分为小数据),客户端是与服务端相对应,客户端为用户提供本地服务程序,一般安装在普通的客户机上,需要与服务端互相配合运行,服务端为客户端提供服务,并存储用户相关信息,例如用户账户密码等,用户通过客户端登录应用程序时需要通过密码认证,而如果客户端被木马病毒侵害则用户通过键盘输入密码时会被木马程序记录下来,对账户安全造成威胁,为此人们提出一种加密键盘,例如第“cn201220386190.1”号、名称为“加密键盘及使用该键盘的自助设备”的实用新型专利,该加密键盘包括存储有第一密钥的存储模块;侦测加密键盘是否被破坏的侦测模块;连接于存储模块和侦测模块的、在侦测模块侦测到加密键盘被破坏时删除存储模块内的第一密钥的第一保护电路。虽然上述加密键盘能够实现密码保护,但是其制造成本高、通用性差,使用时必须将计算机本身配备的普通键盘替换为该种加密键盘,而且加密效率不高。

同时随着加密解密技术的改进,现有技术中也开始出现了非对称算法的安全加密系统,包括:键盘(101),用于输入键盘码;

加密器(102),用于加密,所述加密器(102)基于非对称加密算法对键盘码进行加密得到密文,所述加密器(102)将所述密文发送给服务端(104);

客户端(103),用于登录用户系统;

服务端(104),用于解密认证,所述服务端(104)接收密文并根据解密算法对密文进行解密获得键盘(101)输入的键盘码,当所述服务端(104)解密得到的键盘码与服务端(104)存储的键盘码相匹配时,所述服务端(104)认证成功,允许用户登入用户系统。

上述系统虽可对键盘敲击的数据进行非对称算法进行加密,但存在的问题是,由于对电传码的传输往往在传输速率要求不高但传输安全性要求较高的情况下,即便采用非对称算法进行加密,其解密的运算量也并非不能实现破解,所以对于数据的加密而言,特别是电传码此类小数据的传输仍有很高的安全隐患。



技术实现要素:

为了解决对在小数据要求传输效率不高但传输安全性较高的情况下,可进行有效加密且保证数据的安全性和唯一性从而设计的一种基于非对称算法的高安全性电传码加密方法。

本发明解决其技术问题所采用的技术方案是:一种基于非对称算法的高安全性电传码加密方法,包括以下步骤:

s01写入程序算法:首先服务端随机生成公钥(e,n)和私钥(d,n),并将公钥(e,n)对应的加密程序到加密器,同时私钥(d,n)对应的解密程序保留在服务端;

s02处理加密:服务端发送接收信号和公钥(e,n)给加密器,加密器开放数据接收功能并接收键盘输入的单个键盘码,对该单个键盘码进行处理,即对单个键盘码上继续添加机器码、时钟码、随机码组合后形成的源文码,按照公钥(e,n)对应的加密程序对源文码加密得到密文,所述加密器将密文发送给服务端;

s03解密认证:服务端接收密文一方面对源文码根据私钥(d,n)解密程序解密得到源文码中的键盘码、机器码、时钟码和随机码,并对该源文码中的字段进行分析,对时钟码与之前接受到的源文码中的时钟码进行比对,从而判断接受到的源文码是否是实时发送的源文码,对收到的机器码与服务端存储的该加密器的机器码进行对比,若源文码中的时钟码和机器码都符合要求,则将服务端解密所得的键盘码与服务端存储的键盘码进行对比并判断是否匹配,如果匹配则允许用户登入客户端的用户系统;若源文码中的时钟码或机器码中任何一项不符合要求,则服务端发出报警信号。

作为优选,所述公钥(e,n)和私钥(d,n)的确定方法为n=p1*p2.....pn,n≥3,pi是质数,e*d=1mod((p1-1)*(p2-1)*......(pn-1))。

作为优选,所述加密程序中,利用所述公钥(e,n)和如下公式对所述键盘码进行加密,得到所述密文:aemodn=b,其中,a表示所述源文码,b表示所述密文。

作为优选,所述解密程序中,利用私钥(d,n)和如下公式对所述密文进行解密,得到所述键盘码:bdmodn=a,其中,a表示所述源文码,b表示所述密文。

本发明的有益效果是:1.通过对键盘码进行添加机器码、时钟码和随机码进而形成源文码,从而大大的提高了破解的难度。

2.在源文码进行解密后获得的时钟码中还会对时钟码进行时序分析并对源文码解密后获得的机器码进行比对,保证接收的数据的实时性和唯一性,从而无法通过复制数据包进行发送的形式进行混淆,每个源文码在解密后获得的时钟码和机器码只有符合要求的情况下才会进一步通过服务端对客户端进行数据反馈,否则会直接进行报警,大大的提高了电传码传输和解密的安全性。

3.本发明的加密器根据加密指令,利用公钥(e,n)加密源文码得到密文,并向服务端发送密文,服务端接收到密文后,根据解密指令利用私钥(d,n)解密密文,其中,参数n由至少三个质数相乘得到,n=p1*p2.....pn,n≥3,参数e和参数d之间的关系满足e*d=1mod((p1-1)*(p2-1)*......(pn-1)),通过若干个数值较小的pi相乘就能够获得一个较大的参数n,保证加密的安全性,减少了加密前获取参数n的时间,提高了加密的效率。

附图说明

下面结合附图和实施例对本发明进一步说明。

图1是现有技术中非对称算法的安全加密系统的原理框图;

图2是本发明的基于非对称算法的高安全性电传码加密方法的流程图。

其中:键盘101、加密器102、客户端103和服务端104。

具体实施方式

现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。

一种基于非对称算法的高安全性电传码加密方法,包括以下步骤:

s01写入程序算法:首先服务端随机生成公钥(e,n)和私钥(d,n),并将公钥(e,n)对应的加密程序到加密器,同时私钥(d,n)对应的解密程序保留在服务端;

s02处理加密:服务端发送接收信号和公钥(e,n)给加密器,加密器开放数据接收功能并接收键盘输入的单个键盘码,对该单个键盘码进行处理,即对单个键盘码上继续添加机器码、时钟码、随机码组合成的源文码,按照公钥(e,n)对应的加密程序对源文码加密得到密文,所述加密器将密文发送给服务端;

s03解密认证:服务端接收密文一方面对源文码根据私钥(d,n)解密程序解密得到源文码中的键盘码、机器码、时钟码和随机码,并对该源文码中的字段进行分析,对时钟码与之前接受到的源文码中的时钟码进行比对,从而判断接受到的源文码是否是实时发送的源文码,对收到的机器码与服务端存储的该加密器的机器码进行对比,若源文码中的时钟码和机器码都符合要求,则将服务端解密所得的键盘码与服务端存储的键盘码进行对比并判断是否匹配,如果匹配则允许用户登入客户端的用户系统;若源文码中的时钟码或机器码中任何一项不符合要求,则服务端发出报警信号。

所述公钥(e,n)和私钥(d,n)的确定方法为n=p1*p2.....pn,n≥3,pi是质数,e*d=1mod((p1-1)*(p2-1)*......(pn-1))。

所述加密程序中,利用所述公钥(e,n)和如下公式对所述键盘码进行加密,得到所述密文:aemodn=b,其中,a表示所述源文码,b表示所述密文。

所述解密程序中,利用私钥(d,n)和如下公式对所述密文进行解密,得到所述键盘码:bdmodn=a,其中,a表示所述源文码,b表示所述密文。

在具体实施时,由于用户并不知道参数n是如何得到的,只知道参数n的数值,如果想要解密密文,则需要对参数n进行因式分解,才能得到解密时使用的私钥(d,n),而对参数n进行因式分解比较困难,因此保证了密文的安全性,即便当公钥或私钥被截获时由于时序码的判定和机器码的判定要求,也不会出现截获的数据复制发送也会被解密和接收现象。

另外,由于密文的保密时效与解密耗时与参数n以及时钟码相关,参数n越大,保密时效和解密时间越长,为了加强密文的安全性,通常会选择数值较大的参数n;当参数n是两个质数a1和a2的乘积时,若要保证参数n很大,则需要a1和a2也很大,但是数值很大的质数比较难获得,而时钟码一方面可以直接在服务端上进行比对,另一方面可以与之前接受到的时钟码进行比对,从而实现接收到的数据是实时有序的,在加密前选择参数时需要耗费比较多的时间,加密的效率受到影响;当参数n是至少三个质数的乘积时,即使pi的数值较小,要令参数n的数值需要很大,只需要多利用几个pi相乘即可,在加密前选择参数时不需要耗费较多的时间,有利于提高加密效率。

加密器利用公钥(e,n)对键盘码进行加密得到密文后发送至服务端,服务端利用私钥(d,n)解密密文,得到键盘码,在传输过程中保证了键盘码传递的安全性;加密器利用公钥(e,n)对键盘码进行加密得到密文,服务端104获取到密文后利用私钥(d,n)解密密文,得到键盘码,由于具有不良动机的用户,比如黑客,不知道公钥(e,n),即使伪造了一串字符给服务端104,服务端104利用私钥(d,n)解密也得不到正确匹配的键盘码,因此可以实现身份认证的目的。此外,即便木马程序截获键盘101输入的键盘码,由于公钥(e,n)未知,无法得到正确的密文,无法通过服务端104的认证,仍然无法登入用户系统,大大提高了安全性。

本实施例的加密器对键盘吗添加机器码、时钟码、随机码,添加上述数据的主要目的是为了增加破解的难度以及使得数据和时间以及机器id绑定,具有唯一性,再根据加密指令,利用公钥(e,n)加密源文码得到密文,并向服务端104发送密文,服务端104接收到密文后,根据解密指令利用私钥(d,n)解密密文,其中,参数n由至少三个质数相乘得到,n=p1*p2.....pn,n≥3,pi是不对外公开的参数,参数e和参数d之间的关系满足e*d=1mod((p1-1)*(p2-1)*......(pn-1)),通过若干个数值较小的pi相乘就能够获得一个较大的参数n,保证加密的安全性,减少了加密前获取参数n的时间,提高了加密的效率,再者,解密后获得的时钟码中还会对时钟码进行时序分析,保证接收的数据的实时性和唯一性,无法通过复制数据包进行发送的形式进行混淆,每个源文码在解密后获得的时钟码只有符合要求的情况下才会进一步通过服务端对客户端进行数据反馈。

本发明的有益效果是:1.通过对键盘码进行添加机器码、时钟码和随机码进而形成源文码,从而大大的提高了破解的难度。

2.在源文码进行解密后获得的时钟码中还会对时钟码进行时序分析并对源文码解密后获得的机器码进行比对,保证接收的数据的实时性和唯一性,从而无法通过复制数据包进行发送的形式进行混淆,每个源文码在解密后获得的时钟码和机器码只有符合要求的情况下才会进一步通过服务端对客户端进行数据反馈,否则会直接进行报警,大大的提高了小数据传输和解密的安全性。

3.本发明的加密器根据加密指令,利用公钥(e,n)加密源文码得到密文,并向服务端发送密文,服务端接收到密文后,根据解密指令利用私钥(d,n)解密密文,其中,参数n由至少三个质数相乘得到,n=p1*p2.....pn,n≥3,参数e和参数d之间的关系满足e*d=1mod((p1-1)*(p2-1)*......(pn-1)),通过若干个数值较小的pi相乘就能够获得一个较大的参数n,保证加密的安全性,减少了加密前获取参数n的时间,提高了加密的效率。

以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1