一种随机数据加解密法、装置及系统的制作方法

文档序号:16275755发布日期:2018-12-14 22:34阅读:149来源:国知局
一种随机数据加解密法、装置及系统的制作方法

本发明属于大数据网络技术领域,尤其涉及一种随机数据加解密方法、装置及系统。

背景技术

在现有技术中对数据加密一般使用aes+rsa组合的方式对数据进行加密,aes对数据内容进行加密,rsa对aes的密钥进行加密然后和内容一起传输到后台进行解密。

加密方式:加密方生成一个16位的aes秘钥固定。生成后不再变化,将要加密的数据利用aes秘钥进行加密得到加密数据。然后用rsa公钥对aes密钥进行加密,最后把加密后的aes密钥和aes密钥加密的内容组成加密数据包发送到后台服务器。

解密方式:服务器得到加密数据包通过切分得到aes加密密钥,通过rsa私钥对aes密钥进行解密,得到解密后的内容然后通过aes进行解密。

现有技术的缺陷:虽然说通过aes+rsa组合的方式对数据进行加密在一定程度上对数据安全有所保障,由于随机字符串生成aes秘钥的方法是公知常识,而在数据传输的过程中随机字符串通过通知服务器传输容易被截获从而直接得aes秘钥和加密的数据,因此整体加解密方法安全性较低。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种随机数据加解密方法、装置及系统,该方法将rsa与aes加密技术结合,从而在数据传输的安全性及实时性方面取得较佳的平衡。

为实现上述发明目的,本发明提供了的技术方案如下:

一方面,本申请提供了一种随机数据加密方法,该方法包括:

随机生成固定长度f的字符串,将所述字符串转换为固定长度f的aes密钥;

将原文件数据按照预设长度l均分成m个块数据,再将每个块数据按照预设长度n均分成p组;

在每个块数据中随机抽取q组数据,利用aes密钥进行加密,记录随机抽取的组的位置长度s,随机抽取位置的长度固定为2位,不够后面补0;然后把加密后的q组数据放回原来随机抽取的位置中,和剩下的未加密的数据组成一个加密块;

利用rsa公钥对随机抽取的组的位置长度s加密,再加上加密块组成一个加密包,m个加密包组成加密数据;

利用rsa公钥对aes密钥加密,再加上加密数据,得到混合加密数据;

将混合加密数据发送到服务器。

第二方面,提供一种随机数据解密方法,该方法包括:

接收混合加密数据;

对混合加密数据按照固定长度f切分,得到rsa公钥加密的aes密钥和剩下的加密数据;

利用rsa私钥对aes密钥进行解密;

根据解密的总长度将剩下的加密数据分割成多个块数据;所述解密的总长度为:预设长度l加上前面随机抽取的组的位置长度s;

利用rsa私钥对每个块数据前的随机生成位置长度s进行解密;

将每一个块数据按照预设长度n分成p组,通过随机抽取的组的位置长度s把加密数据取出来,利用aes密钥进行解密,将解密后的数据放回随机抽取的组的位置中去,得到原文件数据。

第三方面,提供一种随机数据加密装置,该装置包括:

aes密钥生成模块,用于随机生成固定长度f的字符串,将所述字符串转换为固定长度f的aes密钥;

分割模块,用于将原文件数据按照预设长度l均分成m个块数据,再将每个块数据按照预设长度n均分成p组;

第一加密模块,用于在每个块数据中随机抽取q组数据,利用aes密钥进行加密,记录随机抽取的组的位置长度s,随机抽取位置的长度固定2位,不够后面补0;然后把加密后的q组数据放回原来随机抽取的位置中,和剩下的未加密的数据组成一个加密块;

第二加密模块,利用rsa公钥对随机抽取的组的位置长度s加密,再加上加密块组成一个加密包,m个加密包组成加密数据;

第三加密模块,利用rsa公钥对aes密钥加密,再加上加密数据,得到混合加密数据;

发送模块,用于将混合加密数据发送到服务器。

第四方面,提供一种随机数据解密装置,该装置包括:

接收模块,用于接收混合加密数据;

第一分割模块,用于对混合加密数据按照固定长度f切分,得到rsa公钥加密的aes密钥和剩下的加密数据;

第一解密模块,用于利用rsa私钥对aes密钥进行解密;

第二分割模块,用于根据解密的总长度将剩下的加密数据分割成多个块数据;所述解密的总长度为:预设长度l加上前面随机抽取的组的位置长度s;

第二解密模块,用于利用rsa私钥对每个块数据前的随机生成位置长度s进行解密;

第三解密模块,用于将每一个块数据按照预设长度n分成p组,通过随机抽取的组的位置长度s把加密数据取出来,利用aes密钥进行解密,将解密后的数据放回随机抽取的组的位置中去,得到原文件数据。

第五方面,提供一种随机数据加解密系统,该系统包括上述随机数据加密装置和随机数据解密装置。

本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

本发明实施例提供了一种随机数据加解密方法、装置及系统,所述方法在使用时,先从加密方中对原文件数据进行二次加密,且在加密的过程中将关键的随机位置s和aes利用rsa公钥加密的密钥隐藏于初级加密数据里,将最后隐藏了随机位置s和aes密钥利用服务器作为中转,随机位置长度和aes密钥长度都是固定长度。接收方通过固定长度截取到密钥和随机位置s,aes密钥通过rsa私钥解密得到真正的明文的aes密钥,然后随机位置s也是固定,通过随机位置s可以得到数据中加密数据的位置然后通过aes算法将随机位置的字符串转换为aes秘钥解密后的原始数据,在这个过程中不仅仅对部分数据进行加密而且部分数据的位置也进行加密,并且每次传输数据加密的位置和数据都不一样,这样即使数据被拦截、分析后,无法直接得到真正的原文件数据,这个文件传输过程比现有的要更加安全稳定,特别在大数据环境下面,数据传输更安全、更可靠。

