【发明授权】数据加密方法、数据解密方法及相关装置_国家基础地理信息中心_201810257581.5 

申请/专利权人:国家基础地理信息中心

申请日:2018-03-27

发明/设计人:鄢中堡;陈现军;张鹏;张庆兰;王明善;田道平

公开(公告)日:2020-09-15

代理机构:北京智晨知识产权代理有限公司

公开(公告)号:CN108173885B

代理人:张婧

主分类号:H04L29/06(20060101)

地址:100000 北京市海淀区莲花池西路28号

分类号:H04L29/06(20060101);H04L1/00(20060101)

优先权:

专利状态码:有效-授权

法律状态:2020.09.15#授权;2018.07.13#实质审查的生效;2018.06.15#公开

摘要:本发明涉及信息处理技术领域,公开了一种数据加密方法、数据解密方法及相关装置。本发明中,数据加密方法包括:获取待加密数据,并为待加密数据分配一个区块流水号、为待加密数据中的所有字符分配序列号以及为每一个字符分配随机参数;计算待加密数据的循环冗余校验码,并对每一个字符进行以下操作:基于DES加密算法,根据待加密数据的循环冗余校验码、区块流水号、字符和字符对应的序列号,计算字符对应的固定码,并根据固定码和字符对应的随机参数,对字符进行加密,得到加密字符;依次获取每一个加密字符,根据获取到的所有加密字符生成待加密数据的加密块。本发明实施方式中提供的数据加密和解密方法,能够有效避免水准测量数据被破坏和篡改。

主权项:1.一种数据加密方法,其特征在于,包括:获取待加密数据,并为所述待加密数据分配一个区块流水号;其中,所述待加密数据为水准测量过程中每一个观测周期产生的一条水准测量数据,一条所述水准测量数据包括若干个字符;为所述待加密数据中的所有字符分配序列号;其中,所述序列号用于标识所述字符在所述待加密数据中所处的位置;根据所述区块流水号和所述字符的序列号,为所述字符分配随机参数;根据循环冗余校验码的编码规则,计算所述待加密数据的循环冗余校验码;对每一个所述字符进行以下操作:基于DES加密算法,根据所述待加密数据的循环冗余校验码、所述区块流水号、所述字符和所述字符对应的序列号,计算所述字符对应的固定码,并根据所述固定码和所述字符对应的随机参数,对所述字符进行加密,得到加密字符;依次获取每一个所述加密字符,根据获取到的所有加密字符生成所述待加密数据的加密块。

