一种在嵌入式系统中生成坐标点的方法

文档序号:6385997阅读:172来源:国知局
专利名称:一种在嵌入式系统中生成坐标点的方法
技术领域
本发明涉及密码学领域,尤其涉及一种在嵌入式系统中生成坐标点的方法。
背景技术
随着科学技术的发展,数据安全性的要求也越来越高,现有保护数据安全性具有加密和签名等实现方式,但是加密过程和签名过程都需要有密钥的参与,现有生成密钥的过程中数据量大,运算速度慢,使得加密和签名过程的实现效率都很低。

发明内容
本发明提供了一种在嵌入式系统中生成坐标点的方法,以解决现有技术中生成坐标点的运算速度慢的缺陷。本发明提供了一种在嵌入式系统中生成坐标点的方法,包括以下步骤:S1、获取随机数和第一固定值,并以第一固定值为模数,对随机数进行取模,得到
第一数据;S2、从所述第一数据中选取一个未被处理过的数据位;S3、根据选取的数据位在所述第一数据中的位置,从预先存储的初始点值列表中获取与所述选取的数据位对应的初始点值,所述初始点值列表中的各个初始点值分别为不同的幂值与预设的第一点值进行点乘得到的运算结果;S4、以所述第二固定值为模数,将获取的初始点值与所述选取的数据位中的数据进行点乘,对得到的点乘结果与中间点值进行点加运算,得到点加结果,并将所述中间点值更新为所述点加结果,所述中间点值的初始值为(0,0);S5、判断所述第一数据中是否存在未被处理过的数据位,如果存在,在返回步骤S2 ;否则,执行步骤S6 ;S6、将所述中间点值作为结果数据输出。本发明还提供了一种在嵌入式系统中生成坐标点的方法,包括以下步骤:S1、获取随机数和第一固定值,并以第一固定值为模数,对随机数进行取模,得到
第一数据;S2、从所述第一数据中选取一个未被处理过的数据位;S3、判断选取的数据位中的数据是否为零,如果是,则执行步骤S6 ;否则,执行步骤S4 ;S4、根据所述选取的数据位在所述第一数据中的位置,从预先存储的初始点值列表中获取与所述选取的数据位对应的初始点值,所述初始点值列表中的各个初始点值分别为不同的幂值与预设的第一点值进行点乘得到的运算结果;S5、将获取的初始点值与中间点值进行点加运算,得到点加结果,并将所述中间点值更新为所述点加结果,所述中间点值的初始值为(0,0);S6、判断所述第一数据中是否存在未被处理过的数据位,如果存在,在返回步骤S2 ;否则,执行步骤S7 ;S7、将所述中间点值作为结果数据输出。本发明还提供了一种在嵌入式系统中生成坐标点的方法,包括以下步骤:S1、获取随机数和第一固定值,并以所述第一固定值为模数,对所述随机数进行取模,得到第一数据;S2、根据预设分组长度对所述第一数据的位长取余,得到第二数据;S3、判断所述第二数据是否为零,如果是,则执行步骤S5 ;否则,执行步骤S4 ;S4、在所述第一数据的高位补零,返回步骤S2 ;S5、根据所述预设分组长度对所述第一数据进行划分,得到多个分组;S6、从所述第一数据中选取一个未被处理过的分组;S7、根据选取的分组在所述第一数据中的位置,从预先存储的初始点值列表中获取与所述选取的分组对应的初始点值,所述初始点值列表中的各个初始点值分别为不同的幂值与预设的第一点值进行点乘得到的运算结果;S8、以所述第二固定值为模数,将获取的初始点值与所述选取的分组中的数据进行点乘,对得到的点乘结果与中间点值进行点加运算,得到点加结果,并将所述中间点值更新为所述点加结果,所述中间点值的初始值为(0,0);S9、判断所述第一数据中是否存在未被处理过的分组,如果存在,在返回步骤S6 ;否则,执行步骤S10;S10、将所述中间点值作为结果数据输出。本发明还提供了一种在嵌入式系统中生成坐标点的方法,包括以下步骤:S1、获取随机数和第一固定值,并以所述第一固定值为模数,对所述随机数进行取模,得到第一数据;S2、根据预设分组长度对所述第一数据的位长取余,得到第二数据;S3、判断所述第二数据是否为零,如果是,则执行步骤S5 ;否则,执行步骤S4 ;S4、在所述第一数据的高位补零,返回步骤S2 ;S5、根据所述预设分组长度对所述第一数据进行划分,得到多个分组;S6、从所述第一数据中选取一个未被处理过的分组;S7、判断选取的分组中的数据是否为零,如果是,则执行步骤SlO ;否则,执行步骤S8 ;S8、根据选取的分组在所述第一数据中的位置和所述选取的分组中的数据,从预先存储的初始点值列表中获取与所述选取的分组对应的初始点值,所述初始点值列表中的各个初始点值分别为不同的幂值与预设的第一点值进行点乘得到的运算结果;S9、以所述第二固定值为模数,将获取的初始点值与中间点值进行点加运算,得到运算结果,并将所述中间点值更新为所述运算结果,所述中间点值的初始值为(0,0);S10、判断所述第一数据中是否存在未被处理过的分组,如果存在,在返回步骤S6 ;否则,执行步骤Sll ;S11、将所述中间点值作为结果数据输出。本发明达到的有益效果:通过查询预先设置的初始点值列表,获取初始点值列表中的初始点值,并根据该初始点值进行计算,极大地提高了生成坐标点的运算速度。


