一种3D模型加密传输方法、解密方法与流程

文档序号:22581315发布日期:2020-10-20 17:03阅读:665来源:国知局
一种3D模型加密传输方法、解密方法与流程

本发明涉及3d模型加密术领域,具体涉及一种3d模型加密传输方法、3d模型解密方法、用户端以及客户端。



背景技术:

3d打印技术作为一种增量制造技术,其被广泛应用于加工制造行业,并且在航空航天、医疗器材以及建筑行业中也有广阔的发展前景。随着云服务平台的兴起,“互联网+”3d打印社会化、网络化服务的趋势也日益明显。因此,在线3d打印制造模型数据保护是实现面向开放式众创的在线3d打印制造模式下知识产权保护的关键。

现有的传统文件加密技术采取的是基于单一模式加密算法的文件保护方案,设计过于简易,这使得文件的保密性以及数据的完整性不能被很好地保护。有的加密程序对用户输入的密钥长度没有任何限制,且读取密钥后未进行任何处理即直接用于加密。如果用户输入的密钥长度过短将会使其很难抵抗恶意攻击,而且直接用原始密钥加密也容易暴露密钥的具体信息。另外大多数文件加密技术只支持本地加密和解密,有的程序甚至在实现上存在一定的漏洞,此类算法在时间和资源充足的条件下容易被破解。



技术实现要素:

本发明的目的在于提供一种3d模型加密传输方法,来克服或至少减轻现有技术的至少一个上述缺陷。

本发明的一个方面,提供一种3d模型加密传输方法,所述3d模型加密传输方法包括:

用户端获取服务器端生成的第一公钥;

用户端生成第一密钥;

用户端对待传输g代码文件进行数字签名;

用户端对具有数字签名的g代码文件进行切片乱序处理,以生成g代码文件组以及组合顺序信息;

用户端通过所述第一密钥对所述g代码文件组进行加密,以生成第一密文;

用户端通过所述第一公钥对所述第一密钥进行加密,以生成第二密钥;

用户端生成第一信息文件,所述第一信息文件内包括有组合顺序信息、第二密钥、数字签名;

用户端通过第一公钥对所述第一信息文件进行加密,从而生成第二密文;

用户端发送所述第一密文与所述第二密文。

可选地,所述用户端生成第一密钥包括:

用户端生成符合aes算法要求的密钥。

可选地,所述用户端对具有数字签名的g代码文件进行切片乱序处理,以生成g代码文件组以及组合顺序信息包括:

对所述g代码文件进行拆分,从而形成第一子文件组,第一子文件组包括至少两个子文件,各个子文件以第一排列顺序进行排序;

对所述第一子文件组中的各个所述子文件进行随机排序并重组,从而生成g代码文件组以及组合顺序信息,其中,所述g代码文件组中的各个子文件以第二排列顺序。

可选地,所述用户端通过所述第一密钥对所述g代码文件组进行加密,以生成第一密文包括:

用户端通过所述第一密钥用对称加密算法aes对所述g代码文件组进行加密,以生成第一密文。

可选地,所述用户端通过所述第一公钥对所述第一密钥进行加密,以生成第二密钥包括:

用户端通过所述第一公钥以非对称加密算法ecc对所述第一密钥进行加密,以生成第二密钥。

可选地,所述用户端通过所述第一公钥对所述第一信息文件进行加密,从而生成第二密文包括:

用户端通过所述第一公钥以非对称加密算法ecc对所述第一信息文件进行加密,从而生成第二密文。

可选地,所述用户端发送所述第一密文与所述第二密文包括:

用户端将所述第一密文与所述第二密文分时发送。

本申请还提供了一种用户端,所述用户端包括:

第一公钥获取单元,所述第一公钥获取单元用于获取服务器端生成的第一公钥;

第一密钥生成单元,所述第一密钥生成单元用于生成第一密钥;

数字签名单元,所述数字签名单元用于对待传输g代码文件进行数字签名;

切片乱序生成单元,所述切片乱序生成单元用于对具有数字签名的g代码文件进行切片乱序处理,以生成g代码文件组以及组合顺序信息;

第一加密单元,所述第一加密单元用于通过所述第一密钥对所述g代码文件组进行加密,以生成第一密文;

第二加密单元,所述第二加密单元用于通过所述第一公钥对所述第一密钥进行加密,以生成第二密钥;

文件生成单元,所述文件生成单元用于生成第一信息文件,所述第一信息文件内包括有组合顺序信息、第二密钥、数字签名;

第三加密单元,所述第三加密单元用于对所述第一信息文件进行加密,从而生成第二密文;

发送单元,所述发送单元用于发送所述第一密文与所述第二密文。

本申请还提供了一种3d模型解密方法,所述3d模型解密方法包括:

服务器端生成第一公钥以及第三密钥,其中,所述第三密钥为所述第一公钥的解密私钥;

服务器端获取第一密文以及第二密文;

服务器端通过所述第三密钥对所述第二密文进行解密,从而获得第一信息文件;

服务器端获取第一信息文件中的组合顺序信息、第二密钥以及数字签名;

服务器端通过所述第三密钥对所述第二密钥进行解密,从而获得第一密钥;

服务器端通过所述第一密钥对所述第一密文进行解密,从而获得g代码文件组;

服务器端根据所述组合顺序信息对所述g代码文件组进行重新排序以及组合,从而获得具有数字签名的g代码文件;

服务器端根据所述数字签名对所述具有数字签名的g代码文件进行签名认证,若签名认证成功,则确定所述g代码文件为所述待传输g代码文件。

本申请还提供了一种服务器端,所述服务器端包括:

生成单元,所述生成单元用于生成第一公钥以及第三密钥,其中,所述第三密钥为所述第一公钥的解密私钥;

接收单元,所述接收单元用于获取第一密文以及第二密文;

第一解密单元,所述第一解密单元用于通过所述第三密钥对所述第二密文进行解密,从而获得第一信息文件;

信息获取单元,所述信息获取单元用于获取第一信息文件中的组合顺序信息、第二密钥以及数字签名;

第二解密单元,所述第二解密单元用于通过所述第三密钥对所述第二密钥进行解密,从而获得第一密钥;

第三解密单元,所述第三解密单元用于通过所述第一密钥对所述第一密文进行解密,从而获得g代码文件组;

排序单元,所述排序单元用于根据所述组合顺序信息对所述g代码文件组进行重新排序以及组合,从而获得具有数字签名的g代码文件;

认证单元,所述认证单元用于根据所述数字签名对所述具有数字签名的g代码文件进行签名认证,若签名认证成功,则确定所述g代码文件为所述待传输g代码文件。

有益效果

本发明的3d模型加密传输方法通过对g代码文件进行乱序、加密、对加密的密钥进行加密、并生成第一信息文件并对第一信息文件进行加密的方式,可以使得本申请传输的第一密文以及第二密文具有较高的抗破解能力。

附图说明

图1为本发明第一实施例的3d模型加密传输方法的流程示意图。

图2为本发明第一实施例的3d模型解密方法的流程示意图。

具体实施方式

为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本申请一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。下面结合附图对本申请的实施例进行详细说明。

在本申请的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请保护范围的限制。

如图1所示的3d模型加密传输方法包括:

步骤101:用户端获取服务器端生成的第一公钥;

步骤102:用户端生成第一密钥;

步骤103:用户端对待传输g代码文件进行数字签名;

步骤104:用户端对具有数字签名的g代码文件进行切片乱序处理,以生成g代码文件组以及组合顺序信息;

步骤105:用户端通过第一密钥对所述g代码文件组进行加密,以生成第一密文;

步骤106:用户端通过第一公钥对所述第一密钥进行加密,以生成第二密钥;

步骤107:用户端生成第一信息文件,第一信息文件内包括有组合顺序信息、第二密钥、数字签名;

步骤108:用户端通过第一公钥对第一信息文件进行加密,从而生成第二密文;

步骤109:用户端发送第一密文与第二密文。

本申请通过对具有数字签名的g代码文件进行切片乱序处理从而进行了一次加密,通过对g代码文件组进行加密而进行了第二次加密,通过对第一公钥加密而进行了第三次加密,通过对第一信息文件进行加密从而进行了第四次加密,通过四次加密,可以最大程度的防止信息被破解。

在本实施例中,用户端生成第一密钥包括:

用户端生成符合aes算法要求的密钥。

在本实施例中,所述用户端对具有数字签名的g代码文件进行切片乱序处理,以生成g代码文件组以及组合顺序信息包括:

对g代码文件进行拆分,从而形成第一子文件组,第一子文件组包括至少两个子文件,各个子文件以第一排列顺序进行排序;

对第一子文件组中的各个子文件进行随机排序并重组,从而生成g代码文件组以及组合顺序信息,其中,g代码文件组中的各个子文件以第二排列顺序。

在本实施例中,用户端通过所述第一密钥对g代码文件组进行加密,以生成第一密文包括:

用户端通过第一密钥用对称加密算法aes对g代码文件组进行加密,以生成第一密文。

