数据加密和数据解密方法、系统、计算机设备和存储介质与流程

文档序号:19791890发布日期:2020-01-24 14:24阅读:278来源:国知局
数据加密和数据解密方法、系统、计算机设备和存储介质与流程

本申请涉及通讯数据加密领域,特别是涉及数据加密和数据解密方法、系统、计算机设备和存储介质。



背景技术:

随着计算机和网络的快速普及,越来越多的使用者会将数据存储于计算机系统内,一旦存储于计算机内的数据未受到保护,随时有数据被窃取的风险,一次,如何保证数据的安全性已成为一个重要课题。

数据加密技术是网络中最基本的安全技术,主要是通过对网络中传输的信息进行数据加密来保障其安全性,这是一种主动安全防御策略,用很小的代价即可为信息提供相当大的安全保护。传统的数据加密方法指通过加解密算法数据包和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文。传统的加密方法往往会不断提升方法的复杂度以提高保密性能,但是,即便提高了加密方案的复杂度,只要网络黑客同时获取到加密方法和密钥,加密算法数据包和解密算法数据包还是能够被网络黑客破解,引发数据被窃取的问题。因此,传统的数据加密方法存在数据传输安全性不高的问题。



技术实现要素:

基于此,有必要针对传统的数据加密方法数据传输安全性不高的问题,提供一种数据传输安全性更高的数据加密方法、数据解密方法、系统、计算机设备和存储介质。

一种数据加密方法,方法包括:

获取加密公式数据包,加密公式数据包由嵌入式系统开发端将系统程序编译后得到的机器语言进行转化得到,系统程序为不定期更新的系统程序;

将加密公式数据包发送至嵌入式系统电子设备端;

当接收到嵌入式系统电子设备端反馈的接收到加密公式数据包的确认信号时,将加密公式数据包转化为机器语言、并根据机器语言对待加密数据进行加密处理,得到密文数据;

将密文数据发送至嵌入式系统电子设备端。

在其中一个实施例中,加密公式数据包为模拟信号的加密公式数据包。

一种数据解密方法,应用于嵌入式系统电子设备端,方法包括:

接收移动终端转发的加密公式数据包,加密公式数据包由嵌入式系统开发端将系统程序编译后得到的机器语言进行转化得到,系统程序为不定期更新的系统程序;

发送加密公式数据包的确认信号至移动终端;

当接收到移动终端发送的包含原始数据的密文数据时,将加密公式数据包转化为机器语言,通过机器语言对密文数据进行解密,得到原始数据。

在其中一个实施例中,得到原始数据之后,还包括:执行原始数据。

一种数据加密和数据解密系统,包括嵌入式系统开发端、嵌入式系统电子设备端以及移动终端;

嵌入式系统开发端用于编译系统程序得到机器语言,将机器语言转化为加密公式数据包、并将加密公式数据包发送至外部云服务器,系统程序为不定期更新的系统程序;

移动终端用于获取外部云服务器发送的加密公式数据包、并将加密公式数据包发送至嵌入式系统电子设备端,当接收到嵌入式系统电子设备端返回的加密公式数据包的接收确认信号时,将所加密公式数据包转化为机器语言,利用机器语言对原始数据进行加密处理,得到密文数据、并将密文数据发送至嵌入式系统电子设备端;

嵌入式系统电子设备端用于接收加密公式数据包、并发送加密公式数据包的接收确认信号至移动终端,当接收到移动终端发送的包含原始数据的密文数据时,将加密公式数据包转化为机器语言,利用机器语言对密文数据进行解密,得到原始数据。

在其中一个实施例中,嵌入式系统开发端还用于当接收系统更新指令时,更新系统程序,并编译更新后的系统程序得到更新后的机器语言、并将更新后的机器语言发送至外部云服务器。

在其中一个实施例中,嵌入式系统电子设备端烧写有初始系统程序编译得到的初始机器语言。

在其中一个实施例中,嵌入式系统电子设备端还用于在得到原始数据之后,执行原始数据。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法中任一项步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法中任一项步骤。

上述数据加密和解密方法、系统、计算机设备和存储介质,利用机器语言的唯一性,将机器语言作为加密和解密算法,并通过不断修改系统程度来更新机器语言,确保数据加密传输过程的保密性,提高数据传输的安全性,即使网络黑客破解了数据,本方案可通过更新机器语言,使得网络黑客无法破解之后的传输数据,导致其系统功能崩溃,进一步的,当网络黑客想要再次获取数据加解密算法时,必须修改原系统程序,且每次修改会利用一个只读存储器rom,增加了其成本消耗,综上所述,本方案的数据传输的安全性更高。

附图说明

图1为一个实施例中数据加密和数据解密方法的应用环境图;

图2为一个实施例中数据加密方法的流程示意图;

图3为一个实施例中数据解密的流程示意图;

图4为另一个实施例中数据解密方法的流程示意图;

图5为一个实施例中数据加密和数据解密系统的结构框图;

图6为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的数据加密和数据解密方法,主要适用于嵌入式系统与移动终端通讯的数据加解密的场景,具体的,可以应用于如图1所示的应用环境中。其中,移动终端102通过网络与嵌入式系统开发端104以及嵌入式系统电子设备端106进行通信。嵌入式系统开发端将系统程序编译后得到的机器语言进行转化得到加密公式数据包(携带加密公式),然后将加密公式数据包发送至移动终端102,(也可是将加密公式数据包上传到外部云服务器,外部云服务器存储加密公式数据包并将其发送至移动终端102),移动终端102获取加密公式数据包,再将加密公式数据包转发至嵌入式系统电子设备端106,当移动终端102接收到嵌入式系统电子设备端106反馈的接收到加密公式数据包的确认信号时,将加密公式转化为机器语言,依据机器语言对待加密的数据进行加密处理,得到密文数据,将密文数据发送至嵌入式系统电子设备端106,至此,数据加密的过程完成。与之对应的,数据解密方法可以是嵌入式电子设备端106接收移动终端102转发的加密公式数据包,发送加密公式数据包的确认信号至移动终端102,当接收到移动终端102发送的包含原始数据的密文数据时,将加密公式数据包转化为机器语言,通过机器语言对密文数据进行解密,得到原始数据,至此,数据解密过程完成。其中,移动终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,嵌入式系统开发端104可以用独立的服务器或者是多个服务器组成的服务器集群来实现,嵌入式系统电子设备端106可以是蓝牙音箱、智能家电以及其他一系列电子互动产品。

在其中一个实施例中,如图2所示,提供了一种数据加密方法,以该方法应用于图1中的移动终端102为例进行说明,包括以下步骤:

步骤s200,获取加密公式数据包,加密公式数据包由嵌入式系统开发端104将系统程序编译后得到的机器语言进行转化得到,系统程序为不定期更新的系统程序。

其中,加密公式数据包是指包含加密公式算法等数据的数据包,通过加密公式数据包能够完成对数据的加密,将原本为明文的文件或数据根据加密公式算法进行处理,转化为不可读的代码,即为“密文”,同样的,通过加密公式数据包也能完成加密过程的逆过程即解密,将密文数据还原成明文数据。嵌入式系统是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,其主要是用来控制或监视机器、装置、工厂等大规模设备的系统。机器语言是机器能直接识别的程序语言或指令代码,其具有唯一性,具体的,机器语言如30ae00112f45。本实施例中,加密公式数据包是由嵌入式系统(嵌入式系统包括嵌入式系统开发端104和嵌入式系统电子设备端106)的开发端将设计好的系统程序写入编译器,系统程序经过编译器(编译器可以生成用来在与编译器本身所在的计算机和操作系统(平台)相同的环境下运行的目标代码)的编译得到机器语言,再将机器语言经过数模转换器的转换得到模拟信号的加密公式数据包,在得到加密公式数据包之后,可以是嵌入式系统开发端104将加密公式数据包发送至移动终端102,或者是将加密公式数据包发送至外部云服务器。其中,嵌入式系统会不定期发送系统更新指令,嵌入式系统开发端104在接收到系统更新指令后,会更新系统程序,再将更新后的系统程序再次转换为机器语言,并将更新的机器语言再次发送至移动终端102或外部云服务器。在其他实施例中,机器语言的更新还可以是依赖移动终端102的app系统的更新,即移动终端102的app系统发生更新,则机器语言也会得到相应更新。

步骤s400,将加密公式数据包发送至嵌入式系统电子设备端106。

在实际应用中,移动终端102可安装有用于控制或监视嵌入式系统电子设备的应用程序(application,app),嵌入式系统可通过移动终端102的app完成对嵌入式系统电子设备的控制或监视。本实施例中,当移动终端102获取到加密公式数据包后,将加密公式数据包发送至嵌入式系统电子设备端106,具体的,加密公式数据包中的加密公式可以是简单的变换公式如x=x+1,x=x-1等等。

步骤s600,当接收到嵌入式系统电子设备端106反馈的接收到加密公式数据包的确认信号时,将加密公式数据包转化为机器语言、并根据机器语言对待加密数据进行加密处理,得到密文数据。

在数据传输过程中,当嵌入式系统电子设备端106接收到移动终端102发送的加密公式数据包后,会发送接收到加密公式数据包的确认信号即ack(acknowledgecharacter,确认字符)至移动终端102,移动终端102接收到嵌入式系统电子设备端106反馈的接收到加密公式数据包的确认信号时,即通过移动终端102内置的数模转换器将之前获取的加密公式数据包转化为机器语言、并根据机器语言对待加密数据进行加密处理,得到密文数据。

步骤s800,将密文数据发送至嵌入式系统电子设备端106。

如上述实施例所述,在得到密文数据后,移动终端102将密文数据发送至嵌入式系统电子设备端106,以便进行加密数据的传输,至此,数据加密过程完成。

上述数据加密方法,利用机器语言的唯一性,将机器语言作为加密算法,并通过不断修改系统程度来更新机器语言,确保数据加密传输过程的保密性,提高数据传输的安全性,即使网络黑客破解了数据,本方案可通过更新机器语言,使得网络黑客无法破解之后的传输数据,导致其系统功能崩溃,进一步的,当网络黑客想要再次获取数据加解密算法时,必须修改原系统程序,且每次修改会利用一个只读存储器rom,增加了其成本消耗,综上所述,本方案的数据加密效果更佳。

在其中一个实施例中,如图3所示,提供了一种数据解密方法,以该方法应用于图1中的嵌入式系统电子设备端106为例进行说明,包括以下步骤:

步骤s500,接收移动终端102转发的加密公式数据包,加密公式数据包由嵌入式系统开发端104将系统程序编译后得到的机器语言进行转化得到,系统程序为不定期更新的系统程序。

在实际应用中,移动终端102与嵌入式系统电子设备进行数据的传输,为提高数据传输的安全性,需要对传输的数据进行数据的加密,具体的,可以是移动终端102获取外部云服务器或嵌入式系统开发端104发送的加密公式数据包,并将加密公式数据包转发至嵌入式系统电子设备,嵌入式系统电子设备接收移动终端102转发的加密公式数据包,具体的,加密公式数据包是由嵌入式系统开发端104将系统程序编译后得到的机器语言进行转化得到的,本实施例中,嵌入式系统会不定期发送系统更新指令,嵌入式系统开发端104在接收到系统更新指令后,会更新系统程序,再将更新后的系统程序再次转换为机器语言,并将更新的机器语言再次发送至移动终端102或外部云服务器。

步骤s520,发送加密公式数据包的确认信号至移动终端102。

