CN106712946B - 一种数据安全传输方法 - Google Patents
一种数据安全传输方法 Download PDFInfo
- Publication number
- CN106712946B CN106712946B CN201710067971.1A CN201710067971A CN106712946B CN 106712946 B CN106712946 B CN 106712946B CN 201710067971 A CN201710067971 A CN 201710067971A CN 106712946 B CN106712946 B CN 106712946B
- Authority
- CN
- China
- Prior art keywords
- data
- key
- byte array
- encrypted
- character string
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Abstract
本发明提供了一种数据安全传输方法,应用于互联网中的数据传输,其中,包括以下步骤:服务端生成一公钥以及与公钥对应的一私钥,并将所公钥公开使客户端能够获取;客户端通过初始化秘钥生成一加密秘钥,加密秘钥对需要发送的明文数据进行加密处理,以形成加密数据;客户端通过获取的公钥对加密数据进行加密以形成加密报文,并发送至服务端;服务端通过私钥对加密报文进行解密以获得加密数据;服务端通过初始化秘钥生成一与加密秘钥对应的解密秘钥,解密秘钥对加密数据进行解密以获得明文数据。其技术方案的有益效果在于,对明文数据的传输提供了更加安全的保障。
Description
技术领域
本发明涉及网络数据传输通信技术领域,尤其涉及一种数据安全传输方法。
背景技术
在网络中传输信息,能够提高信息的传输效率,增强信息传播的有效性。其中信息涉及的内容很广,对于传输的数据往往会涉及到用户个人的隐私数据如身份信息、账户信息等,对于企业则涉及到决策信息以及商业机密等,另一方面一些对于互联网传输内容截获攻击手法各式各样,加大了对系统造成的风险;
现有的数据如涉及商业机密,用户身份信息等,在传输过程中都是以明文的方式传输,并没有增加任何的安全保护措施,因此极易被不法分子截取进而造成企业机密,用户隐私数据泄露,给企业或者个人造成伤害。
发明内容
针对现有技术中数据在传输中存在的上述问题,现提供一种旨在对传输的数据提供多重加密,避免了数据被不法分子截获破解的数据安全传输方法。
具体技术方案如下:
一种数据安全传输方法,应用于互联网中的数据传输,其中,包括:
提供至少一个客户端,用以发送数据;
提供一服务端,用以接收所述客户端发送的数据;
所述客户端和所述服务端分别生成一相同的初始化秘钥;
所述数据安全传输方法包括以下步骤:
步骤S1、所述服务端生成一公钥以及与所述公钥对应的一私钥,并将所公钥公开使所述客户端能够获取;
步骤S2、所述客户端通过所述初始化秘钥生成一加密秘钥,所述加密秘钥对需要发送的明文数据进行加密处理,以形成加密数据;
步骤S3、所述客户端通过获取的所述公钥对所述加密数据进行加密以形成加密报文,并发送至所述服务端;
步骤S4、所述服务端通过所述私钥对所述加密报文进行解密以获得所述加密数据;
步骤S5、所述服务端通过所述初始化秘钥生成一与所述加密秘钥对应的解密秘钥,所述解密秘钥对所述加密数据进行解密以获得所述明文数据。
优选的,所述步骤S2中生成所述加密秘钥的方法具体包括:
步骤A1、所述客户端随机生成一第一字节数组,所述第一字节数组长度为所述初始化秘钥长度的两倍;
步骤A2、所述客户端对所述第一字节数组进行计算,以获得对应所述第一字节数组的一第一字符串;
步骤A3、所述客户端对生成的所述第一字节数组进行计算以生成一第二字节数组;
步骤A4、所述客户端将所述初始化秘钥与所述第二字节数组进行计算以生成所述加密秘钥。
优选的,所述步骤A1中,产生所述第一字节数组包括以下步骤:
步骤A11、随机产生数量为所述初始化秘钥长度的两倍个浮点型数据;
步骤A12、将每个所述浮点型数据乘以0xFF后强制转换为整数型数据;
步骤A13、将所述步骤A12中得到的整数型数据顺序赋值入一数组,以获得一整数型数组;
步骤A14、将所述整数型数组中的每个元素转换为字节型数据,以获得所述第一字节数组。
优选的,所述步骤A2中获得所述第一字符串包括以下步骤:
步骤A21、将所述第一字节数组中的每个元素转换为十六进制;
步骤A22、将转换成十六进制的数据强制转换为字符型数据;
步骤A23、根据所述第一字节数组的下标顺序拼接所述步骤A22中获得的字符型数据以获得所述第一字符串。
优选的,所述步骤A3中,获得所述第二字节数组包括以下步骤:
步骤A31、将所述第一字节数组中的元素按照顺从所述第一字节数组中部均分为两组;
步骤A32、将获得的两组元素按顺序一一对应的进行异或运算;
步骤A33、将异或运算的结果按顺序依次赋值入一长度为所述第一字节数组长度的一半的一临时数组中;
步骤A34、将所述步骤A33中获得的所述临时数组中的元素转换为字节型以获得所述第二字节数组。
优选的,所述步骤A4中,生成所述加密秘钥包括以下步骤:
步骤A41、将所述初始化秘钥转换为一第三字节数组;
步骤A42、将所述第二字节数组中的元素与所述第三字节数组中的元素按顺序一一对应的进行异或运算,以获得所述加密秘钥。
优选的,通过所述加密秘钥对所述明文数据进行加密的处理包括以下步骤:
步骤B1、所述客户端通过所述加密秘钥对所述明文数据进行加密以获得一加密字节数组;
步骤B2、所述客户端将所述加密字节数组进行转换以形成一第二字符串;
步骤B3、所述客户端将所述第一字符串与所述第二字符串组合并加密,以形成所述加密数据。
优选的,所述步骤B2中获得所述第二字符串包括以下步骤:
步骤B21、将所述加密字节数组中的每个元素转换为十六进制数据;
步骤B22、将转换成十六进制的数据强制转换为字符型数据;
步骤B23、根据所述加密字节数组的下标顺序拼接所述步骤B22中获得的字符型数据以获得所述第二字符串。
优选的,所述步骤B3中,生成所述加密数据的方法包括以下步骤:
步骤B31、所述客户端将所述第一字符串和所述第二字符串按照顺序拼接,以形成所述第三字符串;
步骤B32、所述客户端通过所述公钥对所述第三字符串进行加密以形成所述加密数据。
优选的,所述步骤S4中,所述服务端对所述加密报文进行解密的操作包括:
步骤C1、所述服务端通过所述私钥对所述加密报文进行解析以获得所述第三字符串;
步骤C2、所述服务端对所述第三字符串进行拆解处理,以获得所述第一字符串和所述第二字符串;
步骤C3、所述服务端对所述第一字符串进行逆向计算以获得所述第一字节数组;
步骤C4、所述服务端对所述第一字节数组进行计算以获得所述第二字节数组;
步骤C5、所述服务端将所述初始化秘钥与所述第二字节数组进行逆向计算以生成与所述加密秘钥对应的所述解密秘钥。
优选的,所述步骤C3中,获得所述第一字节数组的步骤包括:
步骤C31、将所述第一字符串中的字符型数据两两组合,以获得一组十六进制数;
步骤C32、将所述步骤C31中获得的十六进制数转换为十进制的数据;
步骤C33、将所述十进制的数据根据于所述第一字符串中的顺序赋值于一字节数组,以获得所述第一字节数组。
优选的,所述步骤S5中,通过所述解密秘钥对所述加密数据进行解密的方法包括:
步骤D1、所述服务端通过所述解密秘钥对所述第二字符串进行解密,以获得所述加密字节数组;
步骤D2、所述服务端将所述加密字节数组转化为所述明文数据。
优选的,所述初始化秘钥为八位字符串形成。
优选的,所述客户端提供一第一DES加解密单元对所述明文数据进行加密操作以形成所述加密数据,和/或
所述服务端提供一第二DES加解密单元对所述加密数据进行解密操作以获得所述明文数据。
优选的,所述客户端提供一第一RSA加解密单元对所述加密数据进行加密操作以形成所述加密报文;和/或
所述服务端提供一第二RSA加解密单元对所述加密报文进行解密操作以获得所述加密数据。
上述技术方案具有如下优点或有益效果:服务端将公钥以公开的方式提供给客户端,进而可保证公钥不被人篡改,客户端通过对传输的明文数据进行多种加密后,服务端通过唯一的私钥进行解密,进而保证了数据传输的安全,即使加密的数据被截取,也无法对加密的数据进行破解,使明文数据的传输提供了更加安全的保障。
附图说明
参考所附附图,以更加充分的描述本发明的实施例。然而,所附附图仅用于说明和阐述,并不构成对本发明范围的限制。
图1为本发明一种数据安全传输方法实施例的流程图;
图2为本发明一种数据安全传输方法实施例中,关于生成加密秘钥的流程图;
图3为本发明一种数据安全传输方法实施例中,关于生成第一字节数组的流程图;
图4为本发明一种数据安全传输方法实施例中,关于获得第一字符串的流程图;
图5为本发明一种数据安全传输方法实施例中,关于获得第二字节数组的流程图;
图6为本发明一种数据安全传输方法实施例中,关于生成加密秘钥的流程图;
图7为本发明一种数据安全传输方法实施例中,关于加密秘钥对明文数据进行加密处理的流程图;
图8为本发明一种数据安全传输方法实施例中,关于获得第二字符串的流程图;
图9为本发明一种数据安全传输方法实施例中,关于生成加密数据的流程图;
图10为本发明一种数据安全传输方法实施例中,关于对加密报文进行解密的操作的流程图;
图11为本发明一种数据安全传输方法实施例中,关于对加密报文进行解密的操作中获取第一字节数组的流程图;
图12为本发明一种数据安全传输方法实施例中,关于解密秘钥对加密数据进行解密的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
本发明的技术方案中包括一种数据安全传输方法。
一种数据安全传输方法的实施例,应用于互联网中的数据传输,其中,包括:
提供一客户端,用以发送数据;
提供一服务端,用以接收发端发送的数据;
如图1所示,数据安全传输方法包括以下步骤:
一种数据安全传输方法,应用于互联网中的数据传输,其中,包括:
提供至少一个客户端,用以发送数据;
提供一服务端,用以接收客户端发送的数据;
客户端和服务端分别生成一相同的初始化秘钥;
数据安全传输方法包括以下步骤:
步骤S1、服务端生成一公钥以及与公钥对应的一私钥,并将所公钥公开使客户端能够获取;
步骤S2、客户端通过初始化秘钥生成一加密秘钥,加密秘钥对需要发送的明文数据进行加密处理,以形成加密数据;
步骤S3、客户端通过获取的公钥对加密数据进行加密以形成加密报文,并发送至服务端;
步骤S4、服务端通过私钥对加密报文进行解密以获得加密数据;
步骤S5、服务端通过初始化秘钥生成一与加密秘钥对应的解密秘钥,解密秘钥对加密数据进行解密以获得明文数据。
上述技术方案中,服务端为了保证数据传输的安全性,通过生成唯一的私钥和与私钥对应的公钥,其中公钥通过公开的方式方便客户端及时获取,公开的方式可采取将生成的公钥发布于网站,防止公钥被串改;
客户端在加密明文数据过程中,首先通过加密秘钥对明文数据进行加密处理形成加密数据,并通获取的公钥过对加密数据做进一步加密处理,以形成加密报文并将加密报文通过网络传输至服务端;
服务端在接收加密报文后,通过生成的私钥对加密报文进行解密,以获得加密数据,并进一步通过与加密秘钥对应的解密秘钥对加密数据进行解密以获得对应加密数据的明文数据;服务端生成的私钥保存于服务端的数据库中,因此私钥他人无法获取,因此即使加密报文被截取,也无法进行破解;
需要说明的是,客户端通过采用第一DES加解密单元生成的加密秘钥对输入的明文数据进行加密处理;
通过第一RSA加解密单元,进一步将公钥对加密数据进行再次加密以形成加密报文;
服务端同样采用第二RSA加解密单元,通过私钥对加密报文进行解密;
采用第二DES加解密单元生成的解密秘钥对加密数据进行解密,疑惑的明文数据。
在一种较优的实施方式中,如图2所示,步骤S2中生成加密秘钥的方法具体包括:
步骤A1、客户端随机生成一第一字节数组,第一字节数组长度为初始化秘钥长度的两倍;
步骤A2、客户端对第一字节数组进行计算,以获得对应第一字节数组的一第一字符串;
步骤A3、客户端对生成的第一字节数组进行计算以生成一第二字节数组;
步骤A4、客户端将初始化秘钥与第二字节数组进行计算以生成加密秘钥。
在一种较优的实施方式中,如图3所示,
步骤A1中,产生第一字节数组包括以下步骤:
步骤A11、随机产生数量为初始化秘钥长度的两倍个浮点型数据;
步骤A12、将每个浮点型数据乘以0xFF后强制转换为整数型数据;
步骤A13、将步骤A12中得到的整数型数据顺序赋值入一数组,以获得一整数型数组;
步骤A14、将整数型数组中的每个元素转换为字节型数据,以获得第一字节数组。
如图4所示,步骤A2中获得第一字符串包括以下步骤:
步骤A21、将第一字节数组中的每个元素转换为十六进制;
步骤A22、将转换成十六进制的数据强制转换为字符型数据;
步骤A23、根据第一字节数组的下标顺序拼接步骤A22中获得的字符型数据以获得第一字符串。
上述技术方案中,将十六进制的数据强制转换为字符型数据是指将对应十六进制数的数字和/或字母直接转换成字符行数据,如十进制数字238转换成十六进制数字为EE,强制字符型数据后变成“E”、“E”两个字符。
在一种较优的实施方式中,如图5所示,步骤A3中,获得第二字节数组包括以下步骤:
步骤A31、将第一字节数组中的元素按照顺从第一字节数组中部均分为两组;
步骤A32、将获得的两组元素按顺序一一对应的进行异或运算;
步骤A33、将异或运算的结果按顺序依次赋值入一长度为第一字节数组长度的一半的一临时数组中;
步骤A34、将步骤A33中获得的临时数组中的元素转换为字节型以获得第二字节数组。
在一种较优的实施方式中,如图6所示,步骤A4中,生成加密秘钥包括以下步骤:
步骤A41、将初始化秘钥转换为一第三字节数组;
步骤A42、将第二字节数组中的元素与第三字节数组中的元素按顺序一一对应的进行异或运算,以获得加密秘钥。
在一种较优的实施方式中,如图7所示,通过加密秘钥对明文数据进行加密的处理包括以下步骤:
步骤B1、客户端将通过加密秘钥对明文数据进行加密以获得一加密字节数组;
步骤B2、客户端将加密字节数组进行转换以形成一第二字符串;
步骤B3、客户端将第一字符串与第二字符串组合并加密,以形成加密数据。
在一种较优的实施方式中,如图8所示,步骤B2中获得第二字符串包括以下步骤:
步骤B21、将加密字节数组中的每个元素转换为十六进制数据;
步骤B22、将转换成十六进制的数据强制转换为字符型数据;
步骤B23、根据加密字节数组的下标顺序拼接步骤B22中获得的字符型数据以获得第二字符串。
优选的,如图9所示,步骤B3中,生成加密数据的方法包括以下步骤:
步骤B31、客户端将第一字符串和第二字符串按照顺序拼接,以形成第三字符串;
步骤B32、客户端通过公钥对第三字符串进行加密以形成加密数据。
在一种较优的实施方式中,如图10所示,步骤S4中,服务端对加密报文进行解密的操作包括:
步骤C1、服务端通过私钥对加密报文进行解析以获得第三字符串;
步骤C2、服务端对第三字符串进行拆解处理,以获得第一字符串和第二字符串;
步骤C3、服务端对第一字符串进行逆向计算以生成第一字节数组;
步骤C4、服务端对第一字节数组进行计算以获得第二字节数组;
步骤C5、服务端将初始化秘钥与第二字节数组进行逆向计算以获得与加密秘钥对应的解密秘钥。
在一种较优的实施方式中,如图11所示,
所述步骤C2中,获得所述第一字节数组的步骤包括:
步骤C31、将所述第一字符串中的字符型数据两两组合,以获得一组十六进制数;
步骤C32、将所述步骤C31中获得的十六进制数转换为十进制的数据;
步骤C32、将所述十进制的数据根据于所述第一字符串中的顺序赋值于一字节数组,以获得所述第一字节数组。
在一种较优的实施方式中,如图12所示,步骤S5中,通过解密秘钥对加密数据进行解密的方法包括:
步骤D1、服务端通过解密秘钥对第二字符串进行解密,以获得加密字节数组;
步骤D2、服务端将加密字节数组转化为明文数据。
在一种较优的实施方式中,初始化秘钥为八位字符串形成。
在一种较优的实施方式中,客户端提供一第一DES加解密单元对明文数据进行加密操作以形成加密数据。
在一种较优的实施方式中,服务端提供一第二DES加解密单元对加密数据进行解密操作以获得明文数据。
在一种较优的实施方式中,客户端提供一第一RSA加解密单元对加密数据进行加密操作以形成加密报文。
在一种较优的实施方式中,服务端提供一第二RSA加解密单元对加密报文进行解密操作以获得加密数
以下以一种具体的实施方式进行说明,客户端和服务端端生成一初始化秘钥,即预设一个相同的八位的初始化秘钥字符串,如“longzhi!”,并通过16进制转换得到一个字节数组:byte[]desKey00={0x6c,0x6f,0x6e,0x67,0x7a,0x68,0x69,0x21};
客户端通过第一RSA加密单元产生一对秘钥,分别为一个公钥和一个私钥,公钥对外公开,私钥只存放入服务端的数据库中,如私钥为:“MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAKVu8K8ahszrS77PER1GCMfqIowKNi6friQaO/CD9SDO6cqJXwzB7jZSLbEKYyPyolF+gFYSUWIfJWKSTLsVZZumPPjZ0rrEm/o+//yXtBel0QLpQbiGzANOzcGmWVaX3w9aG6oxRlJ+W43EJXU0b77SuKfenGtLSBj/dtiYLLRJAgMBAAECgYACZedLQoEtu0Nv0qSW3gsGithRW1yJtHrbvx2bUO5euWEeNHuSPcVsOCi9Zj8lqEC+Ga1WkhFn8LekBCbkl1zPrNCq4iLZY5eLXbKKvwUiaPl9NpQrlfLSszq24BtbyDRoSVNgDCWHjxfElbxwH86Gzh40n1JvLoh0UWn0kdkv2QJBANuESI//Nqi7rNeDvB+j70Q1SXiwXBAznpRKhyVTVK4AIEURjgDmzrJlCHSMSybByBi6wQka0kHLayY3USUsVeMCQQDA7ZYzzS04MFjtK0pJvu4lRfssSaMIijS/hVsokrPiRkeKnwdMgyop69Qhgxrlnz9Pi/v68qQYIvwIEBssdwTjAkEAvUK4LS6lOaVVyBpUQBNfXzdyORQUzAM1XjVDf/Lwt3R0XhhcjnpxC24AdDvhL3Ezy954QBlX3lI7958J3zrycQJBALJctKmNfcndwMj7ZcHKF8cz7KOkLGrfwyZxNrbK8i02hjudDJVrChcZpNOarsotMM3s//egTZ7W8STPJyAzpLsCQGG5g9NxagU7wq4BkLIuE5bWw920glxuS3RCjJp3vpKU3jtgpWStE8l0KOOimRezs3CB+3mlR/nZdmTLKEuVge4=”;
公钥为:“MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQClbvCvGobM60u+zxEdRgjH6iKMCjYun64kGjvwg/UgzunKiV8Mwe42Ui2xCmMj8qJRfoBWElFiHyVikky7FWWbpjz42dK6xJv6Pv/8l7QXpdEC6UG4hswDTs3BpllWl98PWhuqMUZSfluNxCV1NG++0rin3pxrS0gY/3bYmCy0SQIDAQAB”;
客户端输入一明文数据,如“这是一段互联网待加密传输内容”,并通过随机数工具产生16个的浮点型数据,并对每一个浮点型数据乘以0xFF然后强制类型转换为整数类型,得到一个16个数字的数组,转换为第一字节数组如下:
byte[]seed={48,-14,-26,65,17,111,76,111,66,55,86,-71,-55,-57,-13,6};
通过客户端对seed数组进行十六进制数字转十六进制字符得到随机数第一字符串为“30f2e641116f4c6f423756b9c9c7f306”;
客户端对生成的第一字节数组进行处理以生成一第二字节数组,具体处理是客户端对随机数低八位和高八位进行异或操作(48^66…111^6)得到一个八位的字节数组即第二字节数组如下:byte[]ct=ct={0x72,0xc5,0xb0,0xf8,0xd8,0xa8,0xbf,0x69};
客户端通过初始化秘钥desKey00字节数组和ct字节数组即第二字节数组,按顺序从低到高进行异或操作,得到一个新秘钥即加密秘钥,如下:byte[]desKey01={0x1e,0xaa,0xde,0x9f,0xa2,0xc0,0xd6,0x48};
客户端通过加密秘钥对输入明文数据进行加密得到加密后的加密字节数组,
并对加密字节数组转换为十六进制第二字符串,如:“067a3e3939b1d0c6b3b501b4bb31bc83f03e3b1bf221412ffe760ffde9fcda3d012b1ad295d148ab9f6d5571ee833040”;
客户端将第一字符串和第二字符串进行报文顺序组装,得到第三字符串,如:
“30f2e641116f4c6f423756b9c9c7f306067a3e3939b1d0c6b3b501b4bb31bc83f03e3b1bf221412ffe760ffde9fcda3d012b1ad295d148ab9f6d5571ee833040”。
客户端公钥进行对第三字符串使用进行加密,得到密文字符串即加密报文并通过互联网传输到服务端,密文字符串如:
“800b131bcdd5b23183d881769de0e80558a098716901f31fe0f3c01adfc1a3e47e4d04dc38bd4fa11e6e26a8a3cdde20c8ee8b80f3f135ddea951676c72714a040b902ec458f0d18548cd6cf38f3b0dff0d30d48ca7660784869405140c95af586bb1b7c204c675f3a1fbbe59e6caa0b0ee65fe228bc06917d0eab5344127a2aa01fb5d9a282b4f52e35c686dbd27bbd2c146e0ed93433341aaa8fae244f621f3234492d955ebca4dfaf0867cb30c0bd0e5fc06c2fc1931c0b886cfc0fa808e62fb17f63b2e2c5917113977c5fb15afbfce91acc23947795f71e339da03cae7b8122274eba8bed99fc27e502c565a80e833bc71af256f92cd4c8c0b667a1ad50”;
服务端对接收的加密报文进行解密操作的过程包括,
服务器端接收到客户端传过来的密文字符串,并通过得到的私钥进行解密,第三字符串;
服务端对第三字符串进行报文拆解,分别得到第一字符串和第二字符串;然后通过报文单元对第一字符串进行从字符串到字节数组的转换得到的seed数组;
对得到的seed数组进行上述的的同样操作得解密秘钥即秘钥desKey01,使用desKey01对第二字符串进行解密,最终客户端发送的明文数据,并将明文数据存储到数据库中;
需要说明的是,上述过程的内容数据流向是从客户端流向服务端,客户端加密,服务器解密,反过来,服务器端加密客户端解密步骤类似,不同之处在于服务端加密环节采用的是私钥加密,客户端解密环节采用的是公钥,在此不再赘述。
本发明的技术方案中还可包括一种数据安全传输系统。
一种数据安全传输系统的实施例,应用于互联网中的数据传输,其中,包括:
客户端,以及与客户端连接的服务端,服务端用以生成一私钥以及与私钥对应的公钥;
公钥用以公开供客户端获取;
客户端包括:
第一DES加解密单元,用以生成一加密秘钥对使用者输入的明文数据进行加密处理,以形成一加密数据并输出;
第一RSA加解密单元,与第一加密单元连接,用以通过公钥对加密数据进行加密处理,并输出加密处理结果;
第一报文处理单元,与第一RSA加解密单元,用以将加密处理结果生成一加密报文并发送至服务端;
服务端包括:
第二DES加解密单元,用以通过私钥对加密报文进行解析处理,以获得加密数据;
第二RSA加解密单元,与第二DES加解密单元连接,用以生成加密秘钥对应的解密秘钥对加密数据进行解密处理,以以获得明文数据。
上述技术方案,客户端在加密明文数据过程中,首先第一DES加解密单元对明文数据进行加密处理形成加密数据,第一RSA加解密单元采用公钥过对加密数据做进一步加密处理,以形成加密报文并将加密报文通过网络传输至服务端;
服务端在接收加密报文后,第二RSA加解密单元通过私钥对加密报文进行解密,以获得加密数据,并进一步通过第二DES加解密单元对加密数据进行解密以获得对应加密数据的明文数据;服务端生成的私钥保存于服务端的数据库中,因此私钥他人无法获取,因此即使加密报文被截取,也无法进行破解。
在一种较优的实施方式中,客户端还包括一输入单元,输入单元与第一加解密单元连接,用以供使用者输入明文数据。
在一种较优的实施方式中,客户端包括一第一秘钥处理单元,第一秘钥处理单元用以随机成一第一字节数组;
第一报文处理单元对第一字节数组进行处理,以获得对应第一字节数组的一第一字符串;
客户端对生成的第一字符串进行处理以生成一第二字节数组;
并通过第一秘钥处理单元将初始秘钥与第二字节数组进行处理以生成加密秘钥。
在一种较优的实施方式中,客户端通过第一加解密秘钥对明文数据进行加密以获得一加密字节数组;
第一报文处理单元将加密字节数组进行转换以形成一第二字符串,并将第一字符串与第二字符串组合,以形成加密数据。
在一种较优的实施方式中,服务端包括一第二报文处理单元,与第三加解密单元连接;
第三加解密单元用以将加密报文进行拆解处理,以获得加密报文包含的第一字符串和第二字符串;
第二报文处理单元用以将第一字符串进行转换以生成第一字节数组;
并将第一字节数组进行处理以获得第二字节数组;
第二处理单元还用以将初始秘钥与第二字节数组进行处理以生成与加密秘钥对应的解密秘钥。
在一种较优的实施方式中,第四加解密单元通过解密秘钥对第二字符串进行解密,以获得加密字节数组;
并将加密字节数组转化为明文数据。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
Claims (13)
1.一种数据安全传输方法,应用于互联网中的数据传输,其特征在于,包括:
提供至少一个客户端,用以发送数据;
提供一服务端,用以接收所述客户端发送的数据;
所述客户端和所述服务端分别生成一相同的初始化秘钥;
所述数据安全传输方法包括以下步骤:
步骤S1、所述服务端生成一公钥以及与所述公钥对应的一私钥,并将所公钥公开使所述客户端能够获取;
步骤S2、所述客户端通过所述初始化秘钥生成一加密秘钥,所述加密秘钥对需要发送的明文数据进行加密处理,以形成加密数据;
步骤S3、所述客户端通过获取的所述公钥对所述加密数据进行加密以形成加密报文,并发送至所述服务端;
步骤S4、所述服务端通过所述私钥对所述加密报文进行解密以获得所述加密数据;
步骤S5、所述服务端通过所述初始化秘钥生成一与所述加密秘钥对应的解密秘钥,所述解密秘钥对所述加密数据进行解密以获得所述明文数据;
所述步骤S2中生成所述加密秘钥的方法具体包括:
步骤A1、所述客户端随机生成一第一字节数组,所述第一字节数组长度为所述初始化秘钥长度的两倍;
步骤A2、所述客户端对所述第一字节数组进行计算,以获得对应所述第一字节数组的一第一字符串;
步骤A3、所述客户端对生成的所述第一字节数组进行计算以生成一第二字节数组;
步骤A4、所述客户端将所述初始化秘钥与所述第二字节数组进行计算以生成所述加密秘钥;
通过所述加密秘钥对所述明文数据进行加密的处理包括以下步骤:
步骤B1、所述客户端通过所述加密秘钥对所述明文数据进行加密以获得一加密字节数组;
步骤B2、所述客户端将所述加密字节数组进行转换以形成一第二字符串;
步骤B3、所述客户端将所述第一字符串与所述第二字符串组合并加密,以形成所述加密数据。
2.根据权利要求1所述的数据安全传输方法,其特征在于,所述步骤A1中,产生所述第一字节数组包括以下步骤:
步骤A11、随机产生数量为所述初始化秘钥长度的两倍个浮点型数据;
步骤A12、将每个所述浮点型数据乘以0xFF后强制转换为整数型数据;
步骤A13、将所述步骤A12中得到的整数型数据顺序赋值入一数组,以获得一整数型数组;
步骤A14、将所述整数型数组中的每个元素转换为字节型数据,以获得所述第一字节数组。
3.根据权利要求1所述的数据安全传输方法,其特征在于,所述步骤A2中获得所述第一字符串包括以下步骤:
步骤A21、将所述第一字节数组中的每个元素转换为十六进制;
步骤A22、将转换成十六进制的数据强制转换为字符型数据;
步骤A23、根据所述第一字节数组的下标顺序拼接所述步骤A22中获得的字符型数据以获得所述第一字符串。
4.根据权利要求1所述的数据安全传输方法,其特征在于,所述步骤A3中,获得所述第二字节数组包括以下步骤:
步骤A31、将所述第一字节数组中的元素按照顺从所述第一字节数组中部均分为两组;
步骤A32、将获得的两组元素按顺序一一对应的进行异或运算;
步骤A33、将异或运算的结果按顺序依次赋值入一长度为所述第一字节数组长度的一半的一临时数组中;
步骤A34、将所述步骤A33中获得的所述临时数组中的元素转换为字节型以获得所述第二字节数组。
5.根据权利要求1所述的数据安全传输方法,其特征在于,所述步骤A4中,生成所述加密秘钥包括以下步骤:
步骤A41、将所述初始化秘钥转换为一第三字节数组;
步骤A42、将所述第二字节数组中的元素与所述第三字节数组中的元素按顺序一一对应的进行异或运算,以获得所述加密秘钥。
6.根据权利要求1所述的数据安全传输方法,其特征在于,所述步骤B2中获得所述第二字符串包括以下步骤:
步骤B21、将所述加密字节数组中的每个元素转换为十六进制数据;
步骤B22、将转换成十六进制的数据强制转换为字符型数据;
步骤B23、根据所述加密字节数组的下标顺序拼接所述步骤B22中获得的字符型数据以获得所述第二字符串。
7.根据权利要求1所述的数据安全传输方法,其特征在于,所述步骤B3中,生成所述加密数据的方法包括以下步骤:
步骤B31、所述客户端将所述第一字符串和所述第二字符串按照顺序拼接,以形成第三字符串;
步骤B32、所述客户端通过所述公钥对所述第三字符串进行加密以形成所述加密数据。
8.根据权利要求7所述的数据安全传输方法,其特征在于,所述步骤S4中,所述服务端对所述加密报文进行解密的操作包括:
步骤C1、所述服务端通过所述私钥对所述加密报文进行解析以获得所述第三字符串;
步骤C2、所述服务端对所述第三字符串进行拆解处理,以获得所述第一字符串和所述第二字符串;
步骤C3、所述服务端对所述第一字符串进行逆向计算以获得所述第一字节数组;
步骤C4、所述服务端对所述第一字节数组进行计算以获得所述第二字节数组;
步骤C5、所述服务端将所述初始化秘钥与所述第二字节数组进行逆向计算以生成与所述加密秘钥对应的所述解密秘钥。
9.根据权利要求8所述的数据安全传输方法,其特征在于,所述步骤C3中,获得所述第一字节数组的步骤包括:
步骤C31、将所述第一字符串中的字符型数据两两组合,以获得一组十六进制数;
步骤C32、将所述步骤C31中获得的十六进制数转换为十进制的数据;
步骤C33、将所述十进制的数据根据于所述第一字符串中的顺序赋值于一字节数组,以获得所述第一字节数组。
10.根据权利要求3所述的数据安全传输方法,其特征在于,所述步骤S5中,通过所述解密秘钥对所述加密数据进行解密的方法包括:
步骤D1、所述服务端通过所述解密秘钥对所述第二字符串进行解密,以获得所述加密字节数组;
步骤D2、所述服务端将所述加密字节数组转化为所述明文数据。
11.根据权利要求1所述的数据安全传输方法,其特征在于,所述初始化秘钥为八位字符串形成。
12.根据权利要求1所述的数据安全传输方法,其特征在于,所述客户端提供一第一DES加解密单元对所述明文数据进行加密操作以形成所述加密数据,和/或
所述服务端提供一第二DES加解密单元对所述加密数据进行解密操作以获得所述明文数据。
13.根据权利要求1所述的数据安全传输方法,其特征在于,所述客户端提供一第一RSA加解密单元对所述加密数据进行加密操作以形成所述加密报文;和/或
所述服务端提供一第二RSA加解密单元对所述加密报文进行解密操作以获得所述加密数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710067971.1A CN106712946B (zh) | 2017-02-07 | 2017-02-07 | 一种数据安全传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710067971.1A CN106712946B (zh) | 2017-02-07 | 2017-02-07 | 一种数据安全传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106712946A CN106712946A (zh) | 2017-05-24 |
CN106712946B true CN106712946B (zh) | 2020-06-26 |
Family
ID=58909270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710067971.1A Active CN106712946B (zh) | 2017-02-07 | 2017-02-07 | 一种数据安全传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106712946B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888565B (zh) * | 2017-10-19 | 2021-07-02 | 厦门集微科技有限公司 | 安全处理的方法和装置及加密处理的方法和装置 |
CN108052805B (zh) * | 2017-11-20 | 2021-07-30 | 北京旋极信息技术股份有限公司 | 一种数据加解密方法和装置 |
CN108234136B (zh) * | 2018-01-25 | 2019-11-12 | 北京深思数盾科技股份有限公司 | 一种安全访问方法、终端设备及系统 |
CN108418684A (zh) * | 2018-03-09 | 2018-08-17 | 江苏科建教育软件有限责任公司 | 一种字符串对称加密及解密方法 |
CN111431846B (zh) * | 2019-05-30 | 2022-12-02 | 杭州海康威视数字技术股份有限公司 | 数据传输的方法、装置和系统 |
CN113496679B (zh) * | 2020-03-19 | 2022-10-04 | 川奇光电科技(扬州)有限公司 | 显示装置及其驱动保护方法 |
CN111600703B (zh) * | 2020-05-12 | 2023-08-04 | 京东科技信息技术有限公司 | 基于sm2的签名方法、系统、电子设备及存储介质 |
CN112491907A (zh) * | 2020-12-01 | 2021-03-12 | 珠海格力电器股份有限公司 | 数据的传输方法及装置、系统、存储介质、电子设备 |
CN112637140A (zh) * | 2020-12-09 | 2021-04-09 | 深圳市快付通金融网络科技服务有限公司 | 密码传输方法、终端、服务器及可读存储介质 |
CN115296861B (zh) * | 2022-07-15 | 2023-06-06 | 智己汽车科技有限公司 | 车载can总线的网络安全通讯方法及控制装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867473A (zh) * | 2010-01-27 | 2010-10-20 | 南京大学 | 抗阻塞攻击的共享媒体终端连接建立方法和接入认证系统 |
CN103177225A (zh) * | 2013-04-01 | 2013-06-26 | 厦门市美亚柏科信息股份有限公司 | 一种数据管理方法和系统 |
CN104182876A (zh) * | 2013-05-24 | 2014-12-03 | 中国电信股份有限公司 | 安全支付交易方法和系统 |
CN104202158A (zh) * | 2014-09-22 | 2014-12-10 | 浪潮电子信息产业股份有限公司 | 一种基于云计算的数据对称和非对称混合加解密方法 |
CN105656865A (zh) * | 2014-11-30 | 2016-06-08 | 沈阳高精数控智能技术股份有限公司 | 一种用于车间监控与管理系统的加密通信方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7254605B1 (en) * | 2000-10-26 | 2007-08-07 | Austen Services Llc | Method of modulating the transmission frequency in a real time opinion research network |
-
2017
- 2017-02-07 CN CN201710067971.1A patent/CN106712946B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867473A (zh) * | 2010-01-27 | 2010-10-20 | 南京大学 | 抗阻塞攻击的共享媒体终端连接建立方法和接入认证系统 |
CN103177225A (zh) * | 2013-04-01 | 2013-06-26 | 厦门市美亚柏科信息股份有限公司 | 一种数据管理方法和系统 |
CN104182876A (zh) * | 2013-05-24 | 2014-12-03 | 中国电信股份有限公司 | 安全支付交易方法和系统 |
CN104202158A (zh) * | 2014-09-22 | 2014-12-10 | 浪潮电子信息产业股份有限公司 | 一种基于云计算的数据对称和非对称混合加解密方法 |
CN105656865A (zh) * | 2014-11-30 | 2016-06-08 | 沈阳高精数控智能技术股份有限公司 | 一种用于车间监控与管理系统的加密通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106712946A (zh) | 2017-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106712946B (zh) | 一种数据安全传输方法 | |
CN107086915B (zh) | 一种数据传输方法、数据发送端及数据接收端 | |
US7073066B1 (en) | Offloading cryptographic processing from an access point to an access point server using Otway-Rees key distribution | |
CN108347419A (zh) | 数据传输方法和装置 | |
US20130028419A1 (en) | System and a method for use in a symmetric key cryptographic communications | |
US20150229621A1 (en) | One-time-pad data encryption in communication channels | |
CN104901803A (zh) | 一种基于cpk标识认证技术的数据交互安全保护方法 | |
CN113726725A (zh) | 一种数据加解密方法、装置、电子设备及存储介质 | |
CN105376261A (zh) | 一种用于即时通讯消息的加密方法及系统 | |
Kaur et al. | A random selective block encryption technique for secure image cryptography using blowfish algorithm | |
CN109104278A (zh) | 一种加密解密方法 | |
CN104113410B (zh) | 一种基于多表加密法的数据加密传输方法及装置 | |
Reshma et al. | Pairing-free CP-ABE based cryptography combined with steganography for multimedia applications | |
Kuppuswamy et al. | New Innovation of Arabic language Encryption Technique using New symmetric key algorithm | |
Veeraragavan et al. | Enhanced encryption algorithm (EEA) for protecting users' credentials in public cloud | |
CN112800462A (zh) | 一种云计算环境下机密信息的存储方法 | |
Pradeep et al. | Survey on the key management for securing the cloud | |
Kumar et al. | Hybridization of Cryptography for Security of Cloud Data | |
CN110321722B (zh) | Dna序列相似率安全计算方法及系统 | |
Sultana et al. | Keyless lightweight encipher using homomorphic and binomial coefficients for smart computing applications | |
CN111212068B (zh) | 一种输入法对文字加解密的方法 | |
CN107483387A (zh) | 一种安全控制方法及装置 | |
Acharya et al. | Encryption and decryption of informative image by key image using modified Hill cipher technique based on non-invertible matrices | |
Hossen et al. | Join Public Key and Private Key for Encrypting Data | |
CN111800784A (zh) | 基于云计算的区块链云服务系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |