一种在嵌入式系统中快速生成坐标点的方法技术方案

技术编号:8323268 阅读:178 留言:0更新日期:2013-02-14 00:20
本发明专利技术公开一种在嵌入式系统中快速生成坐标点的方法,包括:按预设拆分段数和预设步长对待计算的数值分段再对各个数据段分组,计算各个数据段的一组数据中每一位所对应的原始点值;检测所有数据段的当前数据组中每一位上的值,并将值为1的位所对应的原始点值与中间点值进行点加运算,并用点加运算结果更新中间点值;判断各个数据段的下一个数据组是否存在,如不在则将中间点值作为结果坐标点值存储,结束;如存在则对中间点值进行预设步长次的点倍运算,并用点倍运算结果更新中间点值,将各个数据段的下一个数据组作为新的当前数据组,继续进行点加和点倍运算。本发明专利技术能快速生成坐标点,有效应用到生成密钥对和签名中来,极大的提高运算速度。

【技术实现步骤摘要】

本专利技术涉及密码学领域,尤其涉及。
技术介绍
随着科学技术的发展,对于数据安全性的要求也越来越高,现有保护数据安全可以通过加密和签名等方式实现,但是加密过程和签名过程都需要有密钥的参与,现有生成密钥的过程中数据量大,运算速度慢,使得加密和签名过程的实现效率都很低。
技术实现思路
本专利技术的目的是为了克服现有技术的不足,提供。 本专利技术提供,包括步骤SI :按预设拆分段数对待计算的数值进行分段,并计算每个数据段的数据位长度;步骤S2 :根据预设步长对所述每个数据段进行分组,根据基点、所述每个数据段的数据位长度和所述预设步长计算各个数据段的一组数据中每一位所对应的原始点值,将所述每个数据段的第一组数据作为当前数据组;步骤S3 :检测所述每个数据段的当前数据组中的数据是否均为0,是则执行步骤S4,否则执行步骤S5;步骤S4 :将所述每个数据段的下一个数据组作为当前数据组,返回步骤S3 ;步骤S5 :检测当前数据段的当前数据组中的每一位上的值,并将值为I的位所对应的原始点值与中间点值进行点加运算,并用点加运算结果更新所述中间点值;步骤S6 :判断是否处理完所有数据段的当前数据组,是则执行步骤S8,否则执行步骤S7 ;步骤S7 :将其他未处理的数据段作为新的当前数据段,返回步骤S5 ;步骤S8 :判断各个数据段的下一个数据组是否存在,是执行步骤S9,否则将所述中间点值作为结果坐标点值存储,结束;步骤S9 :对所述中间点值进行所述预设步长次的点倍运算,并用点倍运算结果更新所述中间点值,将各个数据段的下一个数据组作为新的当前数据组;步骤SlO :检测所述每个数据段的当前数据组中的数据是否均为0,是则执行步骤S8,否则返回步骤S5。进一步地,所述步骤SI之前包括步骤SO :判断所述待计算的数值的数据位长度是否为所述预设拆分段数与所述预设步长乘积的整数倍,是则执行步骤Si,否则在所述待计算的数值前补0,返回步骤so。进一步地,在所述步骤SO之前包括步骤al :生成或获取随机数;步骤a2 :用第一固定值对所述随机数取余,判断取余结果是否为0,是则输出错误提示信息,返回步骤al ;否则将所述随机数转化为二进制数得到所述待计算的数值。进一步地,所述步骤S2中根据基点、所述每个数据段的数据位长度和所述预设步长计算各个数据段的一组数据中每一位所对应的原始点值,具体包括步骤S21-步骤S25为计算所有数据段的一个数据组中最高位所对应的初始点值的过程,步骤S26-步骤S28为计算每个数据段的一个数据组中除最高位的其他位所对应的初始点值的过程;步骤S21 :将拆分的每个数据段按照从低位到高位的顺序,从小到大进行编号,将所述基点作为最小编号数据段的一组数据组中最高位所对应的原始点值,将所述最小编号数据段作为当前数据段;步骤S22 :将当前数据段的一组数据组中最高位所对应的初始点值进行点倍运算,第一计数值自加I;所述第一计数值的初始值为0,中间值的初始值为O ;步骤S23 :判断所述第一计数值是否大于所述每个数据段的数据位长度,是则执行步骤S25,否则执行步骤S24 ;步骤S24 :用点倍运算结果更新所述中间值,对所述中间值进行点倍运算,所述第一计数值自加1,返回步骤S23;步骤S25 :判断是否计算完成所有的数据段的一个数组中最高位所对应的原始点值,是则执行步骤S26,否则将下一个数据段作为新的当前数据段,将点倍运算结果作为当前数据段的一个数据组中最高位所对应的初始点值,返回步骤S22 ;步骤S26 :将当前数据段的一个数据组中最高位作为当前位,第二计数值的初始值为O ;步骤S27 :对当前位所对应的初始点值进行点倍运算,所述第二计数值自加1,判断所述第二计数值是否大于所述预设步长,是则执行步骤S29,否则执行步骤S28 ;步骤S28 :将下一位作为新的当前位,将点倍运算结果作为新的当前位所对应的原始点值,返回步骤S27;步骤S29 :判断是否计算完成所有数据段的一个数据组中每一位所对应的初始点值,是则执行步骤S3,否则将下一个数据段作为当前数据段,返回步骤S26。进一步地,所述步骤S3与步骤S5之间包括步骤Al ;步骤Al :根据所有数据段的当前数据组的组合在初始值列表中检索对应的初始点值,如找到则获取对应的初始点值并将其与中间点值进行点加运算,用点加运算结果更新所述中间点值,执行步骤S8,如未找到则执行步骤S5 ;所述步骤S6和步骤S8之间包括将点加结果作为初始点值与对应的所有数据段的当前数据组的组合对应存储到所述初始值列表中;所述步骤SlO判断为否时返回步骤Al。进一步地,所述步骤Al中根据所有数据段的当前数据组的组合在初始值列表中检索对应的初始点值具体为按编号从大到小的顺序将每个数据段的当前数据组进行组合得到二进制数据串,根据所述二进制数据串在所述初始值列表中检索对应的初始点值。进一步地,所述根据二进制数据串在所述初始值列表中检索对应的初始点值具体为将所述二进制数据串转换为十进制数得到所述序号,根据所述序号在所述初始值列表中检索对应的初始点值。本专利技术又提供,包括步骤Si :根据预设拆分段数和预设步长确定需计算的初始点值个数;步骤s2 :根据基点和所述预设拆分段数分别计算每个数据段上最高位所对应的原始点值,将所述每个数据段的最高位作为当前位;步骤s3 :对各个数据段上当前位的原始点值进行点倍运算得到当前相邻低位所对应的原始点值并存储,第一计数值自加I ;步骤s4 :判断所述第一计数值是否超过所述预设步长的值,是则执行步骤s5,否则将所述相邻低位作为新的当前位,返回步骤s3 ; 步骤s5 :根据所述预设拆分段数及所述预设步长建立二进制数据串;步骤s6 :分别将所述二进制数据串的各数据位依次设为O或I得到当前二进制数据串;步骤s7 :分别检查当前二进制数据串中的各个数据位,将值为I的数据位在相应数据段中所对应的原始点值进行点加运算得到初始点值;并将所述初始点值和当前二进制数据串一一对应存储为初始值列表,第二计数值自加I ;步骤s8 :判断所述第二计数值是否大于所述初始点值个数,是则执行步骤s9 ;否则返回步骤s6 ;步骤s9 :根据所述预设拆分段数对待计算的数值进行分段,根据所述预设步长对每个数据段进行分组,将所述每个数据段的第一组数据作为当前数据组;步骤SlO :检测所述每个数据段的当前数据组中的数据是否均为0,是则执行步骤Si I,否则执行步骤sl2 ;步骤sll :将所述每个数据段的下一个数据组作为当前数据组,返回步骤SlO ;步骤sl2 :根据各个数据段的当前数据组的组合从所述初始值列表中获取对应初始点值作为中间点值,判断所述各个数据段的下一个数据组是否存在,是执行步骤sl3,否则将所述获取的初始点值作为结果坐标点值存储,结束;步骤sl3 :将所述中间点值进行所述预设步长次的点倍运算,用点倍运算结果更新中间点值,将所述各个数据段的下一个数据组作为新的当前数据组;步骤sl4 :检测所述每个数据段的当前数据组中的数据是否均为0,是则执行步骤sl6,否则执行步骤sl5 ;步骤sl5 :根据所有数据段的当前数据组的组合从所述初始值列表中获取对应初始点值,将所述中间点值与所述获取的对应初始点值进行点加运算,用点加运算结果更新中间点本文档来自技高网...

【技术保护点】
一种在嵌入式系统中快速生成坐标点的方法,其特征在于,包括:步骤S1:按预设拆分段数对待计算的数值进行分段,并计算每个数据段的数据位长度;?步骤S2:根据预设步长对所述每个数据段进行分组,根据基点、所述每个数据段的数据位长度和所述预设步长计算各个数据段的一组数据中每一位所对应的原始点值,将所述每个数据段的第一组数据作为当前数据组;步骤S3:检测所述每个数据段的当前数据组中的数据是否均为0,是则执行步骤S4,否则执行步骤S5;步骤S4:将所述每个数据段的下一个数据组作为当前数据组,返回步骤S3;步骤S5:检测当前数据段的当前数据组中的每一位上的值,并将值为1的位所对应的原始点值与中间点值进行点加运算,并用点加运算结果更新所述中间点值;步骤S6:判断是否处理完所有数据段的当前数据组,是则执行步骤S8,否则执行步骤S7;步骤S7:将其他未处理的数据段作为新的当前数据段,返回步骤S5;步骤S8:判断各个数据段的下一个数据组是否存在,是执行步骤S9,否则将所述中间点值作为结果坐标点值存储,结束;步骤S9:对所述中间点值进行所述预设步长次的点倍运算,并用点倍运算结果更新所述中间点值,将各个数据段的下一个数据组作为新的当前数据组;步骤S10:检测所述每个数据段的当前数据组中的数据是否均为0,是则执行步骤S8,否则返回步骤S5。...