图1为本发明实施例一中的一种在嵌入式系统中生成坐标点的方法流程图;图2为本发明实施例一中将初始点值与中间点值进行点加运算的方法流程图;图3为本发明实施例二中的一种在嵌入式系统中生成坐标点的方法流程图;图4为本发明实施例三中的一种在嵌入式系统中生成坐标点的方法流程图;图5为本发明实施例四中的一种在嵌入式系统中生成坐标点的方法流程图;图6为本发明实施例五中的一种在嵌入式系统中生成坐标点的方法流程图;图7为本发明实施例六中的一种在嵌入式系统中生成坐标点的方法流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例一本发明实施例一提供了一种在嵌入式系统中生成坐标点的方法,通过查询预先存储的初始点值列表,获取初始点值列表中匹配的初始点值,并根据该初始点值进行计算,其流程如图1所示,包括以下步骤:步骤101:以第一固定值为模数,对随机数进行取模,得到第一数据;优选地,步骤101之前还包括:生成随机数k,获取第一固定值η ;步骤102:判断第一数据是否为0,如果是,则输出错误信息;否则,执行步骤103 ;在本发明的其他实施例中,如果第一数据为0,还可生成随机数,并返回步骤101 ;步骤103:将第一数据转换为二进制数;在本实施例中,如第一数据为372,则转换为相应的9位二进制数101110100,即第一数据的数据位长度为9;需要说明的是,本步骤为优选步骤,当第一数据为二进制数时,不需要将第一数据转换为二进制数,同样可以实现本发明的发明目的。步骤104:对转换得到的二进制数的数据位进行编号,将该二进制数的最低位作为当前数据位,获取当前数据位中的数据;本实施例中,按照从低位到高位的顺序,从O开始,对根据第一数据转换得到的二进制数的数据位进行编号;例如,第一数据转化为9位二进制数101110100,数据位长度为9,从O开始编号,最大编号为8,最高位的编号为8,最低位的编号为O ;当前数据位为最低位,当前数据位中的数据为O ;步骤105:判断当前数据位中的数据是否为0,如果是,则执行步骤106 ;否则,执行步骤107 ;步骤106:从转换得到的二进制数中获取比当前数据位高一位的数据位,将当前数据位更新为该数据位,返回步骤105 ;
步骤107:根据当前数据位对应的编号,从预先存储的初始点值列表中获取对应的初始点值,将获取的初始点值与中间点值进行点加运算,并将中间点值更新为点加运算的运算结果;其中,中间点值的初始值为(0,0),初始点值列表中包括多个编号以及该编号对应的初始点值,取值为i的编号对应的初始点值为ZiXG (x,y),G (x,y)为预设的第一点值;编号为O时,对应的初始点值为2°XG (x,y);编号为I时,对应的初始点值为Z1XG (x,y);根据第一数据转换得到的二进制数为101110100时,若当前数据位对应的编号为2,则获取的对应的初始点值为:G2=22XG U,y)冲间点值为(0,0),则初始点值与中间点值进行点加运算的运算结果为22XG (x,y),将中间点值更新为22XG (x,y);生成初始点值列表的操作,可具体包括:根据预设的位长,生成多个取值连续的编号,其中,取值最小的编号为零;以2为底数,各个编号为指数,计算得到各个编号对应的幂值;对编号对应的幂值与第一点值进行点乘,得到与编号对应的初始点值,并根据各个编号以及与各个编号对应的初始点值生成初始点值列表;例如,预设的位长为9位时,生成的编号分别为:8、7、6、5、4、3、2、1和0,则对应的幂值分别为和2 0 ;点乘后得到的初始点值分别为G8=28XG U,y)、G7=27XG (x, y)、G6=26XG (x, y)、G5=25XG (x, y)、G4=24XG (x, y)、G3=23XG (x, y)、G2=22XG(Xj)G1=Z1XG (x, y)和Gq=2°XG (x, y);生成初始点值列表如表I所示:表I 初始点值列表不例一
权利要求
1.一种在嵌入式系统中生成坐标点的方法,其特征在于,包括以下步骤: 51、获取随机数和第一固定值,并以第一固定值为模数,对随机数进行取模,得到第一数据; 52、从所述第一数据中选取一个未被处理过的数据位; 53、根据选取的数据位在所述第一数据中的位置,从预先存储的初始点值列表中获取与所述选取的数据位对应的初始点值,所述初始点值列表中的各个初始点值分别为不同的幂值与预设的第一点值进行点乘得到的运算结果; 54、将获取的初始点值与所述选取的数据位中的数据进行点乘,对得到的点乘结果与中间点值进行点加运算,得到点加结果,并将所述中间点值更新为所述点加结果,所述中间点值的初始值为(O,O); 55、判断所述第一数据中是否存在未被处理过的数据位,如果存在,在返回步骤S2;否贝U,执行步骤S6 ; 56、将所述中间点值作为结果数据输出。
2.按权利要求1所述的方法,其特征在于,所述初始点值列表通过以下方式生成: 根据预设的位长,生成包含零在内的、多个取值连续的整数; 以2为底数,各个整数为指数,计算得到各个整数对应的幂值; 对各个整数对应的幂值与所述第一点值进行点乘,得到包含多个初始点值的初始点值列表。
3.按权利要求1或2所述的方法,其特征在于,所述初始点值列表中的初始点值按照大小顺序排列; 所述根据选取的数据位在所述第一数据中的位置,从预先存储的初始点值列表中获取与所述选取的数据位对应的初始点值,具体为: 所述根据所述选取的数据位在所述第一数据中的位置,从预先存储的初始点值列表中的对应的位置,获取与所述选取的数据位对应的初始点值。
4.按权利要求1所述的方法,其特征在于,所述初始点值列表通过以下方式生成: 根据预设的位长,生成包含零在内的、多个取值连续的编号; 以2为底数,各个编号为指数,计算得到各个编号对应的幂值; 对各个编号对应的幂值与所述第一点值进行点乘,得到与各个编号对应的初始点值,并根据各个编号以及与各个编号对应的初始点值生成初始点值列表。
5.按权利要求4所述的方法,其特征在于,所述根据选取的数据位在所述第一数据中的位置,从预先存储的初始点值列表中获取与所述选取的数据位对应的初始点值,具体为: 所述根据所述选取的数据位在所述第一数据中的位置,确定所述初始点值表中与所述选取的数据位对应的编号,将所述编号对应的初始点值作为与所述选取的数据位对应的初始点值。
6.按权利要求4所述的方法,其特征在于,所述从第一数据中选取一个未被处理过的数据位之前,还包括: 按照从低到高的顺序,对所述第一数据的数据位进行编号; 所述根据选取的数据位在所述第一数据中的位置,从预先存储的初始点值列表中获取与所述选取的数据位对应的初始点值,具体为: 根据所述选取的数据位的编号,从预先存储的初始点值列表中获取对应的初始点值。
7. 种在嵌入式系统中生成坐标点的方法,其特征在于,包括以下步骤: 51、获取随机数和第一固定值,并以第一固定值为模数,对随机数进行取模,得到第一数据; 52、从所述第一数据中选取一个未被处理过的数据位; 53、判断选取的数据位中的数据是否为零,如果是,则执行步骤S6;否则,执行步骤S4 ; 54、根据所述选取的数据位在所述第一数据中的位置,从预先存储的初始点值列表中获取与所述选取的数据位对应的初始点值,所述初始点值列表中的各个初始点值分别为不同的幂值与预设的第一点值进行点乘得到的运算结果; 55、将获取的初始点值与中间点值进行点加运算,得到点加结果,并将所述中间点值更新为所述点加结果,所述中间点值的初始值为(0,0); 56、判断所述第一数据中是否存在未被处理过的数据位,如果存在,在返回步骤S2;否贝U,执行步骤S7 ; 57、将所述中间点值作为结果数据输出。
8.按权利要求7所述的方法,其特征在于,所述初始点值列表通过以下方式生成: 根据预设的位长,生成包含零在内的、多个取值连续的整数; 以2为底数,各个整数为指数,计算得到各个整数对应的幂值; 对各个整数对应的幂值与所述第一点值进行点乘,得到包含多个初始点值的初始点值列表。
9.按权利要求7或8所述的方法,其特征在于,所述初始点值列表中的初始点值按照大小顺序排列; 所述根据选取的数据位在所述第一数据中的位置,从预先存储的初始点值列表中获取与所述选取的数据位对应的初始点值,具体为: 所述根据所述选取的数据位在所述第一数据中的位置,从预先存储的初始点值列表中的对应的位置,获取与所述选取的数据位对应的初始点值。
10.按权利要求7所述的方法,其特征在于,所述初始点值列表通过以下方式生成: 根据预设的位长,生成包含零在内的、多个取值连续的编号; 以2为底数,各个编号为指数,计算得到各个编号对应的幂值; 对各个编号对应的幂值与所述第一点值进行点乘,得到与各个编号对应的初始点值,并根据各个编号以及与各个编号对应的初始点值生成初始点值列表。
11.按权利要求10所述的方法,其特征在于,所述根据选取的数据位在所述第一数据中的位置,从预先存储的初始点值列表中获取与所述选取的数据位对应的初始点值,具体为: 所述根据所述选取的数据位在所述第一数据中的位置,确定所述初始点值表中与所述选取的数据位对应的编号,将所述编号对应的初始点值作为与所述选取的数据位对应的初始点值。
12.按权利要求10所述的方法,其特征在于,所述从第一数据中选取一个未被处理过的数据位之前,还包括:按照从低到高的顺序,对所述第一数据的数据位进行编号; 所述根据选取的数据位在所述第一数据中的位置,从预先存储的初始点值列表中获取与所述选取的数据位对应的初始点值,具体为: 根据所述选取的数据位的编号,从预先存储的初始点值列表中获取对应的初始点值。
13.一种在嵌入式系统中生成坐标点的方法,其特征在于,包括以下步骤: 51、获取随机数和第一固定值,并以所述第一固定值为模数,对所述随机数进行取模,得到第一数据; 52、根据预设分组长度对所述第一数据的位长取余,得到第二数据; 53、判断所述第二数据是否为零,如果是,则执行步骤S5;否则,执行步骤S4 ; 54、在所述第一数据的高位补零,返回步骤S2; 55、根据所述预设分组长度对所述第一数据进行划分,得到多个分组; 56、从所述第一数据中选取一个未被处理过的分组; 57、根据选取的分组在所述第一数据中的位置,从预先存储的初始点值列表中获取与所述选取的分组对应的初始点值,所述初始点值列表中的各个初始点值分别为不同的幂值与预设的第一点值进行点乘得到的运算结果; 58、将获取的初 始点值与所述选取的分组中的数据进行点乘,对得到的点乘结果与中间点值进行点加运算,得到点加结果,并将所述中间点值更新为所述点加结果,所述中间点值的初始值为(O,O); 59、判断所述第一数据中是否存在未被处理过的分组,如果存在,在返回步骤S6;否贝U,执行步骤SlO ; S10、将所述中间点值作为结果数据输出。
14.按权利要求13所述的方法,其特征在于,所述初始点值列表通过以下方式生成: 根据预设的位长,生成包含零在内的、多个取值连续的整数; 以2为底数,各个整数与所述预设分组长度的乘积为指数,计算得到各个整数对应的幂值; 对各个整数对应的幂值与所述第一点值进行点乘,得到包含多个初始点值的初始点值列表。
15.按权利要求13或14所述的方法,其特征在于,所述初始点值列表中的初始点值按照大小顺序排列; 所述根据选取的分组在所述第一数据中的位置,从预先存储的初始点值列表中获取与所述选取的分组对应的初始点值,具体为: 所述根据所述选取的分组在所述第一数据中的位置,从预先存储的初始点值列表中的对应的位置,获取与所述选取的分组对应的初始点值。
16.按权利要求13所述的方法,其特征在于,所述初始点值列表通过以下方式生成: 根据预设的位长,生成包含零在内的、多个取值连续的编号; 以2为底数,各个编号与所述预设分组长度的乘积为指数,计算得到各个编号对应的幂值; 对各个编号对应的幂值与所述第一点值进行点乘,得到与各个编号对应的初始点值,并根据各个编号以及与各个编号对应的初始点值生成初始点值列表。
17.按权利要求16所述的方法,其特征在于,所述根据选取的分组在所述第一数据中的位置,从预先存储的初始点值列表中获取与所述选取的分组对应的初始点值,具体为: 所述根据所述选取的分组在所述第一数据中的位置,确定所述初始点值表中与所述选取的分组对应的编号,将所述编号对应的初始点值作为与所述选取的分组对应的初始点值。
18.按权利要求16所述的方法,其特征在于,所述从第一数据中选取一个未被处理过的分组之前,还包括: 按照从低到高的顺序,对根据所述第一数据划分得到的分组进行编号; 所述根据选取的分组在所述第一数据中的位置,从预先存储的初始点值列表中获取与所述选取的分组对应的初始点值,具体为: 根据所述选取的分 组的编号,从预先存储的初始点值列表中获取对应的初始点值。
19.一种在嵌入式系统中生成坐标点的方法,其特征在于,包括以下步骤: 51、获取随机数和第一固定值,并以所述第一固定值为模数,对所述随机数进行取模,得到第一数据; 52、根据预设分组长度对所述第一数据的位长取余,得到第二数据; 53、判断所述第二数据是否为零,如果是,则执行步骤S5;否则,执行步骤S4 ; 54、在所述第一数据的高位补零,返回步骤S2; 55、根据所述预设分组长度对所述第一数据进行划分,得到多个分组; 56、从所述第一数据中选取一个未被处理过的分组; 57、判断选取的分组中的数据是否为零,如果是,则执行步骤SlO;否则,执行步骤S8 ; 58、根据选取的分组在所述第一数据中的位置和所述选取的分组中的数据,从预先存储的初始点值列表中获取与所述选取的分组对应的初始点值,所述初始点值列表中的各个初始点值分别为不同的幂值与预设的第一点值进行点乘得到的运算结果; 59、以所述第二固定值为模数,将获取的初始点值与中间点值进行点加运算,得到运算结果,并将所述中间点值更新为所述运算结果,所述中间点值的初始值为(0,0); 510、判断所述第一数据中是否存在未被处理过的分组,如果存在,在返回步骤S6;否贝U,执行步骤SI I ; 511、将所述中间点值作为结果数据输出。
20.按权利要求19所述的方法,其特征在于,所述初始点值列表通过以下方式生成: 根据预设的位长,生成包含零在内的、多个取值连续的整数; 以2为底数,各个整数与所述预设分组长度的乘积为指数,计算得到各个整数对应的幂值; 以所述第二固定值为模数,对各个整数对应的幂值与所述第一点值以及所述索引进行点乘,得到包含多个初始点值的初始点值列表。
21.按权利要求19或20所述的方法,其特征在于,所述初始点值列表中的初始点值按照大小顺序排列; 所述根据选取的分组在所述第一数据中的位置和所述选取的分组中的数据,从预先存储的初始点值列表中获取与所述选取的分组对应的初始点值,具体为: 所述根据所述选取的分组在所述第一数据中的位置和所述选取的分组中的数据,从预先存储的初始点值列表中的对应的位置,获取与所述选取的分组对应的初始点值。
22.按权利要求19所述的方法,其特征在于,所述初始点值列表通过以下方式生成: 根据预设的位长,生成包含零在内的、多个取值连续的编号; 以2为底数,各个编号与所述预设分组长度的乘积为指数,计算得到各个编号对应的幂值; 以所述第二固定值为模数,对各个编号对应的幂值与所述第一点值以及所述索引进行点乘,得到与各个编号对应的初始点值,并根据各个编号以及与各个编号对应的初始点值生成初始点值列表。
23.按权利要求22所述的方法,其特征在于,所述根据选取的分组在所述第一数据中的位置和所述选取的分组中的数据,从预先存储的初始点值列表中获取与所述选取的分组对应的初始点值,具体为: 所述根据所述选取的分组在所述第一数据中的位置,确定所述初始点值表中与所述选取的分组对应的编号,根据所述选取的分组中的数据,从所述编号对应的初始点值中获取与所述选取的分组对应的初始点值。
24.按权利要求22所述的方法,其特征在于,所述从第一数据中选取一个未被处理过的分组之前,还包括: 按照从低到高的顺序,对根据所述第一数据划分得到的分组进行编号; 所述根据选取的分组在所述第一数据中的位置和所述选取的分组中的数据,从预先存储的初始点值列表中获 取与所述选取的分组对应的初始点值,具体为: 根据所述选取的分组的编号和所述选取的分组中的数据,从预先存储的初始点值列表中获取对应的初始点值。
全文摘要
本发明公开一种在嵌入式系统中生成坐标点的方法,包括以下步骤获取随机数和第一固定值,并以第一固定值为模数,对随机数进行取模,得到第一数据;从所述第一数据中选取各个数据位,当选取的数据位中的数据不为零时,根据选取的数据位在所述第一数据中的位置,从预先存储的初始点值列表中获取与所述选取的数据位对应的初始点值,将获取的初始点值与中间点值进行点加运算,将得到的运算结果作为结果数据输出。本发明通过查询预先设置的初始点值列表,获取初始点值列表中的初始点值,并根据该初始点值进行计算,极大地提高了生成坐标点的运算速度。
文档编号G06F9/46GK103092688SQ20121058720
公开日2013年5月8日 申请日期2012年12月28日 优先权日2012年12月28日
发明者陆舟, 于华章 申请人:飞天诚信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1