CN111259419A - 基于多传感器的随机数加密方法及装置 - Google Patents
基于多传感器的随机数加密方法及装置 Download PDFInfo
- Publication number
- CN111259419A CN111259419A CN202010043438.3A CN202010043438A CN111259419A CN 111259419 A CN111259419 A CN 111259419A CN 202010043438 A CN202010043438 A CN 202010043438A CN 111259419 A CN111259419 A CN 111259419A
- Authority
- CN
- China
- Prior art keywords
- random number
- sensor
- random
- value
- text
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012795 verification Methods 0.000 claims abstract description 82
- 238000005070 sampling Methods 0.000 claims abstract description 38
- 230000001133 acceleration Effects 0.000 claims description 42
- 230000006870 function Effects 0.000 claims description 33
- 238000004364 calculation method Methods 0.000 claims description 14
- 230000002093 peripheral effect Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 4
- 238000003825 pressing Methods 0.000 claims description 3
- 239000012634 fragment Substances 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
Abstract
本申请提供一种基于多传感器的随机数加密方法及装置,所述方法通过获取触发信号以及当前时间值,确定采样时刻,再获取采样时刻的传感器信息,并将传感器信息转化为文本片段;其中,传感器信息包括由至少两个传感器检测的多个数值;且每个传感器采集的数值具有随机性;再调用预设拼接函数,将多个文本片段拼接为随机文本信息;最后将随机文本信息转化为数字,得到随机数并且将随机数添加至加密算法,生成验证签名。所述方法通过传感器在多个相互独立的维度采集具有随机性的数值,生成随机数,可有效保证随机数生成时的不可预测性,提高随机数加密方法的安全性。
Description
技术领域
本申请涉及数据加密技术领域,尤其涉及一种基于多传感器的随机数加密方法及装置。
背景技术
数据加密是指通过加密算法和加密密钥将明文转变为密文,从而保护数据。为了让加密更安全,加密算法中会加入随机数,通过随机数加密,会使加密数据变得更加安全和难以破解。数据加密常应用于登录校验等应用场景中,由加密模块将用户的明文数据通过随机数和加密算法进行计算,生成密文数据。
目前的登陆校验,通常使用对称加密技术,由数据发信方(客户端)将明文(登录校验数据)和加密密钥一起经过加密算法处理后,使其变成复杂的加密密文发送给登录验证服务器。收信方(服务器)在收到密文后,使用加密用过的密钥及相同算法的逆算法对密文进行解密,使其恢复成可读的明文,并根据明文进行登录校验。
可见,对称加密技术在登录校验时,需要把登录校验数据存储在验证服务器上。如果为明文存储则很容易被盗。如果以对称加密存储,在服务器启动时,还是需要向服务器输入密码,以进行解密。因此,为了提高校验数据存储的安全性,还可以采用非对称加密方式来进行身份认证。非对称加密一般为服务器生成一对密钥(公钥和私钥),并将公钥公开,需要向服务器发送信息的客户端使用该公钥对登录校验数据进行加密后,再发送给服务器,服务器再用自己的私钥对加密后的信息进行解密。
非对称加密方式只需要在系统初始化时,把对称加密算法的公钥存入服务器,后续不再需要输入密钥。但是,为了保证私钥不会被破解,需要生成一个随机数以加密私钥。而传统的随机数生成方法,由于随机数来源于单一的虚拟数据源,生成的随机数是一个伪随机数,有被破解的可能,降低了加密数据的安全性。
发明内容
本申请提供了一种基于多传感器的随机数加密方法及装置,以解决传统随机数生成方式导致加密数据安全性低的问题。
一方面,本申请提供一种基于多传感器的随机数加密方法,包括:
获取触发信号以及当前时间值,确定采样时刻;
获取采样时刻的传感器信息,所述传感器信息包括由至少两个传感器检测的多个数值;所述传感器采集的数值具有随机性;
将所述传感器信息中的多个数值转化为文本片段;
调用预设拼接函数,将多个所述文本片段拼接为随机文本信息;
将所述随机文本信息转化为数字,得到随机数;
添加所述随机数至加密算法,生成验证签名。
可选的,在获取触发信号以及当前时间值后,所述方法还包括:
使用加密算法生成公钥和私钥;
发送所述公钥和加密算法参数至登录校验服务器;
将所述公钥和加密算法参数存储在所述登录校验服务器中。
可选的,生成验证签名后,所述方法还包括:
发送所述验证签名至所述登录校验服务器;
通过公钥和加密算法解密所述验证签名;
验证所述验证签名的正确性。
可选的,所述传感器包括加速度传感器和陀螺仪;所述传感器信息包括加速度以及角速度在空间坐标中的三轴分量数值。
可选的,将所述传感器信息中的多个数值转化为文本片段的步骤,包括:
获取加速度以及角速度在空间坐标中的三轴分量数值;
对三轴分量数值进行取整数运算,获得三轴分量整数值;
调用哈希函数,对所述三轴分量整数值进行散列计算,生成基于哈希值形式的文本片段。
可选的,将所述随机文本信息转化为数字,得到随机数的步骤,包括:
调用所述哈希函数;
使用所述哈希函数对随机文本信息进行散列计算,获得随机数。
可选的,获取触发信号以及当前时间值,确定采样时刻的步骤,包括:
检测触发按键的按压动作;
如果所述触发按键被按压,生成触发信号;
获取触发信号对应的当前时间值。
可选的,所述方法还包括:
将当前时间值转化为unix时间戳;
获取采样时间周期;
将所述时间戳对所述采样时间周期进行取模运算,获得取模余数;
将获得的余数与时间戳求和,得到采集时刻。
另一方面,本申请还提供一种基于多传感器的随机数加密装置,包括签名生成器,以及与所述签名生成器建立通信连接的登录校验服务器和至少两个传感器;所述传感器采集的数值具有随机性;所述签名生成器设有触发按键、实时时钟芯片、存储器、处理器和外设;其中,所述处理器被进一步配置为执行以下程序步骤:
通过所述触发按键和所述实时时钟芯片,获取触发信号以及当前时间值,确定采样时刻;
获取采样时刻的传感器信息,所述传感器信息包括由至少两个传感器检测的多个数值;
将所述传感器信息中的多个数值转化为文本片段;
通过存储器调用预设拼接函数,将多个所述文本片段拼接为随机文本信息;
将所述随机文本信息转化为数字,得到随机数;
添加所述随机数至加密算法,生成验证签名;
所述处理器被进一步配置为:通过所述外设将所述验证签名发送给所述登录校验服务器,以通过所述登录校验服务器验证所述验证签名的正确性。
可选的,所述传感器包括加速度传感器和陀螺仪;所述传感器信息包括加速度以及角速度在空间坐标中的三轴分量数值;
所述处理器被进一步配置为执行以下程序步骤:
分别通过所述加速度传感器和陀螺仪,获取加速度以及角速度在空间坐标中的三轴分量数值;
对三轴分量数值进行取整数运算,获得三轴分量整数值;
调用哈希函数,对所述三轴分量整数值进行散列计算,生成基于哈希值形式的文本片段。
由以上技术方案可知,本申请提供一种基于多传感器的随机数加密方法及装置,所述方法通过获取触发信号以及当前时间值,确定采样时刻,再获取采样时刻的传感器信息,并将传感器信息转化为文本片段;其中,传感器信息包括由至少两个传感器检测的多个数值;且每个传感器采集的数值具有随机性;再调用预设拼接函数,将多个文本片段拼接为随机文本信息;最后将随机文本信息转化为数字,得到随机数并且将随机数添加至加密算法,生成验证签名。所述方法通过传感器在多个相互独立的维度采集具有随机性的数值,生成随机数,可有效保证随机数生成时的不可预测性,提高随机数加密方法的安全性。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一种基于多传感器的随机数加密方法的流程示意图;
图2为本申请生成触发信号及获取当前时间的流程示意图;
图3为本申请确定采样时刻的流程示意图;
图4为本申请将传感器信息中多个数值转化文本片段的流程示意图;
图5为本申请根据验证签名进行登录验证的流程示意图;
图6为本申请登录验证初始化的流程示意图;
图7为本申请一种基于多传感器的随机数加密装置的结构示意图。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。
本申请提供的技术方案中,所述基于多传感器的随机数加密方法可依赖于相应的数据加解密系统进行实施,以应用于登录校验等数据加密过程。所述随机数加密方法可以是内置于签名生成器、登录校验服务器之中的控制程序。其中,签名生成器可以是具有独立硬件结构的数据处理装置,例如实体密码锁等;以可以是内置在具有数据处理功能的用户终端中的加解密应用程序,例如安装在PC(个人计算机)、手机、平板电脑中的电子密码锁等。
所述基于多传感器的随机数加密方法是基于非对称加密的数据加密方法,即在实际应用中,先由一方生成一对公钥和私钥,并将公钥发送给另一方,同时将待加密的信息通过私钥和随机数加密算法进行加密后,再发送给另一方,使另一方通过自己的私钥对加密后的信息进行解密。可见,随机数作为非对称加密中的重要依据,对加密数据安全性的影响巨大。由于传统非对称加密方法中的随机数本质上并不随机,因此,容易被破解。为了提高数据加密的安全性,本申请提供一种基于多传感器的随机数加密方法,通过多个维度上的随机数值。生成随机数,使加密数据难以被破解。
参见图1,为本申请一种基于多传感器的随机数加密方法的流程示意图。由图1可知,本申请提供的随机数加密方法,包括以下步骤:
S1:获取触发信号以及当前时间值,确定采样时刻。
触发信号可以由签名生成器上的一系列操作触发生成。例如,在签名生成器上,可以设置有一个触发按键。当用户想要进行加密时,可以通过触碰、按压等操作,按下触发按键。当触发按键被按下后,即可产生触发信号。
即,如图2所示,在本申请的部分实施例中,获取触发信号以及当前时间值,确定采样时刻的步骤,包括:
S101:检测触发按键的按压动作;
S102:如果所述触发按键被按压,生成触发信号;
S103:获取触发信号对应的当前时间值。
在生成触发信号后,签名生成器中的处理器可以获取生成的触发信号,并且读取获取到触发信号时的当前时间值,例如,触发按键被按下时的时间值。实际应用中,可以根据当前时间值,进一步确定采样时刻。显然,采样时刻可以是在获取触发信号后的预设时间后,以便能够通过传感器采集到不同于初始值的数值。
进一步地,如图3所示,所述方法还包括:
S104:将当前时间值转化为unix时间戳;
S105:获取采样时间周期;
S106:将所述时间戳对所述采样时间周期进行取模运算,获得取模余数;
S107:将获得的余数与时间戳求和,得到采集时刻。
在获取到当前时间值后,可以对当前时间值进行转化,生成unix形式的时间戳。所述unix时间戳是指,从1970年1月1日(UTC世界标准时间/GMT格林威治时间的午夜)开始至所述当前时间所经过的秒数。通过unix时间戳可以消除时间信息的循环规律,增大数据的随机性。例如,签名生成器接到按钮的触发信号后,通过实时时钟芯片(或其他时钟生成装置)读取当前时间值转化为unix时间戳t1(精度为毫秒)。
在转化unix时间戳的同时,可以获取采样时间周期。所述采样时间周期可以根据传感器的采样频率预设的时间段。读取指定的采样时间周期T(精度为毫秒),将ti对T取模的余数加上ti得到采集时刻t。即,采集时刻计算公式如下:
t=(ti)Mod(T)+ti;
S2:获取采样时刻的传感器信息。
实际应用中,在确定采样时刻后,可以在采样时刻通过传感器获取传感器信息,所述传感器信息包括由至少两个传感器检测的多个数值。为了使最终生成的数值具有随机性,所述传感器采集的数值应具有随机性。
在本申请的部分实施例中,所述传感器包括加速度传感器和陀螺仪;所述传感器信息包括加速度以及角速度在空间坐标中的三轴分量数值。例如,在t时刻采集加速度传感器上的加速度信息I1,和采集陀螺仪传感器上的角速度信息I2。
由于移动终端(如手机、平板电脑等)设备都会内置有上述两种传感器,可以直接通过移动终端作为承载传感器的设备。因此,本实施例中,所述签名生成器可以直接利用移动终端中的传感器和处理器等硬件完成数据加密,无需额外开发单独的硬件设施。
另外,采集到的加速度信息I1和角速度信息I2都为空间X、Y、Z三个维度的分量。因此,加速度信息I1可记为I1x,I1y,I1z。角速度信息I2可记为I2x,I2y,I2z。
S3:将所述传感器信息中的多个数值转化为文本片段。
在获取到传感器信息后,可以对传感器信息中的多个数值进行拼接,以对应一个随机数。由于多个数值的简单拼接容易被破解,因此,可以将每个数值进行散列计算,转化为标准位数的文本片段。
进一步地,由于根据传感器检测的精度不同,获取的传感器信息也不同,为了便于进行文本转化,如图4所示,将所述传感器信息中的多个数值转化为文本片段的步骤,还包括:
S301:获取加速度以及角速度在空间坐标中的三轴分量数值;
S302:对三轴分量数值进行取整数运算,获得三轴分量整数值;
S303:调用哈希函数,对所述三轴分量整数值进行散列计算,生成基于哈希值形式的文本片段。
仍以上述加速度传感器和陀螺仪为例,本实施例中,可以调用取整函数fint对采集的传感器信息进行取整数运算,获得加速度以及角速度在空间坐标中三轴分量的整数值。即,对加速度信息I1和角速度信息I2在三个维度的分量分别按照最小精度n乘以10的n次方进行取整fint(I1)和fint(I2)。
例如,加速度数值I1的精度为0.000,即小数点后三位,则对于加速度数值在x轴上的分量I1x的采集值1.365,乘以10的3次方取整后,得到x轴分量整数值为1365。同理,依次可以对加速度信息和角速度信息在其他轴上的分量分别进行取整,得到三轴分量整数值。取整后的加速度信息I1的三个维度分量记为I1xi,I1yi,I1zi,陀螺仪的角速度信息I2的三个维度分量分别记为I2xi,I2yi,I2zi。
在对采集的加速度信息和角速度信息进行取整运算之后,还可以通过调用整数转字符串函数f_int_to_string,对两个传感器对应的三轴分量整数值转化为字符串。整数转字符串函数可以运用散列运算算法,如SHA-256等哈希函数,分别对三轴分量整数值进行计算,得到传感器信息对应的三轴分量的文本片段。例如:I1x_sha256,I1y_sha256,I1z_sha256和I2x_sha256,I2y_sha256,I2z_sha256。
其中,函数f_sha256是一种密码散列函数算法标准,是安全散列算法2(SecureHash Algorithm 2)的一种,可以从任何一种数据中创建小的数字“指纹”的方法。SHA-256函数可以把数据的格式固定下来,重新创建一个叫做散列值(或哈希值)的指纹,即一个短的随机字母和数字组成的字符串来代表。
S4:调用预设拼接函数,将多个所述文本片段拼接为随机文本信息。
将加速度信息I1和角速度信息I2的分量SHA-256运算结果转换为字符串后,可以调用拼接函数,记为f_concat。将转换得到的字符串拼接在一起,得到一个综合所有分量对应字符串的文本信息,记为:I12_concat。
S5:将所述随机文本信息转化为数字,得到随机数。
实际应用中,在对文本片段进行拼接后,可以再对拼接后的结果I12_concat进行SHA-256运算得到随机数。由于上述过程中,是通过SHA-256运算将数值转化为文本片段。因此,为了获得随机数,需要将拼接后的文本信息,再次通过SHA-256运算转化为数值。
在本申请的部分实施例中,所述将所述随机文本信息转化为数字,得到随机数的步骤,包括:
S501:调用所述哈希函数;
S502:使用所述哈希函数对随机文本信息进行散列计算,获得随机数。
本实施例在将文本信息转化为数值时,再次调用哈希函数,并使用哈希函数对文本信息进行散列计算,得到随机数。其中,随机数计算表示如下:
rand=f_sha256{f_concat[f_sha256(f_int_to_string(f_int(I1x))),
f_sha256(f_int_to_string(f_int(I1y))),f_sha256(f_int_to_string(f_int(I1z))),f_sha256(f_int_to_string(f_int(I2x))),f_sha256(f_int_to_string(f_int(I2y))),f_sha256(f_int_to_string(f_int(I2z)))]}。
S6:添加所述随机数至加密算法,生成验证签名。
针对上述步骤计算获得的随机数,可以将随机数用于签名算法。并从签名生成器的存储中读出密钥进行签名,生成验证签名。再将验证签名通过签名生成器的外设,如网络连接,无线通信等,发送给登录校验服务器进行校验。登录校验服务器再通过非对称加密算法验证签名的正确性,反馈验证结果,完成签名验证。
即,如图5所示,生成验证签名后,所述方法还包括:
S601:发送所述验证签名至所述登录校验服务器;
S602:通过公钥和加密算法解密所述验证签名;
S603:验证所述验证签名的正确性。
由以上实施例可知,本申请提供基于多传感器的随机数加密方法,可以利用陀螺仪传感器、加速度传感器在空间X、Y、Z三个维度随机旋转、移动时的信号数据,生成随机数。由于陀螺仪传感器、加速度传感器在随机旋转时的信号数据具有不可预测性,因此通过用户将签名生成器随意移动时,签名生成器自动采集设备上的传感器信息,来生成真实的物理随机数。本申请采用非对称加密方式,辅以物理随机数进行加密运算可以大大降低加密数据被破解的可能性,提高加密数据的安全性。
在本申请的部分实施例中,如图6所示,在获取触发信号以及当前时间值后,所述方法还包括:
S111:使用加密算法生成公钥和私钥;
S112:发送所述公钥和加密算法参数至登录校验服务器;
S113:将所述公钥和加密算法参数存储在所述登录校验服务器中。
实际应用中,针对登录校验,首先需要进行初始化。即通过非对称加密算法,例如secp256k1、ed25519等,生成签名和校验所需的公钥和私钥。其中,生成的公钥需发送至登录校验服务器,以存储在登陆校验器中。而生成的私钥,则需要存储在签名生成器的存储器内。可见,本实施例可以采用非对称加密方式进行登录校验,即私钥不需要保存在登陆校验服务器中。
需要说明的是,在本申请提供的技术方案中,可以综合考虑硬件设备中的传感类型和数量,对上述示例中的加速度传感器和陀螺仪进行替换,只需保证替换传感器采集的数值具有随机性即可。例如,可使用磁场传感器进行随机数的生成,来保证随机数生成的不可预测性。
还可以根据实际加密要求增加传感器类型和数量,以获取更多随机数值数据。例如,将随机数生成的信号源中增加全球地理定位终端、电子罗盘等传感器采集的数据作为随机数的信号源。
实际应用中,还可以通过设置随机事件,并配合相应事件的传感器来进一步构建信号源。例如,在签名生成器中内置PWM模块(Pulse Width Modulation,脉冲宽度调制),通过PWM模块产生脉冲电流,从而快速调节光源亮度。再通过亮度传感器采集随机时刻的光源亮度,从而获得亮度数据,作为随机数种子进行SHA-256运算生成随机数。
基于上述随机数加密方法,如图7所示,本申请还提供一种基于多传感器的随机数加密装置,包括签名生成器,以及与所述签名生成器建立通信连接的登录校验服务器和至少两个传感器;所述传感器采集的数值具有随机性,传感器用于检测随机事件数据,可以根据随机事件的数据类型,选择相应的传感器类型。例如,所述传感器包括加速度传感器和陀螺仪。所述签名生成器设有触发按键、实时时钟芯片、存储器、处理器和外设;其中,所述处理器被进一步配置为执行以下程序步骤:
S1:通过所述触发按键和所述实时时钟芯片,获取触发信号以及当前时间值,确定采样时刻;
S2:获取采样时刻的传感器信息,所述传感器信息包括由至少两个传感器检测的多个数值;
S3:将所述传感器信息中的多个数值转化为文本片段;
S4:通过存储器调用预设拼接函数,将多个所述文本片段拼接为随机文本信息;
S5:将所述随机文本信息转化为数字,得到随机数;
S6:添加所述随机数至加密算法,生成验证签名。
相应地,所述处理器被进一步配置为:通过所述外设将所述验证签名发送给所述登录校验服务器,以通过所述登录校验服务器验证所述验证签名的正确性。
例如,本申请提供的基于多传感器的随机数加密装置,包含一个加速度传感器、一个陀螺仪传感器。还包含一个由触发按键(按钮或者虚拟触屏按钮)、实时时钟芯片(或其他时钟生成装置)、存储芯片、微处理器和外设(如液晶显示器、有线网络等)的签名生成器。加速度传感器和陀螺仪传感器可以都安装在该签名生成器上。所述签名生成器可以为通用移动设备,如手机、平板电脑等。还包含一个含有存储和微处理器的装置用于登陆校验。实际应用中,如果本技术中采用的传感器输入为模拟信号,则签名生成器上需要增加信号调理采样电路。
需要说明的是,为了确保登录校验服务器上的存储器不会被人偷偷修改输入的验证的公钥,使正确的公私钥对被绕过而不能正确校验。本申请可使用可编程程序只读存储器(Programmable Read Only Memory,PROM)等只能一次写入,写入之后,只读不可更改的存储器存储相应的验证数据。
实际应用中,在签名生成及验证时,首先保证签名机开机。之后通过按钮触发签名机签名验证。此时对签名机设备器在空间X、Y、Z三个维度随机旋转移动。签名生成器在一个指定的时间范围内,使用上述采样时刻的获取方法得到传感器信号采集时刻t。并且,在t时刻采集加速度传感器上的加速度信息I1和采集陀螺仪传感器上的角速度信息I2,并按照上述方法将传感器信息转化为文本片段,再经拼接转化后,计算出随机数。再将计算的随机数用于签名算法的随机数。并从签名生成器的存储中读出私钥,进行加密运算生成验证签名。
最后,将验证签名通过签名生成器的外设发送给登陆校验服务器进行校验。以通过非对称加密算法验证签名的正确性,得到验证结果。
进一步地,所述传感器包括加速度传感器和陀螺仪;所述传感器信息包括加速度以及角速度在空间坐标中的三轴分量数值;
所述处理器被进一步配置为执行以下程序步骤:
S301:分别通过所述加速度传感器和陀螺仪,获取加速度以及角速度在空间坐标中的三轴分量数值;
S302:对三轴分量数值进行取整数运算,获得三轴分量整数值;
S303:调用哈希函数,对所述三轴分量整数值进行散列计算,生成基于哈希值形式的文本片段。
进一步地,所述将所述随机文本信息转化为数字,得到随机数的步骤,包括:
S501:调用所述哈希函数;
S502:使用所述哈希函数对随机文本信息进行散列计算,获得随机数。
由以上技术方案可知,本申请提供一种基于多传感器的随机数加密方法及装置,所述方法通过获取触发信号以及当前时间值,确定采样时刻,再获取采样时刻的传感器信息,并将传感器信息转化为文本片段;其中,传感器信息包括由至少两个传感器检测的多个数值;且每个传感器采集的数值具有随机性;再调用预设拼接函数,将多个文本片段拼接为随机文本信息;最后将随机文本信息转化为数字,得到随机数并且将随机数添加至加密算法,生成验证签名。所述方法通过传感器在多个相互独立的维度采集具有随机性的数值,生成随机数,可有效保证随机数生成时的不可预测性,提高随机数加密方法的安全性。
本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。
Claims (10)
1.一种基于多传感器的随机数加密方法,其特征在于,包括:
获取触发信号以及当前时间值,确定采样时刻;
获取采样时刻的传感器信息,所述传感器信息包括由至少两个传感器检测的多个数值;所述传感器采集的数值具有随机性;
将所述传感器信息中的多个数值转化为文本片段;
调用预设拼接函数,将多个所述文本片段拼接为随机文本信息;
将所述随机文本信息转化为数字,得到随机数;
添加所述随机数至加密算法,生成验证签名。
2.根据权利要求1所述的基于多传感器的随机数加密方法,其特征在于,在获取触发信号以及当前时间值后,所述方法还包括:
使用加密算法生成公钥和私钥;
发送所述公钥和加密算法参数至登录校验服务器;
将所述公钥和加密算法参数存储在所述登录校验服务器中。
3.根据权利要求2所述的基于多传感器的随机数加密方法,其特征在于,生成验证签名后,所述方法还包括:
发送所述验证签名至所述登录校验服务器;
通过公钥和加密算法解密所述验证签名;
验证所述验证签名的正确性。
4.根据权利要求1所述的基于多传感器的随机数加密方法,其特征在于,所述传感器包括加速度传感器和陀螺仪;所述传感器信息包括加速度以及角速度在空间坐标中的三轴分量数值。
5.根据权利要求4所述的基于多传感器的随机数加密方法,其特征在于,将所述传感器信息中的多个数值转化为文本片段的步骤,包括:
获取加速度以及角速度在空间坐标中的三轴分量数值;
对三轴分量数值进行取整数运算,获得三轴分量整数值;
调用哈希函数,对所述三轴分量整数值进行散列计算,生成基于哈希值形式的文本片段。
6.根据权利要求5所述的基于多传感器的随机数加密方法,其特征在于,将所述随机文本信息转化为数字,得到随机数的步骤,包括:
调用所述哈希函数;
使用所述哈希函数对随机文本信息进行散列计算,获得随机数。
7.根据权利要求1所述的基于多传感器的随机数加密方法,其特征在于,获取触发信号以及当前时间值,确定采样时刻的步骤,包括:
检测触发按键的按压动作;
如果所述触发按键被按压,生成触发信号;
获取触发信号对应的当前时间值。
8.根据权利要求7所述的基于多传感器的随机数加密方法,其特征在于,所述方法还包括:
将当前时间值转化为unix时间戳;
获取采样时间周期;
将所述时间戳对所述采样时间周期进行取模运算,获得取模余数;
将获得的余数与时间戳求和,得到采集时刻。
9.一种基于多传感器的随机数加密装置,其特征在于,包括签名生成器,以及与所述签名生成器建立通信连接的登录校验服务器和至少两个传感器;所述传感器采集的数值具有随机性;所述签名生成器设有触发按键、实时时钟芯片、存储器、处理器和外设;其中,所述处理器被进一步配置为执行以下程序步骤:
通过所述触发按键和所述实时时钟芯片,获取触发信号以及当前时间值,确定采样时刻;
获取采样时刻的传感器信息,所述传感器信息包括由至少两个传感器检测的多个数值;
将所述传感器信息中的多个数值转化为文本片段;
通过存储器调用预设拼接函数,将多个所述文本片段拼接为随机文本信息;
将所述随机文本信息转化为数字,得到随机数;
添加所述随机数至加密算法,生成验证签名;
所述处理器被进一步配置为:通过所述外设将所述验证签名发送给所述登录校验服务器,以通过所述登录校验服务器验证所述验证签名的正确性。
10.根据权利要求9所述的基于多传感器的随机数加密装置,其特征在于,所述传感器包括加速度传感器和陀螺仪;所述传感器信息包括加速度以及角速度在空间坐标中的三轴分量数值;
所述处理器被进一步配置为执行以下程序步骤:
分别通过所述加速度传感器和陀螺仪,获取加速度以及角速度在空间坐标中的三轴分量数值;
对三轴分量数值进行取整数运算,获得三轴分量整数值;
调用哈希函数,对所述三轴分量整数值进行散列计算,生成基于哈希值形式的文本片段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010043438.3A CN111259419A (zh) | 2020-01-15 | 2020-01-15 | 基于多传感器的随机数加密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010043438.3A CN111259419A (zh) | 2020-01-15 | 2020-01-15 | 基于多传感器的随机数加密方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111259419A true CN111259419A (zh) | 2020-06-09 |
Family
ID=70950611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010043438.3A Pending CN111259419A (zh) | 2020-01-15 | 2020-01-15 | 基于多传感器的随机数加密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111259419A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984985A (zh) * | 2020-08-28 | 2020-11-24 | 思尔芯(上海)信息科技有限公司 | 一种基于fpga硬件系统的hdl源码加密方法 |
CN112416299A (zh) * | 2020-10-10 | 2021-02-26 | 石家庄科林电气股份有限公司 | 一种利用零漂数据获取随机数的方法 |
CN112580077A (zh) * | 2020-12-21 | 2021-03-30 | 歌尔光学科技有限公司 | 一种信息处理方法、装置、设备及存储介质 |
CN112671532A (zh) * | 2020-12-07 | 2021-04-16 | 华帝股份有限公司 | 一种通信密钥的生成方法及相关设备 |
WO2022039671A1 (en) * | 2020-08-21 | 2022-02-24 | National University Of Singapore | Method and apparatus for true random number generation within cryptographic hardware |
CN114900348A (zh) * | 2022-04-28 | 2022-08-12 | 福建福链科技有限公司 | 一种区块链传感器数据验证的方法及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150349954A1 (en) * | 2014-06-03 | 2015-12-03 | Mason Borda | System and method for random seed generation |
CN108804011A (zh) * | 2018-06-06 | 2018-11-13 | 北京信任度科技有限公司 | 一种基于交互式曲线的随机数产生方法及产生系统 |
CN110333842A (zh) * | 2019-06-28 | 2019-10-15 | 深圳市永达电子信息股份有限公司 | 一种真随机数生成方法及系统 |
-
2020
- 2020-01-15 CN CN202010043438.3A patent/CN111259419A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150349954A1 (en) * | 2014-06-03 | 2015-12-03 | Mason Borda | System and method for random seed generation |
CN108804011A (zh) * | 2018-06-06 | 2018-11-13 | 北京信任度科技有限公司 | 一种基于交互式曲线的随机数产生方法及产生系统 |
CN110333842A (zh) * | 2019-06-28 | 2019-10-15 | 深圳市永达电子信息股份有限公司 | 一种真随机数生成方法及系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022039671A1 (en) * | 2020-08-21 | 2022-02-24 | National University Of Singapore | Method and apparatus for true random number generation within cryptographic hardware |
CN111984985A (zh) * | 2020-08-28 | 2020-11-24 | 思尔芯(上海)信息科技有限公司 | 一种基于fpga硬件系统的hdl源码加密方法 |
CN112416299A (zh) * | 2020-10-10 | 2021-02-26 | 石家庄科林电气股份有限公司 | 一种利用零漂数据获取随机数的方法 |
CN112671532A (zh) * | 2020-12-07 | 2021-04-16 | 华帝股份有限公司 | 一种通信密钥的生成方法及相关设备 |
CN112671532B (zh) * | 2020-12-07 | 2023-03-28 | 华帝股份有限公司 | 一种通信密钥的生成方法及相关设备 |
CN112580077A (zh) * | 2020-12-21 | 2021-03-30 | 歌尔光学科技有限公司 | 一种信息处理方法、装置、设备及存储介质 |
CN112580077B (zh) * | 2020-12-21 | 2023-01-24 | 歌尔科技有限公司 | 一种信息处理方法、装置、设备及存储介质 |
CN114900348A (zh) * | 2022-04-28 | 2022-08-12 | 福建福链科技有限公司 | 一种区块链传感器数据验证的方法及终端 |
CN114900348B (zh) * | 2022-04-28 | 2024-01-30 | 福建福链科技有限公司 | 一种区块链传感器数据验证的方法及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111259419A (zh) | 基于多传感器的随机数加密方法及装置 | |
CN107409049B (zh) | 用于保护移动应用的方法和装置 | |
US7363494B2 (en) | Method and apparatus for performing enhanced time-based authentication | |
US20180144114A1 (en) | Securing Blockchain Transactions Against Cyberattacks | |
RU2538283C2 (ru) | Аутентификация устройства и пользователя | |
JP5419056B2 (ja) | Cartier対形成の暗号化適用 | |
JP5246276B2 (ja) | 匿名電子投票システム及び匿名電子投票方法 | |
US10021079B2 (en) | Security system, method, and apparatus | |
CN109075965B (zh) | 使用口令码验证的前向安全密码技术的方法、系统和装置 | |
KR102321260B1 (ko) | 인증 단말, 인증 장치 및 이들을 이용한 인증 방법 | |
EP3824592A1 (en) | Public-private key pair protected password manager | |
CN111259353B (zh) | 基于sm9算法的身份认证方法、装置和计算机设备 | |
CN113691502A (zh) | 通信方法、装置、网关服务器、客户端及存储介质 | |
EP3752940B1 (en) | Updating biometric template protection keys | |
CN115567188B (zh) | 一种多键值隐匿求交方法、装置及存储介质 | |
Qureshi et al. | SeVEP: Secure and verifiable electronic polling system | |
TW201223225A (en) | Method for personal identity authentication utilizing a personal cryptographic device | |
KR102169695B1 (ko) | 자가검증이 가능한 블록체인 전자투표 관리 방법 | |
JP2012080152A (ja) | 暗号化システム、暗号化装置、復号装置、暗号化システムプログラム及び暗号化方法 | |
US8631475B1 (en) | Ordering inputs for order dependent processing | |
JP2007020065A (ja) | 復号化バックアップ方法、復号化リストア方法、認証デバイス、個別鍵設定機、利用者端末、バックアップ装置、暗号化バックアッププログラム、復号化リストアプログラム | |
JP2006524352A (ja) | バイオメトリクスに基づいたアイデンティティベースの暗号化方法および装置 | |
CN116015900B (zh) | 数据自存储自验证方法、装置、设备及存储介质 | |
Lokhande et al. | Development of an Algorithmic Approach for Hiding Sensitive Data and Recovery of Data based on Fingerprint Identification for Secure Cloud Storage | |
CN113904850A (zh) | 基于区块链私钥keystore安全登录方法、生成方法、系统及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200609 |
|
RJ01 | Rejection of invention patent application after publication |