全文数据:数据加密方法、数据解密方法及相关装置技术领域[0001]本发明涉及信息处理技术领域,特别涉及一种数据加密方法、数据解密方法及相关装置。背景技术[0002]水准测量又名“几何水准测量”,是用水准仪和水准尺测定地面上两点间高差的方法。测量获得的两点间的高差,主要用于整理、更新国家水准测量数据记录表中存放的数据,以便能够根据正确的测量数据确定正确的高程即,某点沿铅垂线方向到绝对基面的距离。[0003]目前,为了保证测量获得的数据不被他人恶意篡改,通常在传输过程中会进行加密,比如采用DES加密算法对称加密,Dessymmetricencryption、RSA算法RSA加密算法,RSAalgorithm。[0004]但是,发明人发现现有技术中至少存在如下问题:[0005]1、基于DES加密算法的加密原理,破译采用DES加密算法加密后的数据的方式实际上就是搜索秘钥的编码。对于56位长度的秘钥来说,虽然采用穷举法进行搜索,需要进行2的56次方的运算,运算量会很大,但是随着计算机系统能力的不断发展,采用DES加密算法加密后的数据的安全性正逐渐降低。另外,由于DES加密算法为二进制加密算法,采用该加密算法对数据加密后,会破坏水准测量数据的排列格式,从而导致解密后的数据无法直接进行后期业内的数据处理操作。[0006]2、RSA加密算法虽然不易破译,但是由于其加密过程需要进行大量的数据运行,无疑会大大降低对数据进行加密的设备的运算速度,如果要保证运算速度,则对设备的资源要求较高,因此在利用水准仪进行大规模作业时,该加密方法并不适用。另外,该加密方法太过依赖于独立的公钥和密钥,一旦密钥被泄漏,加密方法就会被破解,因此安全性也较弱。发明内容[0007]本发明的目的在于提供一种数据加密方法、数据解密方法及相关装置,以解决上述技术问题。[0008]为解决上述技术问题,本发明的实施方式提供了一种数据加密方法,该数据加密方法包括:获取待加密数据,并为待加密数据分配一个区块流水号;其中,待加密数据为水准测量过程中每一个观测周期产生的一条水准测量数据,一条水准测量数据包括若千个字符;为待加密数据中的所有字符分配序列号;其中,序列号用于标识字符在待加密数据中所处的位置;根据区块流水号和字符的序列号,为字符分配随机参数;根据循环冗余校验码的编码规则,计算待加密数据的循环冗余校验码;对每一个字符进行以下操作:基于DES加密算法,根据待加密数据的循环冗余校验码、区块流水号、字符和字符对应的序列号,计算字符对应的固定码,并根据固定码和字符对应的随机参数,对字符进行加密,得到加密字符;依次获取每一个加密字符,根据获取到的所有加密字符生成待加密数据的加密块。[0009]本发明的实施方式坯提供了一种数据解密方法,该数据解密方法包括:获取加密文件;其中,加密文件由若干个加密块组成;获取每一个加密块的区块流水以及每一个加密块中所有的加密字符和每一个加密字符对应的序列号;对每一个加密字符进行如下操作:根据可显示字符码表和求余运算准则,获得加密字符对应的固定码;获取前序加密块的循环冗余校验码;其中,前序加密块为前一条待加密数据的加密块,前序加密块的循环冗余校验码为前一条待加密数据的循环冗余校验码;根据固定码的逆运算准则,对固定码、区块流水号、加密字符的序列号以及前序加密块的循环冗余校验码进行逆运算,获得加密字符对应的原始字符;在对加密文件中的所有加密字符进行解密后,确定加密文件解密成功。[0010]本发明的实施方式还提供了一种数据加密装置,该数据加密装置包括:获取模块、第一分配模块、第二分配模块、第三分配模块、计算模块、加密处理模块和生成模块;获取模块,用于获取待加密数据;其中,待加密数据为水准测量过程中每一个观测周期产生的一条水准测量数据,一条水准测量数据包括若干个字符;第一分配模块,用于为待加密数据分配一个区块流水号;第二分配模块,用于为待加密数据中的所有字符分配序列号;其中,序列号用于标识字符在待加密数据中所处的位置第三分配模块,用于根据区块流水号和字符的序列号,为字符分配随机参数;计算模块,用于根据循环冗余校验码的编码规则,计算待加密数据的循环冗余校验码;加密处理模块,用于对每一个字符进行以下操作:基于DES加密算法,根据待加密数据的循环冗余校验码、区块流水号、字符和字符对应的序列号,计算字符对应的固定码,并根据固定码和字符对应的随机参数,对字符进行加密,得到加密字符;生成模块,用于依次获取每一个加密字符,根据获取到的所有加密字符生成待加密数据的加密块。[0011]本发明的实施方式还提供了一种数据解密装置,该数据解密装置包括:第一获取模块、第二获取模块、解密处理模块和确定模块第一获取模块,用于获取加密文件;其中,加密文件由若干个加密块组成;第二获取模块,用于获取每一个加密块的区块流水以及每一个加密块中所有的加密字符和每一个加密字符对应的序列号;解密处理模块,用于对每一个加密字符进行如下操作:根据可显示字符码表和求余运算准则,获得加密字符对应的固定码;获取前序加密块的循环冗余校验码;其中,前序加密块为前一条待加密数据的加密块,前序加密块的循环冗余校验码为前一条待加密数据的循环冗余校验码;根据固定码的逆运算准则,对固定码、区块流水号、加密字符的序列号以及前序加密块的循环冗余校验码进行逆运算,获得加密字符对应的原始字符;确定模块,用于在对加密文件中的所有加密字符进行解密后,确定加密文件解密成功。[0012]本发明的实施方式还提供了一种数据加密设备,至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本发明任意实施方式中涉及的数据加密方法。[0013]本发明的实施方式还提供了一种数据解密设备,至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本发明任意实施方式中涉及的数据解密方法。[0014]本发明的实施方式还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时能够实现本发明任意实施方式中涉及的数据加密方法。[0015]本发明的实施方式还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时能够实现本发明任意实施方式中涉及的数据解密方法。[0016]本发明实施方式相对于现有技术而言,在对待加密数据进行加密时,通过利用待加密数据的循环冗余校验码、区块流水号、字符和字符对应的序列号,来计算字符对应的固定码,然后根据每一个字符对应的固定码和该字符对应的随机参数,对字符进行加密,得到加密字符,最后将全部的加密字符组合,生成一个加密块,完成对待加密数据的加密。在对根据上述方式加密后的加密文件进行解密时,逆向运算,只有相临的前一个加密块正常解密(即内部的数据没有用被篡改),该加密块对应的循环冗余校验码才可以用来解密下一个ip密块,否则一旦加密文件中的任意一个加密块中的内容被篡改,后续的加密块就无法进行解密操作,整个加密文件也就无法被解密。基于上述的数据加密和解密方法,可以有效避免原始数据被破坏和篡改。[0017]另外,根据循环冗余校验码的编码规则,计算待加密数据的循环冗余校验码之前,数据加密方法还包括:获取前序加密块的循环冗余校验码;其中,前序加密块为前一条待加密数据的加密块,前序加密块的循环冗余校验码为前一条待加密数据的循环冗余校验码;根据循环冗余校验码的编码规则,计算待加密数据的循环冗余校验码,具体包括:根据待加密数据中前一个字符的循环冗余校验码,计算与字符相邻的后一个字符的循环冗余校验码,直到计算出待加密数据中最后一个字符的循环冗余校验码;将待加密数据中最后一个字符的循环冗余校验码,作为待加密数据的循环冗余校验码;其中,待加密数据中第一个字符的循环冗余校验码,根据前序加密块的循环冗余校验码计算获得。本实施方式提供了一种根据循环冗余校验码的编码规则,计算待加密数据的循环冗余校验码的具体方式。[0018]另外,根据固定码和字符对应的随机参数,对字符进行加密,得到加密字符之后,数据加密方法还包括:从预设的可显示字符码表中获取可见字符编码;其中,可显示字符码表中的可见字符编码由可见ASCII字符按照无规律的顺序组合而成;根据可见字符编码,将加密字符编译为可见格式。通过根据可见字符编码,将加密字符编译为可见格式,解决了二进制的DES加密算法会破坏水准测量数据的排列格式的问题,从而可以使解密后的数据能够直接进行后期的数据处理操作。[0019]另外,根据获取到的所有加密字符生成待加密数据的加密块之后,数据加密方法还包括:确定加密块的个数达到预设数目;根据每一个加密块对应的待加密数据的区块流水号进行排序,组成一个完整的加密文件。通过将加密后的加密块组成一个完整的加密文件,从而能够保证只有加密块的循环冗余校验码正确(g卩加密块中的数据没有被篡改),才可以对后序加密块解密,实现对加密文件的解密,进而保证了数据的安全性。附图说明[0020]—个或多个实施方式通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施方式的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。[0021]图1是本发明第一实施方式的数据加密方法的流程图;[0022]图2是本发明第二实施方式的数据加密方法的流程图;[0023]图3是本发明第三实施方式的数据解密方法的流程图;[0024]图4是本发明第四实施方式的数据加密装置的方框结构示意图;[0025]图5是本发明第五实施方式的数据解密装置的方框结构示意图;[0026]图6是本发明第六实施方式的数据加密设备的方框结构示意图;[0027]图7是本发明第七实施方式的数据解密设备的方框结构示意图。具体实施方式[0028]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。[0029]本发明的第一实施方式涉及一种数据加密方法。该数据加密方法主要应用于水准测量用的水准仪,具体可以是数字水准仪也称电子水准仪),从而可以在生成水准测量数据的时候就可以直接进行加密。[0030]另外,为了不增加数字水准仪的工作压力,也可以由与数字水准仪相连的电子设备来执行该数据加密方法,此处所述的电子设备可以是平板电脑、便携性计算机等。[0031]需要说明的是,以上仅为举例说明,并不对本发明的技术方案和要保护的技术范围构成限定,在实际应用中,本领域的技术人员可以根据使用场景来选择合适的数据加密设备,此处不做限制。[0032]为了便于理解,以下结合图1对该数据加密方法进行具体说明:[0033]在步骤101中,获取待加密数据。[0034]具体的说,本实施方式中获取到的待加密数据为水准测量过程中每一个观测周期产生的一条水准测量数据,且一条水准测量数据可以包括若干个字符。[0035]需要说明的是,在水准测量过程中,一条水准测量数据的产生周期一般为1-2分钟,一个水准测量数据文件包括若干条水准测量数据的产生周期一般为1-2天。[0036]因而,上述观测周期可以由本领域的技术人员根据水准仪的观测场景、整体的观测时间来设置,此处不做限制。[0037]在步骤1〇2中,计算待加密数据的循环冗余校验码。[0038]具体的说,待加密数据的循环冗余校验码是根据循环冗余校验码的编码规则计算获得的。[0039]为了便于理解,计算待加密数据的循环冗余校验码的操作,以下进行具体说明:[0040]在根据循环冗余校验码的编码规则,计算待加密数据的循环冗余校验码之前,首先需要获取前序加密块的循环冗余校验码。[0041]具体的说,本实施方式所获的前序加密块为前一条待加密数据的加密块,前序加密块的循环冗余校验码为前一条待加密数据的循环冗余校验码。[0042]在完成上述操作后,便可进行计算待加密数据的循环冗余校验码,具体如下:[0043]根据待加密数据中前一个字符的循环冗余校验码,计算与字符相邻的后一个字符的循环冗余校验码,直到计算出待加密数据中最后一个字符的循环冗余校验码;[0044]将待加密数据中最后一个字符的循环冗余校验码,作为待加密数据的循环冗余校验码。[0045]需要说明的是,待加密数据中第一个字符的循环冗余校验码,是根据前序加密块的循环冗余校验码计算获得的。[0046]另外,关于循环冗余校验码的编码规则已经较为普及,本领域的技术人员可以根据需要自行实现,此处不再赘述。[0047]本实施方式中,通过引入循环冗余校验码,将循环冗余校验码作为加密过程中所需的一个重要参数,并且在对每一条水准测量数据进行加密时,其循环冗余校验码都要依赖上一条水准测量数据的循环冗余校验码,从而使得加密后的文件,只有在每一条水准测量数据不被篡改的情况下,其循环冗余校验码才不会发生改变,才可以依次将相邻的全部加密数据破译,否则根本无法解密成功。[0048]在步骤103中,对每一个字符进行加密,得到加密字符。[0049]为了便于理解,对每一个字符进行加密,得到加密字符的操作,以下进行具体说明:[0050]首先,基于DES加密算法,根据待加密数据的循环冗余校验码、区块流水号、字符和字符对应的序列号,计算字符对应的固定码。[0051]需要说明的是,DES加密算法是一种使用一个56位的密钥以及附加的8位奇偶校验位,产生最大64位的分组大小,其基本的运算包括异或、置换、代换、移位操作四种。在对数据进行加密时,具体是通过使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算,接着交换这两半,这一过程会继续下去,但最后一个循环不交换。[0052]由于DES加密算法的使用以及较为成熟,本领域的技术人员可以根据其掌握的知识和手段实现,此处不再赘述。[0053]然后,根据固定码和字符对应的随机参数,对字符进行加密,得到加密字符。[00M]需要说明的是,上述加密过程中所需的块流水号、字符和字符对应的序列号,是在获得到待加密数据后,由数据加密设备来分配的。[0055]其中,每一条待加密数据对应一个区块流水号,即待加密数据中的所有字符都共享这一个区块流水号,该流水号可以根据获取到的待加密数据的先后顺序,从预设的某一个值开始,依次累加。[0056]比如,为接收到的第一条待加密数据分配的区块流水号可以为“1”,为第二条待加密数据分配的区块流水号可以为“2”。[0057]需要说明的是,以上仅为举例说明,并不对本发明的技术方案和要保护的技术范围构成限定,在实际应用中,本领域的技术人员需要合理设置,此处不做限制。[0058]每一个字符对应的序列号,也是由数据加密设备来分配的,其分配方式与区块流水号的分配方式大致相同,此处不再赘述,在实际应用中,本领域的技术人员可以根据需要合理设置,此处也不做具体限制。[0059]另外,需要说明的是,本实施方式中为每一个字符分配的序列号主要是用来标识字符在待加密数据中所处的位置。[0060]另外,每一个字符对应的随机参数,具体是根据区块流水号和字符的序列号来分配的。其分配方式可以是通过植入数据加密设备如水准仪、其他电子设备)的产生随机数的应用程序来生成,具体的,本领域的技术人员可以根据需要选用随机数的产生方式,此处不做限制。[0061]在步骤104中,根据获取到的所有加密字符生成待加密数据的加密块。[0062]具体的说,在本实施方式中,根据获取到的所有加密字符生成待加密数据的加密块,具体可以按照如下方式:[0063]依次获取每一个加密字符,然后根据每一个加密字符对应的序列号,将加密字符按序排列,在获取到该水准测量数据中的全部加密字符后,生成待加密数据的加密块。[0064]另外,值得一提的是,由于在实际应用中,水准测量的过程中,水准仪一般无法连接到网络,因此生成的加密数据不能及时传送至数据解密设备进行处理,因此,为了方便传送,以及进一步保证数据的关联性和安全性,在根据获取到的所有加密字符生成待加密数据的加密块之后,还可以根据预设的周期,将该周期内获取的加密块,或者预设的数目,当加密块的个数达到预设数目时,根据每一个加密块对应的待加密数据的区块流水号进行排序,组成一个完整的加密文件。[0065]需要说明的是,以上仅为举例说明,并不对本发明的技术方案和要保护的技术范围构成限定,在实际应用中,本领域的技术人员需要合理设置,此处不做限制。[0066]通过上述描述不难发现,本实施方式中提供的数据加密方法,通过引入循环冗余校验码,并借鉴现有的DES加密算法,在对待加密数据进行加密时,根据前一个待加密数据的循环冗余校验码,计算当前待加密数据的循环冗余校验码,然后根据DES加密算法中的位操作和位变换移位、置换和异或操作对待加密数据进行加密。基于这种加密方式,当输出的加密块中的某一位置上的加密字符被破坏时,能够使从破坏位置后的数据,将无法正确解密,从而可以有效避免原始数据被破坏和篡改,使得加密后的数据更加安全。[0067]另外,在加密过程中还引入了随机参数,从而进一步提升了加密数据的安全性。[0068]本发明的第二实施方式涉及一种数据加密方法。本实施方式在第一实施方式的基础上做了进一步改进,具体改进之处为:在根据固定码和字符对应的随机参数,对字符进行加密,得到加密字符之后,根据可见字符编码,将加密字符编译为了可见格式,具体流程如图2所示。[0069]具体的说,在本实施方式中,包含步骤2011至步骤205,其中,步骤201至步骤203分别与第一实施方式中的步骤1〇1至步骤103大致相同,步骤205与第一实施方式中的步骤104大致相同,此处不再赘述,下面主要介绍不同之处,未在本实施方式中详尽描述的技术细节,可参见第一实施方式所提供的数据加密方法,此处不再赘述。[0070]在步骤204中,根据可见字符编码,将加密字符编译为可见格式。[0071]具体的说,上述用于将加密字符编译为可见格式的可见字符编码为从预设的可显示字符码表中获取的。[0072]另外,在本实施方式中,可显示字符码表中的可见字符编码是由可见ASCII字符按照无规律的顺序组合而成的。[0073]需要说明的是,以上仅为举例说明,并不对本发明的技术方案和要保护的技术范围构成限定,在实际应用中,本领域的技术人员需要合理设置,此处不做限制。[0074]另外,值得一提的是,为了进一步保证加密后的数据的安全,避免他人在获取到可显示字符编码表后,快速破译加密内容,在实际应用中,本领域的技术人员可以根据需要,定期更新一次可显示字符码表中存储的可见字符编码,以及可见字符编码的顺序,从而达到提升安全级别的效果。[0075]通过上述描述不难发现,本实施方式中提供的数据加密方法,在根据固定码和字符对应的随机参数,对字符进行加密,得到加密字符之后,通过从预设的可显示字符码表中获取可见字符编码,并根据获取到的可见字符编码,将加密字符编译为可见格式即基于将DES加密算法加密后的二进制数据,转换为可见的ASCII码对应内容),解决了二进制的DES加密算法会破坏水准测量数据的排列格式的问题,即本实施方式中提供的数据加密方法,在对待加密数据进行加密的时候,至对水准测量数据中的数值部分,如标尺读数、距离读数、温度、时间等敏感的数值进行加密,而对数据文件中的表头部分能够保持原来的排列方式,从而可以使解密后的数据能够直接进行后期的数据处理操作。[0076]本发明的第三实施方式涉及一种数据解密方法。该数据解密方法主要应用于接收根据本发明任意实施方式中涉及的数据加密方法进行加密后的加密文件的电子设备,如个人计算机、便携性计算机、平板电脑等,或者服务器,如本地服务器、云端服务器等。[0077]需要说明的是,以上仅为举例说明,并不对本发明的技术方案和要保护的技术范围构成限定,在实际应用中,本领域的技术人员可以根据使用场景来选择合适的数据解密设备,此处不做限制。[0078]为了便于理解,以下结合图3对该数据解密方法进行具体说明:[0079]在步骤301中,获取加密文件。[0080]具体的说,在本实施方式中,数据解密设备获取到的加密文件根据本发明任意数据加密方法获得的加密文件是由若干个加密块组成的。[0081]但在实际应用中,数据解密设备获取到的加密文件也可以仅为一个加密块。[0082]上述两种方式的选取,可以根据数据加密设备与数据解密设备之间的通信线路决定,也可以根据各设备的工作场景决定,也可以两种方式交互,具体的,本领域的技术人员可以根据实际作业的需要设置,此处不做限制。[0083]在步骤302中,获取每一个加密块的区块流水以及每一个加密块中所有的加密字符和每一个加密字符对应的序列号。[0084]具体的说,在从数据加密设备或存储加密文件的服务器中获取到上述加密文件时,可以同时发送向上述设备发送请求,获取加密数据时所需的每一个加密块的区块流水以及每一个加密块中所有的加密字符和每一个加密字符对应的序列号。[0085]需要说明的是,本实施方式中所说的加密字符对应的序列号,实际上为为该加密字符对应的原始字符分配的序列号。[0086]在步骤303中,对每一个字符进行解密,得到原始字符。[0087]为了便于理解,对字符解密,得到原始字符的过程,以下进行具体说明:[0088]首先,根据可显示字符码表和求余运算准则,获得加密字符对应的固定码。[0089]具体的说,解密过程中所需的可显示字符码表同样为从加密设备处获取来的。[0090]然后,获取前序加密块的循环冗余校验码。[0091]需要说明的是,本实施方式中所说的前序加密块为前一条待加密数据的加密块,前序加密块的循环冗余校验码为前一条待加密数据的循环冗余校验码。[0092]最后,根据固定码的逆运算准则,对固定码、区块流水号、加密字符的序列号以及前序加密块的循环冗余校验码进行逆运算,获得加密字符对应的原始字符。[0093]需要说明的是,基于固定码的计算函数可知,在己知固定码、区块流水号、加密字符的序列号、前序加密块的循环冗余校验码以及原始字符中任意4个参数时,可以求得未知的参数。因此,基于上述原理,在已知固定码、区块流水号、加密字符的序列号以及前序加密块的循环冗余校验码的情况下,通过逆运算便可求得加密字符对应的原始字符。[0094]在步骤3〇4中,判断加密文件中的所有加密字符是否全部解密成功。[0095]具体的说,如果判定加密文件中的所有加密字符全部解密成功,进入步骤305;否贝1J,直接退出解密操作,结束本次操作流程即加密文件破译失败)。[0096]在步骤305中,确定加密文件解密成功。[0097]通过上述描述不难发现,本实施方式中提供的数据解密方法,在对根据本发明任意实施方式中涉及的数据加密方法加密后的加密文件进行解密时,通过逆向运算,只有相临的前一个加密块正常解密即内部的数据没有用被篡改),该加密块对应的循环冗余校验码才可以用来解密下一个加密块,否则一旦加密文件中的任意一个加密块中的内容被篡改,后续的加密块就无法进行解密操作,整个加密文件也就无法被解密,从而可以有效避免原始数据被破坏和篡改。[0098]本发明的第四实施方式涉及一种数据加密装置。该数据加密装置的具体实施可参见上述任一数据加密方法实施方式中的描述,其具体方框结构如图4所示。[00"]如图4所示,数据加密装置主要包括:获取模块401、第一分配模块402、第二分配模块403、第三分配模块404、计算模块405、加密处理模块406和生成模块407。[0100]其中,获取模块401,用于获取待加密数据。[0101]具体的说,本实施方式中获取到的待加密数据为水准测量过程中每一个观测周期产生的一条水准测量数据,且一条水准测量数据包括若干个字符。[0102]需要说明的是,在水准测量过程中,一条水准测量数据的产生周期一般为卜2分钟,一个水准测量数据文件包括若干条水准测量数据的产生周期一般为卜2天。[0103]因而,上述观测周期可以由本领域的技术人员根据水准仪的观测场景、整体的观测时间来设置,此处不做限制。[0104]第一分配模块4〇2,用于为待加密数据分配一个区块流水号。[0105]第二分配模块403,用于为待加密数据中的所有字符分配序列号。[0106]需要说明的是,本实施方式中为待加密数据中的字符分配的序列号主要是用于标识字符在待加密数据中所处的位置。[0107]第三分配模块404,用于根据区块流水号和字符的序列号,为字符分配随机参数。[0108]比如,通过植入数据加密设备(如水准仪、其他电子设备)的产生随机数的应用程序,具体的,本领域的技术人员可以根据需要选用随机数的产生方式,此处不做限制。[0109]计算模块405,用于根据循环冗余校验码的编码规则,计算待加密数据的循环冗余校验码。[0110]具体的说,根据循环冗余校验码的编码规则,计算待加密数据的循环冗余校验码的万式,具体如卜:[0111]根据待加密数据中前一个字符的循环冗余校验码,计算与字符相邻的后一个字符的循环冗余校验码,直到计算出待加密数据中最后一个字符的循环冗余校验码,然后将待加密数据中最后一个字符的循环冗余校验码,作为待加密数据的循环冗余校验码[0112]另外,值得一提的是,待加密数据中第一个字符的循环冗余校验码,根据前序加密块的循环冗余校验码计算获得。[0113]加密处理模块406,用于对每一个字符进行以下操作:[0114]基于DES加密算法,根据待加密数据的循环冗余校验码、区块流水号、字符和字符对应的序列号,计算字符对应的固定码,并根据固定码和字符对应的随机参数,对字符进行加密,得到加密字符。[0115]生成模块407,用于依次获取每一个加密字符,根据获取到的所有加密字符生成待加密数据的加密块。[0116]需要说明的是,以上仅为举例说明,并不对本发明的技术方案和要保护的技术范围构成限定,在实际应用中,本领域的技术人员可以根据需要合理设置,此处不做限制。[0117]另外,未在本实施方式中详尽描述的技术细节,可参见本发明实施方式所提供的数据加密方法,此处不再赘述。[0118]通过上述描述不难发现,与现有技术相比,本实施方式中提供的数据加密装置,在对待加密数据进行加密时,通过利用待加密数据的循环冗余校验码、区块流水号、字符和字符对应的序列号,来计算字符对应的固定码,然后根据每一个字符对应的固定码和该字符对应的随机参数,对字符进行加密,得到加密字符,最后将全部的加密字符组合,生成一个加密块,完成对待加密数据的加密,从而可以有效避免原始数据被破坏和篡改。[0119]本发明的第五实施方式涉及一种数据解密装置。该数据解密装置的具体实施可参见上述任一数据解密方法实施方式中的描述,其具体方框结构如图5所示。[0120]如图5所示,数据解密装置主要包括:第一获取模块501、第二获取模块502、解密处理模块503和确定模块504。[0121]其中,第一获取模块501,用于获取加密文件。[0122]需要说明的是,本实施方式中获取到的加密文件是由若千个加密块组成。[0123]第二获取模块502,用于获取每一个加密块的区块流水以及每一个加密块中所有的加密字符和每一个加密字符对应的序列号。[0124]解密处理模块503,用于对每一个加密字符进行如下操作:[0125]根据可显示字符码表和求余运算准则,获得加密字符对应的固定码;获取前序加密块的循环冗余校验码;其中,前序加密块为前一条待加密数据的加密块,前序加密块的循环冗余校验码为前一条待加密数据的循环冗余校验码;根据固定码的逆运算准则,对固定码、区块流水号、加密字符的序列号以及前序加密块的循环冗余校验码进行逆运算,获得加密字符对应的原始字符。[0126]确定模块504,用于在对加密文件中的所有加密字符进行解密后,确定加密文件解密成功。[0127]需要说明的是,以上仅为举例说明,并不对本发明的技术方案和要保护的技术范围构成限定,在实际应用中,本领域的技术人员可以根据需要合理设置,此处不做限制。[0128]另外,未在本实施方式中详尽描述的技术细节,可参见本发明实施方式所提供的数据加密方法,此处不再赘述。[0129]通过上述描述不难发现,与现有技术相比,本实施方式中提供的数据解密装置,在对根据本发明任意实施方式中涉及的数据加密方法加密后的加密文件进行解密时,通过逆向运算,只有相临的前一个加密块正常解密(即内部的数据没有用被篡改),该加密块对应的循环冗余校验码才可以用来解密下一个加密块,否则一旦加密文件中的任意一个加密块中的内容被篡改,后续的加密块就无法进行解密操作,整个加密文件也就无法被解密,从而可以有效避免原始数据被破坏和篡改。[0130]以上所描述的装置实施方式仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的,此处不做限制。[0131]本发明的第六实施方式涉及一种数据加密设备,具体结构如图6所示。[0132]具体的说,本实施方式中涉及的数据加密设备可以为水准测量用的水准仪,具体可以是数字水准仪也称电子水准仪),从而可以在生成水准测量数据的时候就可以直接进行加密。[0133]另外,为了不增加数字水准仪的工作压力,数据加密设备也可以为与数字水准仪相连的电子设备,此处所述的电子设备可以是平板电脑、便携性计算机等。[0134]需要说明的是,以上仅为举例说明,并不对本发明的技术方案和要保护的技术范围构成限定,在实际应用中,本领域的技术人员可以根据使用场景来选择合适的数据加密设备,此处不做限制。[0135]为了便于理解,以下对数据加密设备的具体方框结构进行说明:[0136]具体的说,该数据加密设备内部具体可以包括至少一个处理器601;以及,与至少一个处理器601通信连接的存储器602以及通信组件603,图6中以一个处理器601为例。通信组件603在处理器601的控制下接收和或发送数据。其中,存储器602存储有可被至少一个处理器601执行的指令,指令被至少一个处理器601执行,以使至少一个处理器601能够执行本发明任意实施方式中涉及的数据加密方法。[0137]在实际应用中,存储器602中可以存储至少一个处理器601执行的指令,指令被至少一个处理器601执行,以使至少一个处理器601能够执行本发明任意方法实施方式涉及的数据加密方法,未在本实施方式中详尽描述的技术细节,可参见本发明实施方式所提供的数据加密方法。[0138]本发明的第七实施方式涉及一种数据解密设备,具体结构如图7所示。[0139]具体的说,本实施方式中涉及的数据解密设备可以为用于接收根据本发明任意实施方式中涉及的数据加密方法进行加密后的加密文件的电子设备,如个人计算机、便携性计算机、平板电脑等,或者服务器,如本地服务器、云端服务器等。[0140]需要说明的是,以上仅为举例说明,并不对本发明的技术方案和要保护的技术范围构成限定,在实际应用中,本领域的技术人员可以根据使用场景来选择合适的数据解密设备,此处不做限制。[0141]为了便于理解,以下对数据解密设备的具体方框结构进行说明:[0142]具体的说,该网络互连设备内部具体可以包括至少一个处理器701;以及,与至少一个处理器701通信连接的存储器702以及通信组件703,通信组件703在处理器701的控制下接收和或发送数据。其中,存储器702存储有可被至少一个处理器701执行的指令,指令被至少一个处理器701执行,以使至少一个处理器701能够执行本发明任意实施方式中涉及的数据解密方法。[0143]另外,值得一提的是,在实际应用中,第六实施方式和第七实施方式中的处理器可以是CPU中央处理器,CentralProcessingUnit,存储器可以是RAM可读写存储器,RandomAccessMemory,通信组件可以是具有通信功能的通彳目接口、引脚等。另外,处理器、存储器可以通过总线或者其他方式连接,图6和图7中以通过总线连接为例。存储器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明任意实施方式中预设的可显示字符码表就存储于存储器中。处理器通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现本发明任意实施方式中涉及的数据加密方法或数据解密方法。[0144]存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。[0145]一个或者多个模块存储在存储器中,当被一个或者多个处理器执行时,执行本发明任意实施方式中涉及的数据加密方法或数据解密方法。[0146]上述产品可执行本发明实施方式所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施方式中详尽描述的技术细节,可参见本发明任意实施方式中所提供的方法。[0147]本发明的第八实施方式涉及一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,该计算机指令使计算机能够执行本发明任意实施方式中涉及的数据加密方法或数据解密方法。[0148]S卩,本领域技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备可以是单片机,芯片等或处理器processor执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器R〇M,Read-OnlyMemory、随机存取存储器RAM,RandomAccessMemory、磁碟或者光盘等各种可以存储程序代码的介质。[0149]本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施方式,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

权利要求:1.一种数据加密方法,其特征在于,包括:获取待加密数据,并为所述待加密数据分配一个区块流水号;其中,所述待加密数据为水准测量过程中每一个观测周期产生的一条水准测量数据,一条所述水准测量数据包括若干个字符;为所述待加密数据中的所有字符分配序列号;其中,所述序列号用于标识所述字符在所述待加密数据中所处的位置;根据所述区块流水号和所述字符的序列号,为所述字符分配随机参数;根据循环冗余校验码的编码规则,计算所述待加密数据的循环冗余校验码;对每一个所述字符进行以下操作:基于DES加密算法,根据所述待加密数据的循环冗余校验码、所述区块流水号、所述字符和所述字符对应的序列号,计算所述字符对应的固定码,并根据所述固定码和所述字符对应的随机参数,对所述字符进行加密,得到加密字符;依次获取每一个所述加密字符,根据获取到的所有加密字符生成所述待加密数据的加密块。2.根据权利要求1所述的数据加密方法,其特征在于,所述根据循环冗余校验码的编码规则,计算所述待加密数据的循环冗余校验码之前,所述数据加密方法还包括:获取前序加密块的循环冗余校验码;其中,所述前序加密块为前一条待加密数据的加密块,所述前序加密块的循环冗余校验码为所述前一条待加密数据的循环冗余校验码;所述根据循环冗余校验码的编码规则,计算所述待加密数据的循环冗余校验码,具体包括:根据所述待加密数据中前一个字符的循环冗余校验码,计算与所述字符相邻的后一个字符的循环冗余校验码,直到计算出所述待加密数据中最后一个字符的循环冗余校验码;将所述待加密数据中最后一个字符的循环冗余校验码,作为所述待加密数据的循环冗余校验码;其中,所述待加密数据中第一个字符的循环冗余校验码,根据所述前序加密块的循环冗余校验码计算获得。3.根据权利要求1或2所述的数据加密方法,其特征在于,所述根据所述固定码和所述字符对应的随机参数,对所述字符进行加密,得到加密字符之后,所述数据加密方法还包括:从预设的可显示字符码表中获取可见字符编码;其中,所述可显示字符码表中的所述可见字符编码由可见ASCII字符按照无规律的顺序组合而成;根据所述可见字符编码,将所述加密字符编译为可见格式。4.根据权利要求1或2所述的数据加密方法,其特征在于,所述根据获取到的所有加密字符生成所述待加密数据的加密块之后,所述数据加密方法还包括:确定所述加密块的个数达到预设数目;根据每一个所述加密块对应的所述待加密数据的区块流水号进行排序,组成一个完整的加密文件。5.—种数据解密方法,其特征在于,包括:获取加密文件;其中,所述加密文件由若干个加密块组成;获取每一个所述加密块的区块流水以及每一个所述加密块中所有的加密字符和每一个加密字符对应的序列号;对每一个所述加密字符进行如下操作:根据可显示字符码表和求余运算准则,获得所述加密字符对应的固定码;获取前序加密块的循环冗余校验码;其中,所述前序加密块为前一条待加密数据的加密块,所述前序加密块的循环冗余校验码为所述前一条待加密数据的循环冗余校验码;根据所述固定码的逆运算准则,对所述固定码、所述区块流水号、所述加密字符的序列号以及前序加密块的循环冗余校验码进行逆运算,获得所述加密字符对应的原始字符;在对所述加密文件中的所有加密字符进行解密后,确定所述加密文件解密成功。6.—种数据加密装置,其特征在于,包括:获取模块、第一分配模块、第二分配模块、第三分配模块、计算模块、加密处理模块和生成模块;所述获取模块,用于获取待加密数据;其中,所述待加密数据为水准测量过程中每一个观测周期产生的一条水准测量数据,一条所述水准测量数据包括若干个字符;所述第一分配模块,用于为所述待加密数据分配一个区块流水号;所述第二分配模块,用于为所述待加密数据中的所有字符分配序列号;其中,所述序列号用于标识所述字符在所述待加密数据中所处的位置;所述第三分配模块,用于根据所述区块流水号和所述字符的序列号,为所述字符分配随机参数;所述计算模块,用于根据循环冗余校验码的编码规则,计算所述待加密数据的循环冗余校验码;所述加密处理模块,用于对每一个所述字符进行以下操作:基于DES加密算法,根据所述待加密数据的循环冗余校验码、所述区块流水号、所述字符和所述字符对应的序列号,计算所述字符对应的固定码,并根据所述固定码和所述字符对应的随机参数,对所述字符进行加密,得到加密字符;所述生成模块,用于依次获取每一个所述加密字符,根据获取到的所有加密字符生成所述待加密数据的加密块。7.—种数据解密装置,其特征在于,包括:第一获取模块、第二获取模块、解密处理模块和确定模块;所述第一获取模块,用于获取加密文件;其中,所述加密文件由若干个加密块组成;所述第二获取模块,用于获取每一个所述加密块的区块流水以及每一个所述加密块中所有的加密字符和每一个加密字符对应的序列号;所述解密处理模块,用于对每一个所述加密字符进行如下操作:根据可显示字符码表和求余运算准则,获得所述加密字符对应的固定码;获取前序加密块的循环冗余校验码;其中,所述前序加密块为前一条待加密数据的加密块,所述前序加密块的循环冗余校验码为所述前一条待加密数据的循环冗余校验码;根据所述固定码的逆运算准则,对所述固定码、所述区块流水号、所述加密字符的序列号以及前序加密块的循环冗余校验码进行逆运算,获得所述加密字符对应的原始字符;所述确定模块,用于在对所述加密文件中的所有加密字符进行解密后,确定所述加密文件解密成功。8.—种数据加密设备,其特征在于,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至4任意一项所述的数据加密方法。9.一种数据解密设备,其特征在于,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求5所述的数据解密方法。10.了种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求丨至4任意一项所述的数据加密方法或如权利要求5所述的数据解密方法。

百度查询: 国家基础地理信息中心 数据加密方法、数据解密方法及相关装置