在实际的数据传输过程中,当嵌入式系统电子设备接收到移动终端102发送的加密公式数据包后,会发送接收到加密公式数据包的确认信号即确认字符ack至移动终端102,该确认字符用于反馈给移动终端102已接收到加密公式数据包,可进行加密数据的传输。

步骤s540,当接收到移动终端102发送的包含原始数据的密文数据时,将加密公式数据包转化为机器语言,通过机器语言对密文数据进行解密,得到原始数据。

移动终端102在接收到嵌入式系统电子设备端106反馈的接收到加密公式数据包的确认信号时,会通过内置的数模转换器将获取的加密公式数据包转化为机器语言,同时,根据机器语言对原始数据(待加密数据)进行加密处理,得到密文数据,并将密文数据发送至嵌入式系统电子设备端106,当接收到移动终端102发送的包含原始数据的密文数据时,也可以是通过数模转换器将加密公式数据包转化为机器语言,再采用机器语言对密文数据进行解密,得到原始数据(即将密文数据还原为明文数据)。

上述数据解密方法,利用机器语言的唯一性,将机器语言作为解密算法,并通过不断修改系统程度来更新机器语言,确保数据传输过程的保密性,提高数据传输的安全性,即使网络黑客破解了数据,本方案可通过更新机器语言,使得网络黑客无法破解之后的传输数据,导致其系统功能崩溃,进一步的,当网络黑客想要再次获取数据加解密算法时,必须修改原系统程序,且每次修改会利用一个只读存储器rom,增加了其成本消耗。

如图4所示,在其中一个实施例中,得到原始数据之后,还包括:步骤s560,执行原始数据。

在实际应用中,原始数据通常是待传输的数据内容,在利用加密公式数据包完成对数据的解密得到原始数据之后,还可以执行原始数据,例如文件传输或视频传输等。

如图5所示,本申请还提供一种数据加密和数据解密系统,包括移动终端102、嵌入式系统开发端104以及嵌入式系统电子设备端106,其中:

嵌入式系统开发端104用于编译系统程序得到机器语言,将机器语言转化为加密公式数据包、并将加密公式数据包发送至外部云服务器,系统程序为不定期更新的系统程序;

移动终端102用于获取外部云服务器发送的加密公式数据包、并将加密公式数据包发送至嵌入式系统电子设备端106,当接收到嵌入式系统电子设备端106返回的加密公式数据包的接收确认信号时,将所加密公式数据包转化为机器语言,利用机器语言对原始数据进行加密处理,得到密文数据、并将密文数据发送至嵌入式系统电子设备端106;

嵌入式系统电子设备端106用于接收加密公式数据包、并发送加密公式数据包的接收确认信号至移动终端102,当接收到移动终端102发送的包含原始数据的密文数据时,将加密公式数据包转化为机器语言,利用机器语言对密文数据进行解密,得到原始数据。

其中,嵌入式系统电子设备端106和嵌入式系统开发端104均为嵌入式系统的组成部分,移动终端102和嵌入式系统电子设备端106的数据传输方式为无线传输,可以是wifi(wirelessfidelity,无线保真)传输或蓝牙传输等方式,移动终端102包括处理器和数模转换器。嵌入式系统开发端104内部录入系统程序编译得到机器语言,再将机器语言转化为模拟信号,得到加密公式数据包,将加密公式数据包发送至外部云服务器,再由移动终机端获取外部云服务器发送的加密公式数据包。机器语言是机器能直接识别的程序语言或指令代码,在本实施例中,加密过程若由移动终端102完成,则解密过程对应在嵌入式系统电子设备端106,若加密过程在嵌入式系统电子设备端106,则解密过程应在移动终端102,移动终端102和嵌入式系统电子设备端106互相存在命令数据控制。