在本实施例中,用户端通过第一公钥对所述第一密钥进行加密,以生成第二密钥包括:

用户端通过第一公钥以非对称加密算法ecc对第一密钥进行加密,以生成第二密钥。

在本实施例中,所述用户端通过所述第一公钥对所述第一信息文件进行加密,从而生成第二密文包括:

用户端通过第一公钥以非对称加密算法ecc对第一信息文件进行加密,从而生成第二密文。

在本实施例中,用户端发送第一密文与第二密文包括:用户端将第一密文与第二密文分时发送。

对称加密算法具有速度快、强度高、便于实现等优点,尤其适合加密大块数据,但密钥分配与管理比较困难,而非对称加密算法具有密钥分发与管理简单、速度慢等特点,一般用于加密少量数据、如传输密钥、数字签名等。

因此,本申请结合对称加密算法aes和非对称加密算法ecc提出一种结合对称密钥密码体制和非对称密钥密码体制的混合加密算法的g代码文件传输方案,从而结合了两种算法的优点。

本申请还提供了一种用户端,所述用户端包括第一公钥获取单元,第一密钥生成单元、数字签名单元、切片乱序生成单元、第一加密单元、第二加密单元、文件生成单元、第三加密单元以及发送单元,第一公钥获取单元用于获取服务器端生成的第一公钥;第一密钥生成单元用于生成第一密钥;数字签名单元用于对待传输g代码文件进行数字签名;切片乱序生成单元用于对具有数字签名的g代码文件进行切片乱序处理,以生成g代码文件组以及组合顺序信息;第一加密单元用于通过第一密钥对g代码文件组进行加密,以生成第一密文;第二加密单元用于通过第一公钥对第一密钥进行加密,以生成第二密钥;文件生成单元用于生成第一信息文件,所述第一信息文件内包括有组合顺序信息、第二密钥、数字签名;第三加密单元用于对所述第一信息文件进行加密,从而生成第二密文;发送单元用于发送第一密文与所述第二密文。

本申请还提供了一种3d模型解密方法。

如图2所示的一种3d模型解密方法包括:

步骤201:服务器端生成第一公钥以及第三密钥,其中,第三密钥为第一公钥的解密私钥;

步骤201:服务器端获取第一密文以及第二密文;

步骤202:服务器端通过第三密钥对所述第二密文进行解密,从而获得第一信息文件;

步骤203:服务器端获取第一信息文件中的组合顺序信息、第二密钥以及数字签名;

步骤204:服务器端通过第三密钥对所述第二密钥进行解密,从而获得第一密钥;

步骤205:服务器端通过第一密钥对所述第一密文进行解密,从而获得g代码文件组;

步骤206:服务器端根据组合顺序信息对g代码文件组进行重新排序以及组合,从而获得具有数字签名的g代码文件;

步骤207:服务器端根据数字签名对具有数字签名的g代码文件进行签名认证,若签名认证成功,则确定g代码文件为待传输g代码文件。

本申请还提供了一种服务器端,所述服务器端包括生成单元、接收单元、第一解密单元、信息获取单元、第二解密单元、第三解密单元、排序单元以及认证单元,生成单元用于生成第一公钥以及第三密钥,其中,所述第三密钥为所述第一公钥的解密私钥;接收单元用于获取第一密文以及第二密文;第一解密单元用于通过所述第三密钥对所述第二密文进行解密,从而获得第一信息文件;信息获取单元用于获取第一信息文件中的组合顺序信息、第二密钥以及数字签名;第二解密单元用于通过第三密钥对所述第二密钥进行解密,从而获得第一密钥;第三解密单元用于通过第一密钥对第一密文进行解密,从而获得g代码文件组;排序单元用于根据组合顺序信息对g代码文件组进行重新排序以及组合,从而获得具有数字签名的g代码文件;认证单元用于根据数字签名对具有数字签名的g代码文件进行签名认证,若签名认证成功,则确定g代码文件为待传输g代码文件。

本申请虽然以较佳实施例公开如上,但其实并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此,本申请的保护范围应当以本申请权利要求所界定的范围为准。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动,媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数据多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

此外,显然“包括”一词不排除其他单元或步骤。装置权利要求中陈述的多个单元、模块或装置也可以由一个单元或总装置通过软件或硬件来实现。第一、第二等词语用来标识名称,而不标识任何特定的顺序。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,模块、程序段、或代码的一部分包括一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地标识的方框实际上可以基本并行地执行,他们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或总流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

在本实施例中所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现装置/终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

在本实施例中,装置/终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。

虽然,上文中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

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