【技术特征摘要】
1.一种在嵌入式系统中快速生成坐标点的方法,其特征在于,包括步骤Si:按预设拆分段数对待计算的数值进行分段,并计算每个数据段的数据位长度;步骤S2 :根据预设步长对所述每个数据段进行分组,根据基点、所述每个数据段的数据位长度和所述预设步长计算各个数据段的一组数据中每一位所对应的原始点值,将所述每个数据段的第一组数据作为当前数据组;步骤S3 :检测所述每个数据段的当前数据组中的数据是否均为0,是则执行步骤S4,否则执行步骤S5 ;步骤S4 :将所述每个数据段的下一个数据组作为当前数据组,返回步骤S3 ;步骤S5 :检测当前数据段的当前数据组中的每一位上的值,并将值为I的位所对应的原始点值与中间点值进行点加运算,并用点加运算结果更新所述中间点值;步骤S6 :判断是否处理完所有数据段的当前数据组,是则执行步骤S8,否则执行步骤S7 ;步骤S7 :将其他未处理的数据段作为新的当前数据段,返回步骤S5 ;步骤S8 :判断各个数据段的下一个数据组是否存在,是执行步骤S9,否则将所述中间点值作为结果坐标点值存储,结束;步骤S9 :对所述中间点值进行所述预设步长次的点倍运算,并用点倍运算结果更新所述中间点值,将各个数据段的下一个数据组作为新的当前数据组;步骤SlO :检测所述每个数据段的当前数据组中的数据是否均为0,是则执行步骤S8, 否则返回步骤S5。2.如权利要求I所述的方法,其特征在于,所述步骤SI之前包括步骤SO :判断所述待计算的数值的数据位长度是否为所述预设拆分段数与所述预设步长乘积的整数倍,是则执行步骤SI,否则在所述待计算的数值前补0,返回步骤S0。3.如权利要求2所述的方法,其特征在于,在所述步骤SO之前包括步骤al:生成或获取随机数;步骤a2 :用第一固定值对所述随机数取余,判断取余结果是否为0,是则输出错误提示信息,返回步骤al ;否则将所述随机数转化为二进制数得到所述待计算的数值。4.如权利要求1-3任意一项所述的方法,其特征在于,所述步骤S2中根据基点、所述每个数据段的数据位长度和所述预设步长计算各个数据段的一组数据中每一位所对应的原始点值,具体包括步骤S21-步骤S25为计算所有数据段的一个数据组中最高位所对应的初始点值的过程,步骤S26-步骤S28为计算每个数据段的一个数据组中除最高位的其他位所对应的初始点值的过程;步骤S21 :将拆分的每个数据段按照从低位到高位的顺序,从小到大进行编号,将所述基点作为最小编号数据段的一组数据组中最高位所对应的原始点值,将所述最小编号数据段作为当前数据段;步骤S22 :将当前数据段的一组数据组中最高位所对应的初始点值进行点倍运算,第一计数值自加I ;所述第一计数值的初始值为0,中间值的初始值为O ;步骤S23 :判断所述第一计数值是否大于所述每个数据段的数据位长度,是则执行步骤S25,否则执行步骤S24 ;步骤S24 :用点倍运算结果更新所述中间值,对所述中间值进行点倍运算,所述第一计数值自加1,返回步骤S23 ;步骤S25 :判断是否计算完成所有的数据段的一个数组中最高位所对应的原始点值, 是则执行步骤S26,否则将下一个数据段作为新的当前数据段,将点倍运算结果作为当前数据段的一个数据组中最高位所对应的初始点值,返回步骤S22 ;步骤S26:将当前数据段的一个数据组中最高位作为当前位,第二计数值的初始值为O ;步骤S27 :对当前位所对应的初始点值进行点倍运算,所述第二计数值自加1,判断所述第二计数值是否大于所述预设步长,是则执行步骤S29,否则执行步骤S28 ;步骤S28:将下一位作为新的当前位,将点倍运算结果作为新的当前位所对应的原始点值,返回步骤S27 ;步骤S29 :判断是否计算完成所有数据段的一个数据组中每一位所对应的初始点值, 是则执行步骤S3,否则将下一个数据段作为当前数据段,返回步骤S26。5.如权利要求4所述的方法,其特征在于,所述步骤S3与步骤S5之间包括步骤Al; 步骤Al :根据所有数据段的当前数据组的组合在初始值列表中检索对应的初始点值,如找到则获取对应的初始点值并将其与中间点值进行点加运算,用点加运算结果更新所述中间点值,执行步骤S8,如未找到则执行步骤S5 ;所述步骤S6和步骤S8之间包括将点加结果作为初始点值与对应的所有数据段的当前数据组的组合对应存储到所述初始值列表中;所述步骤SlO判断为否时返回步骤Al。6.如权利要求5所述的方法,其特征在于,所述步骤Al中根据所有数据段的当前数据组的组合在初始值列表中检索对应的初始点值具体为按编号从大到小的顺序将每个数据段的当前数据组进行组合得到二进制数据串,根据所述二进制数据串在所述初始值列表中检索对应的初始点值。7.如权利要求6所述的方法,其特征在于,所述根据二进制数据串在所述初始值列表中检索对应的初始点值具体为将所述二进制数据串转换为十进制数得到序号,根据所述序号在所述初始值列表中检索对应的初始点值。8.—种在嵌入式系统中快速生成坐标点的...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1