在其中一个实施例中,嵌入式系统开发端104还用于当接收系统更新指令时,更新系统程序,并编译更新后的系统程序得到更新后的机器语言、并将更新后的机器语言发送至外部云服务器a。

在实际应用中,嵌入式系统会不定期发送系统更新指令至嵌入式系统开发端104,当嵌入式系统开发端104接收系统更新指令时,便更新系统程序,并重新编译更新后的系统程序,得到更新后的机器语言、并将更新后的机器语言发送至外部云服务器a。按照上述方式,后续的机器语言的更新是嵌入式系统开发端104通过外部云服务器a与移动终端102进行通信,当外部云服务器a接收到更新的机器语言,便将更新后的机器语言发送至移动终端102。在其他实施例中,数据加密和解密系统还可以包括云服务器,云服务器用于接收嵌入式系统开发端104上传的加密公式数据包、并将加密公式数据包发送至移动终端102。

在其中一个实施例中,嵌入式系统电子设备端106烧写有初始系统程序编译得到的初始机器语言。

烧写即是指通过烧写器将写好的程序编译好形成hex或bin文件后,将这个程序写进单片机芯片的过程。由于正式产品中的单片机芯片都加密了,直接使用编程器是无法读出程序的,因此,本实施例中,在嵌入式系统电子设备开发时,烧写有由初始系统程序编译后得到的初始机器语言。如此,在单片机启动时会直接运行芯片中的烧写好的程序,完成既定的功能。

在其中一个实施例中,嵌入式系统电子设备端106还用于在得到原始数据之后,执行原始数据。

原始数据通常是待传输的数据内容,嵌入式系统电子设备端106在利用加密公式数据包完成对数据的解密得到原始数据之后,还可以执行原始数据,例如文件传输或视频传输等。

为更加清楚地描述本申请提供的数据加密、数据解密方法以及数据加密和数据解密系统,下面将结合一个实例进行说明:

嵌入式系统开发端104内部录入系统程序,将系统程序经过编译器编译得到第一机器语言30ae00112f45(具有唯一性),将第一机器语言经数模转换器处理得到加密公式,将加密公式和密钥等数据打包成加密公式数据包发送至移动终端102,当移动终端102如手机接收到加密公式数据包时,将加密公式数据包发送至嵌入式电子设备端,当接收到嵌入式系统电子设备端106反馈的接收加密公式数据包的确认信号时,手机通过内置的数模转换器将加密公式数据包处理得到第一机器语言即30ae00112f45,利用第一机器语言对待加密数据即原始数据1234进行加密处理,得到第一密文数据1235,并将第一密文数据1235发送至嵌入式系统电子设备端106,当嵌入式系统电子设备端106接收到第一密文数据1235,则将加密公式数据包转换为第一机器语言30ae00112f45,依据第一机器语言对第一密文数据1235进行解密得到原始数据1234;当嵌入式系统开发端104接收到系统更新指令后,更新系统程序,并将更新后的系统程序重新编译得到第二机器语言40f300112000,将第二机器语言再次通过数模转换器转换为加密公式数据包,并将其上传至外部云服务器a,移动终端102于外部云服务器a获取更新后的加密公式数据包,将其再次转发至嵌入式系统电子设备端106,当移动终端102接收到嵌入式系统电子设备端106反馈的确认字符后,重新对待加密的数据1234进行加密,得到第二密文数据0325,并将第二密文数据发送至嵌入式系统电子设备端106,嵌入式系统电子设备端106接收到第二密文数据,则将加密公式数据包转换为第二机器语言40f300112000,依据第二机器语言对第二密文数据0325进行解密得到原始数据1234。其中,待加密数据和密文数据经程序转换为十六进制数,即使系统程序简单,但只要不定期更新系统程序,第三方使用者也无法破解加密数据。

应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在其中一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、数模转换器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据加密方法或数据解密防范。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在其中一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述数据加密方法和数据解密方法中的步骤。

在其中一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述数据加密方法和数据解密方法中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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