一种基于非对称算法的无人驾驶矿车数据存储方法及装置与流程

文档序号:32392682发布日期:2022-11-30 08:57阅读:43来源:国知局
一种基于非对称算法的无人驾驶矿车数据存储方法及装置与流程

1.本发明涉及通信数字数据处理技术领域,具体涉及一种基于非对称算法的无人驾驶矿车数据存储方法及装置。


背景技术:

2.在矿产资源丰富的我国,用于矿产开采的无人驾驶矿车的使用已经屡见不鲜,而无人驾驶矿车在工作的过程中往往需要对工作过程中产生的数据进行存储,这些工作数据在存储的过程中需要进行足够安全的存储,例如珍稀矿物的采集量、采集地点等数据。
3.现有无人驾驶矿车在对其作业数据进行存储时,为了减小计算量且提高数据存储速度,往往使用计算量较小且加密速度快的对称加密算法,但对称加密算法对数据加密的安全性并不很高,往往无法满足无人驾驶矿车上作业数据的安全存储要求,在无人驾驶矿车被外界攻击时,很容易造成无人驾驶矿车上珍贵作业数据的泄露,这对企业甚至国家来说无疑是有很大危害的。


技术实现要素:

4.为实现对无人驾驶矿车上数据的安全且高效的存储,本发明提供了一种基于非对称算法的无人驾驶矿车数据存储方法及装置,所采用的技术方案具体如下:本发明的一种基于非对称算法的无人驾驶矿车数据存储方法,包括以下步骤:获取无人驾驶矿车的待存储数据,对待存储数据进行编码得到二进制的明文编码数据;以明文编码数据的第一个编码作为函数起点,后续每个编码都与前一个编码进行叠加或删除以完成对明文编码数据的函数化处理得到明文编码函数;计算明文编码函数的整体平均随机度s,然后对明文编码函数进行分段,以明文编码函数第一个拐点为第一分段点,依次计算第一分段点之后的各个拐点与第一分段点所形成的明文编码函数区间的随机度,当随机度与平均随机度s的差值不大于设定误差,则将对应的拐点作为第二分段点,然后依次计算第二分段点之后的各个拐点与第二分段点所形成的明文编码函数区间的随机度,当随机度与平均随机度s的差值不大于设定误差,则将对应的拐点作为第三分段点,重复该过程直至确定所有分段点,以所有分段点对明文编码函数进行分段,得到m段明文编码函数;计算第m段明文编码函数两端点连接后所形成直线的斜率并记该斜率为第段明文编码函数的平均变化率,m的取值范围为[1,m],确定第m段明文编码函数中所对应的导数值与所述平均变化率相同的离散点,将该种离散点记为特殊离散点,利用所确定的特殊离散点计算第m段明文编码函数的公钥;利用第m段明文编码函数的公钥,对第m段明文编码函数进行加密,然后按照第m段明文编码函数的加密方法对所有m段明文编码函数进行加密,得到明文编码函数整体加密
后的密文,对密文进行存储。
[0005]
本发明的有益效果为:本发明该方法是一种特别适用于无人驾驶矿车作业数据加密存储的通信数字数据处理方法,该方法首先采用非对称算法对无人驾驶矿车数据进行加密,提高了数据加密安全性,且在具体加密过程中,根据数据的随机度的不同而对应设置了复杂程度不同的加密过程,若数据随机度不高,则对应对其加密的次数便越多,从而自适应地保证了对随机度不高的数据的加密安全性,且对于随机度高的数据,又可自适应降低加密次数,以尽可能减小非对称加密算法在加密过程中的计算量。最终,本发明该加密方法同时兼顾了加密安全性与加密效率,实现了对无人驾驶矿车上数据的安全且高效的存储。
[0006]
进一步的,对明文编码数据中第i个编码进行函数化处理后所得明文函数编码值为:其中,为明文编码数据中第i个编码进行函数化处理后所得明文函数编码值,为明文编码数据中第i-1个编码进行函数化处理后所得明文函数编码值,为明文编码数据中第i个编码,;为明文编码数据的编码总个数。
[0007]
进一步的,所述利用所确定的特殊离散点计算第m段明文编码函数的公钥的方法为:其中,为第m段明文编码函数的第g个公钥,为第m段明文编码函数的第g个特殊离散点处的函数值,g为第m段明文编码函数的特殊离散点的个数,为第m段明文编码函数上的第g个特殊离散点,g的取值为[1,g]。
[0008]
进一步的,所述利用第m段明文编码函数的公钥,对第m段明文编码函数进行加密的方法为:其中,表示第m段明文编码函数进行加密后所得密文函数,表示第m段明文编码函数中起始位置到第一个特殊离散点处的函数区间,表示第m段明文编码函数中起始位置到第二个特殊离散点处的函数区间,表示第m段明文编码函数中起始位置到第g-1个特殊离散点处的函数区间,表示第m段明文编码函数的第g个公钥,g表示第m段明文编码函数的公钥的个数。
[0009]
进一步的,所述明文编码函数的整体平均随机度s为:
其中,表示明文编码函数的整体平均随机度,为明文编码函数中的拐点个数,表示明文编码函数中的第个拐点,,表示第个拐点在明文编码函数中的横坐标;表示第个拐点在明文编码函数中的函数值,表示第个拐点在明文编码函数中的横坐标,表示第个拐点在明文编码函数中的函数值。
[0010]
进一步的,所述第段明文编码函数的平均变化率为:其中,为第m段明文编码函数的平均变化率,表示第段明文编码函数的右端点的端点值,表示第段明文编码的左端点的端点值,表示在左端点处的明文编码函数的函数值,表示在右端点处的明文编码函数的函数值。
[0011]
进一步的,将所述密文由十进制转换为二进制,生成二进制密文后传输到存储终端进行存储。
[0012]
本发明还提供了一种基于非对称算法的无人驾驶矿车数据存储装置,包括存储器和处理器,所述处理器用于执行存储于所述存储器中的指令,以实现上述介绍的基于非对称算法的无人驾驶矿车数据存储方法。
附图说明
[0013]
图1是本发明该种基于非对称算法的无人驾驶矿车数据存储方法的流程图;图2是本发明该种基于非对称算法的无人驾驶矿车数据存储方法中待加密存储的各个二进制明文编码在坐标系中的分布示意图;图3是本发明该种基于非对称算法的无人驾驶矿车数据存储方法中待加密存储的二进制明文编码数据经函数化处理后,所得各个明文函数编码在坐标系中的分布示意图。
具体实施方式
[0014]
本发明的基本构思为:本发明基于非对称加密来提高对无人驾驶矿车的待存储数据的加密安全性,并在利用非对称加密方法来加密待存储数据时,结合无人驾驶矿车的待存储数据的特征设计具体的非对称加密过程。具体即为,首先编码得到二进制的明文编码数据,根据二进制的明文编码数据的随机性特征完成明文编码数据的函数化,得到明文编码函数;然后继续结合二进制的明文编码数据的特征,对所得明文编码函数分段,计算每段明文编码函数的公钥后,以所得公钥对每段明文编码函数进行加密,得到加密后的密文。
[0015]
下面结合附图及实施例,对本发明的一种基于非对称算法的无人驾驶矿车数据存储方法以及一种基于非对称算法的无人驾驶矿车数据存储装置进行详细说明。
[0016]
方法实施例:
本发明的一种基于非对称算法的无人驾驶矿车数据存储方法实施例,其整体流程如图1所示,具体过程如下:步骤一,收集无人驾驶矿车的待存储数据,对待存储数据进行编码得到二进制的明文编码数据。
[0017]
本实施例利用车载图像采集系统以及车载传感器来获取无人驾驶矿车作业过程中的作业数据,然后对所收集到的作业数据利用常规编码技术进行编码,得到二进制的明文编码数据以便实现后续的非对称加密。
[0018]
具体的编码得到二进制明文编码数据的过程为现有技术,本实施例中不再赘述。
[0019]
步骤二,根据二进制的明文编码数据的特征对明文编码数据进行函数化处理,得到明文编码函数。
[0020]
为了便于后续对明文编码数据进行非对称加密,本实施例首选根据二进制的明文编码数据的特征对明文编码数据进行函数化处理,以放大二进制明文编码数据的特征。
[0021]
二进制明文编码数据是由无数个简单的“0”和“1”所组成的,且“0”和“1”出现的位置不可预测,满足一定的随机性,但由于数据结构相对来说较为简单,在此结构下“0”和“1”出现的随机性的表征并不明显,所以本实施例对明文编码数据进行函数化处理,对二进制编码数据中重复的编码进行叠加和删减操作,使其由原本的“0”和“1”编码转化为复杂的十进制连续函数,具体过程为:首先建立坐标系,坐标系中横轴取值表示明文编码数据中编码的个数,纵轴取值表示明文编码数据中编码的值,然后以明文编码数据中第一个编码作为函数起点,后续每个编码都与前一个编码进行叠加或删减,则对第i个明文编码进行函数化处理后所得明文函数编码值为:其中,为第i个明文编码进行函数化处理后的明文函数编码值,为第i-1个明文编码进行函数化处理后的明文函数编码值,为第i个明文编码,;为明文编码数据的总体编码长度。
[0022]
为了便于理解,本实施例以一个具体例子进行说明:无人驾驶矿车的某个待存储的二进制明文编码数据为“011110101110011110”,其在坐标系中如图2所示,然后以二进制明文编码数据中的第一个编码“0”为函数起点,按照上述所给出的第i个明文编码进行函数化处理的方式得到该二进制明文编码数据经函数化处理后所得的各个明文函数编码,所得各个明文函数编码在坐标系中的分布如图3所示。
[0023]
然后,利用描点法对所得各个明文函数编码进行平滑连接处理,便可得到最终的明文编码函数。至此,本实施例便通过函数化处理对明文编码数据的特征进行了放大,并得到了明文编码数据特征放大后所对应的明文编码函数,其中,明文编码函数中每个整数x对应的离散点即为明文编码数据中各个编码的位置,非整数x对应的取值点表示二进制明文编码数据的变化趋势。
[0024]
通过所得明文编码函数可以看出,二进制明文编码数据在某区间的随机程度越大,其对应所得明文编码函数的图像中拐点越多,二进制明文编码数据在某区间的
随机程度越小,其对应所得明文编码函数的图像中拐点越少;明文编码函数的图像中拐点数量反应了二进制明文编码数据的随机度。
[0025]
步骤三,根据二进制的明文编码数据的特征对所得明文编码函数进行加密。
[0026]
本实施例在该部分的整体思路为,首先根据二进制的明文编码数据的特征对明文编码函数进行分段,以便在后续的加密计算过程中减小整体的计算量,然后以所分段得到的每段明文编码函数的变化率和对应的明文编码数据段的平均变化率之间的关系确定每段明文编码函数的公钥数量并确定公钥,最后根据所得公钥对公钥对应段的明文编码函数进行加密。
[0027]
1、通过二进制的明文编码数据的特征对明文编码函数进行分段。
[0028]
对明文编码函数进行分段的逻辑为:以明文编码函数的若干个拐点作为明文编码函数分段后各个段的端点,分段的期望为使得各段上的随机度尽可能相似。具体过程如下:首先对明文编码函数进行整体平均随机度的计算:其中,表示明文编码函数中的第个拐点,,为明文编码函数中的拐点总个数,表示第个拐点在明文编码函数中的横坐标;表示第个拐点在明文编码函数中的函数值;和分别表示第个拐点在明文编码函数中的横坐标以及在明文编码函数中的函数值。
[0029]
拐点的横纵坐标的实际含义为:以第个拐点为例,其横坐标实际含义为第个拐点处的明文函数编码值在对应的明文编码数据中的位置,其纵坐标的实际含义为第拐点处所对应的明文编码数据中的编码转换为明文编码函数后的函数值。
[0030]
两个相邻拐点之间的明文编码函数绝对单调,实际含义为两个相邻拐点之间、不含该两个相邻拐点处的明文数据编码相同,都为“1”或者都为“0”,不具有随机性。所以通过整个明文编码函数的两个相邻的拐点的平均值来计算整体明文编码的随机度参数值,s越大,证明明文编码函数中的“0”和“1”出现的越不连续,整体随机度越高,反之则说明整体随机度越低。
[0031]
而后利用明文编码函数不同拐点之间的数据的变化率来对明文编码函数进行分段,具体做法为,设置随机度阈值区间,其中为设定误差,以明文编码函数上第一个拐点为第一个分段点,然后依次计算后续各个拐点与第一个分段点所形成的明文编码函数区间的随机度,该随机读计算方法与明文编码函数的整体平均随机度s的计算方法实质相同,不同仅在于计算时所选取的拐点范围或者说拐点数量存在区别,若后续第个拐点与第一个分段点所形成的明文编码函数区间的随机度,则以第个拐点为第二个分段点,继续依次计算第个拐点之后的各个拐点与第个拐点所形成的明文编码函数区间的随机度,并在随机度落入范围时确定出第三个分段点。重复上述过程,直到确定所有分段点,以所确定的所有分段点对整体明文编码函数分段,获得m段明文编码函数。
[0032]
其中,m为明文编码函数所分的总段数,为第段的明文编码函数。至此,明文编码函数分段完成。
[0033]
2、计算每段明文编码函数的公钥。
[0034]
以第m段明文编码函数为例,首先计算第m段明文编码函数的平均变化率:其中,为第m段明文编码函数的平均变化率,表示第段明文编码函数的右端点的端点值,表示第段明文编码的左端点的端点值,表示在左端点处的明文编码函数的函数值,表示在右端点处的明文编码函数的函数值。
[0035]
第段明文编码函数的平均变化率,反应了与第m段明文编码函数所对应的明文编码数据中“0”和“1”出现的随机程度,值越小,说明该段明文编码函数对应的无人驾驶矿车的明文编码函数中“0”和“1”出现的随机程度越大,反之则越小。
[0036]
而后利用第段明文编码函数的平均变化率确定第段明文编码函数的公钥:首先计算第段明文编码函数上第i个离散点处的导数值,而后对导函数值与进行差值计算:其中,为第段明文编码函数上第i个离散点处的导数值与第段明文编码函数的平均变化率之间的差值。
[0037]
根据拉格朗日中值定理可知,在函数上至少有一个离散点处的函数导数值与整段函数的平均变化率相等,所以至少有一个离散点使得。在使得的离散点的邻域内,明文编码数据中的“0”和“1”分布情况与整体第m段的“0”和“1”分布的平均变化相同。
[0038]
通过差异值可确定g个特殊离散点,g即为第m段明文编码函数的公钥个数, 表示第g个特殊离散点,g的取值为[1,g]。
[0039]
利用所确定的特殊离散点进行第m段明文编码函数的公钥的计算:其中,为第m段明文编码函数的第g个公钥,为第m段明文编码函数的第g个特殊离散点处的函数值,g为第m段明文编码函数的特殊离散点的总数。
[0040]
至此,便可得到第m段明文编码函数的所有公钥。
[0041]
3、根据每段明文编码函数的公钥对每段明文编码函数进行加密。
[0042]
依然以第m段明文编码函数为例,首先确定每个公钥的加密对象,也即确定每个公钥对第m段明文编码函数中的哪个具体区间进行加密,以及各个公钥进行加密的顺序。
[0043]
每个公钥的加密区间,为该公钥对应的特殊离散点处到第m段明文编码函数的起始位置处,也即每个公钥是从该公钥所对应的特殊离散点处开始向前加密到第m段明文编码函数的起始位置。
[0044]
那么具体的,第一个公钥为,其对应的特殊离散点为,对第m段明文编码函数上特殊离散点处以及之前的所有明文编码函数都利用公钥进行第一次加密;第二个公钥,其对应的特殊离散点为,对第m段明文编码函数上特殊离散点处以及之前的所有明文编码函数都利用公钥进行第二次加密,重复该种加密过程,直至第个密钥对其对应加密区间加密完成,剩余的最后一个公钥也即第g个公钥,则是对第m段明文编
码函数进行整体加密。
[0045]
基于上述利用公钥进行加密的方法,最终可得到对第m段明文编码函数进行加密后所得密文函数:其中,表示第m段明文编码函数进行加密后所得密文函数,表示第m段明文编码函数中起始位置到第一个特殊离散点处的函数区间,表示第m段明文编码函数中起始位置到第二个特殊离散点处的函数区间,表示第m段明文编码函数中起始位置到第g-1个特殊离散点处的函数区间,表示第m段明文编码函数的第g个公钥,g表示第m段明文编码函数的公钥的个数。
[0046]
以每个公钥对第m段明文编码函数进行分层多次加密,公钥数量越多,说明该段明文编码函数的总体变换率不大,即该段明文编码函数的随机度不高,所以加密次数越多,加密后的密文越复杂,保证了随机度不高的明文编码函数加密后密文的安全性。
[0047]
利用上述方法对所分的每段明文编码函数均进行加密,最终便可得到对明文编码函数整体加密后的密文,至此,明文编码函数的加密结束。
[0048]
步骤四,根据加密得到密文的过程生成私钥,然后对加密所得密文进行传输并存储。
[0049]
由于本实施例是将明文编码函数进行分段后再进行的加密,所以在本实施例中,将明文编码函数各个分段的分段位置作为私钥即可。由表征明文编码函数各个分段的分段位置的私钥以及表征加密参数的公钥,便可在需要读取无人驾驶矿车的作业数据时,完成对密文的解密。
[0050]
同时,为了便于进行密文数据的传输与后续存储,本实施例优选将加密所得密文由十进制转换为二进制,生成二进制密文后传输到存储终端进行存储。
[0051]
装置实施例:该实施例提供了一种基于非对称算法的无人驾驶矿车数据存储装置,包括存储器、处理器和内部总线,处理器、存储器之间通过内部总线进行相互通信。
[0052]
处理器可以为微处理器mcu、可编程逻辑器件fpga等处理装置。
[0053]
存储器可为利用电能方式存储信息的各式存储器,ram、rom等;利用磁能方式存储信息的各式存储器,例如硬盘、软盘、磁带、磁芯存储器、磁泡存储器、u盘等;利用光学方式存储信息的各式存储器,例如cd、dvd等。当然,还有其他方式的存储器,例如量子存储器、石墨烯存储器等。
[0054]
处理器可以调用存储器中的逻辑指令,以实现一种基于非对称算法的无人驾驶矿车数据存储方法。在方法实施例中已对该方法做了详细介绍,在此不再赘述。
[0055]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1