本发明专利技术公开一种在嵌入式系统中生成坐标点的方法,包括以下步骤:获取随机数和第一固定值,并以第一固定值为模数,对随机数进行取模,得到第一数据;从所述第一数据中选取各个数据位,当选取的数据位中的数据不为零时,根据选取的数据位在所述第一数据中的位置,从预先存储的初始点值列表中获取与所述选取的数据位对应的初始点值,将获取的初始点值与中间点值进行点加运算,将得到的运算结果作为结果数据输出。本发明专利技术通过查询预先设置的初始点值列表,获取初始点值列表中的初始点值,并根据该初始点值进行计算,极大地提高了生成坐标点的运算速度。
【技术实现步骤摘要】
本专利技术涉及密码学领域,尤其涉及。
技术介绍
随着科学技术的发展,数据安全性的要求也越来越高,现有保护数据安全性具有加密和签名等实现方式,但是加密过程和签名过程都需要有密钥的参与,现有生成密钥的过程中数据量大,运算速度慢,使得加密和签名过程的实现效率都很低。
技术实现思路
本专利技术提供了,以解决现有技术中生成坐标点的运算速度慢的缺陷。本专利技术提供了,包括以下步骤: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的编号本文档来自技高网...
【技术保护点】
一种在嵌入式系统中生成坐标点的方法,其特征在于,包括以下步骤:S1、获取随机数和第一固定值,并以第一固定值为模数,对随机数进行取模,得到第一数据;S2、从所述第一数据中选取一个未被处理过的数据位;S3、根据选取的数据位在所述第一数据中的位置,从预先存储的初始点值列表中获取与所述选取的数据位对应的初始点值,所述初始点值列表中的各个初始点值分别为不同的幂值与预设的第一点值进行点乘得到的运算结果;S4、将获取的初始点值与所述选取的数据位中的数据进行点乘,对得到的点乘结果与中间点值进行点加运算,得到点加结果,并将所述中间点值更新为所述点加结果,所述中间点值的初始值为(0,0);S5、判断所述第一数据中是否存在未被处理过的数据位,如果存在,在返回步骤S2;否则,执行步骤S6;S6、将所述中间点值作为结果数据输出。
【技术特征摘要】
【专利技术属性】
技术研发人员:陆舟,于华章,
申请(专利权)人:飞天诚信科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。