附图说明

图1是本发明的加密方法流程图;

图2是本发明的加密装置原理图;

图3是本发明的解密方法流程图;

图4是本发明的解密装置原理图;

图5是本发明的加解密系统原理图。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

实施例1

如图1所示,一种随机数据加密方法,该方法包括:

随机生成固定长度16的字符串,将所述字符串转换为固定长度16的aes密钥;

假如需要加密源文件数据长度是4096,则按照预设长度2048均分成2个块数据,再在每个块的数据分成64组,每组长度32;将原文件数据按照预设长度l均分成m个块数据,再将每个块数据按照预设长度32均分成64组;

在每个块数据中随机抽取40组数据,利用aes密钥进行加密,记录随机抽取的组的位置长度s,随机抽取位置的长度固定为2位,不够后面补0;然后把加密后的40组数据放回原来随机抽取的位置中,和剩下的未加密的数据组成一个加密块;

利用rsa公钥对随机抽取的组的位置长度80加密,再加上加密块组成一个加密包,80个加密包组成加密数据;

利用rsa公钥对aes密钥加密,再加上加密数据,得到混合加密数据;

将混合加密数据发送到服务器。

本发明将rsa与aes加密技术结合,用于数据的安全传输,利用rsa的难于破解但密钥重复性大且加密代价大的特点对加密密钥进行加密,利用aes算法较好的安全性以及优于rsa算法的效率性,主要完成对数据部分的加密。充分利用两种算法的优缺点,然后再这基础上进行随机抽出数据加密的方式,从而可根据实际需要灵活地在实时性和安全性之间做出最佳的权衡。

本发明大大增加了数据的安全性,使得在数据加密的安全上进一步对数据进行处理,数据的实时性处理上大大提高,在各个领域特别是实时处理的问题上面有很大的帮助。

基于同一发明构思,本申请提供了实施例1对应的装置,详见实施例2。

实施例2

如图2所示,一种随机数据加密装置,该装置包括:

aes密钥生成模块,用于随机生成固定长度16的字符串,将所述字符串转换为固定长度16的aes密钥;

分割模块,用于将原文件数据按照预设长度l均分成m个块数据,再将每个块数据按照预设长度n均分成p组;假如需要加密源文件数据长度是4096,则按照预设长度2048均分成2个块数据,再在每个块的数据分成64组,每组长度32;将原文件数据按照预设长度l均分成m个块数据,再将每个块数据按照预设长度32均分成64组;

第一加密模块,用于在每个块数据中随机抽取40组数据,利用aes密钥进行加密,记录随机抽取的组的位置长度s,随机抽取位置的长度固定2位,不够后面补0;然后把加密后的40组数据放回原来随机抽取的位置中,和剩下的未加密的数据组成一个加密块;

第二加密模块,用于利用rsa公钥对随机抽取的组的位置长度80加密,再加上加密块组成一个加密包,80个加密包组成加密数据;

第三加密模块,用于利用rsa公钥对aes密钥加密,再加上加密数据,得到混合加密数据;

发送模块,用于将混合加密数据发送到服务器。

由于本实施例所介绍的装置为实施本申请实施例1中一种随机数据加密方法所采用的装置,故而基于本申请实施例1中所介绍的方法,本领域所属技术人员能够了解本实施例的装置的具体实施方式以及其各种变化形式,所以在此对于该装置如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。

实施例3

如图3所示,和具体实施例1中的加密方法对应,一种随机数据解密方法,该方法包括:

接收混合加密数据;

对混合加密数据按照固定长度16切分,得到rsa公钥加密的aes密钥和剩下的加密数据;

利用rsa私钥对aes密钥进行解密;

根据解密的总长度2128将剩下的加密数据分割成2个块数据;所述解密的总长度为:预设长度2048加上前面随机抽取的组的位置长度80;

利用rsa私钥对每个块数据前的随机生成位置长度80进行解密;

将每一个块数据按照预设长度32分成64组,通过随机抽取的组的位置长度80把加密数据取出来,利用aes密钥进行解密,将解密后的数据放回随机抽取的组的位置中去,得到原文件数据。

基于同一发明构思,本申请提供了实施例3对应的装置,详见实施例4。

实施例4

如图4所示,一种随机数据解密装置,该装置包括:

接收模块,用于接收混合加密数据;

第一分割模块,用于对混合加密数据按照固定长度16切分,得到rsa公钥加密的aes密钥和剩下的加密数据;

第一解密模块,用于利用rsa私钥对aes密钥进行解密;

第二分割模块,用于根据解密的总长度2128将剩下的加密数据分割成2个块数据;所述解密的总长度为:预设长度2048加上前面随机抽取的组的位置长度80;

第二解密模块,用于利用rsa私钥对每个块数据前的随机生成位置长度80进行解密;

第三解密模块,用于将每一个块数据按照预设长度32分成64组,通过随机抽取的组的位置长度80把加密数据取出来,利用aes密钥进行解密,将解密后的数据放回随机抽取的组的位置中去,得到原文件数据。

由于本实施例所介绍的装置为实施本申请实施例3中一种随机数据解密方法所采用的装置,故而基于本申请实施例3中所介绍的方法,本领域所属技术人员能够了解本实施例的装置的具体实施方式以及其各种变化形式,所以在此对于该装置如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。

实施例5

如图5所示,基于实施例2和实施例4,本申请提供了一种随机数据加解密系统,该系统包括上述随机数据加密装置和随机数据解密装置。前面已经对加密装置和解密装置介绍,在这里就不在赘述。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

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