一种电表表计用于产生随机数的方法与流程

文档序号:12176345阅读:337来源:国知局

本发明涉及一种加密方法,尤其涉及一种电表表计用于产生随机数的方法。



背景技术:

通信如果采用明文传输,则有被窥探、篡改的风险,为了传输的安全,通信需要加密,而加密则牵涉到密钥的生成,而生成密钥需要随机数产生机制。现一般采用两种方法产生随机数:第一种,使用时间作为随机种子,用伪随机算法生成;第二种,使用硬件随机芯片或者包含硬件随机机制的芯片。

使用时间作为伪随机种子采用伪随机算法是非常危险的行为,攻击者的攻击可以缩小到很小的区间。采用硬件随机机制会可能产生真正意义上的随机,但如果只是用CPU的行为来产生硬件随机也一样有被攻击者缩小攻击区间的可能。而真正意义上的硬随机可能会带来硬件成本的提高。



技术实现要素:

本发明针对现有技术中的不足,提供了一种电表表计用于产生随机数的方法,在不增加硬件成本的情况下,提高通信的安全性。

为了解决上述技术问题,本发明通过下述技术方案得以解决:一种电表表计用于产生随机数的方法,包括,

步骤一,电表系统初始化,开启ADC模块进行电表数据采集,输入需要的随机数的位数为m;

步骤二,检测电压频率为f,则周期为1/f;

步骤三,输入分析采样电压的谐波次数为n次,则确定每个周波数据采样2*n个点;

步骤四,生成的每连续2*n个数据为一个周波数据的采样,然后通过傅立叶变换方式进行电压有效值、电流有效值、有功功率、无功功率、谐波等计算;

步骤五,每一个周波的2*n个数据,加在一起,取最后一位,为随机数,此时生成一位随机数;

步骤六,重复进行m次步骤五,一共产生m位随机数;

步骤七,完成m位随机数的获取,停止工作,电表继续进行电表数据采集,重复步骤二至步骤四。

本发明在不添加额外的硬件和不提升成本的情况下,采用ADC采样数据来实现硬随机,提高安全性,采用本发明中的技术方案,攻击者无法找到合理的缩小攻击区间,因此本发明具有极高的安全性。

附图说明

图1是本发明步骤示意图。

具体实施方式

下面结合附图与具体实施方式对本发明作进一步详细描述:如附图1所示,一种电表表计用于产生随机数的方法,包括,

步骤一,电表系统初始化,开启ADC模块进行电表数据采集,输入需要的随机数的位数为m;

步骤二,检测电压频率为f,则周期为1/f;

步骤三,输入分析采样电压的谐波次数为n次,则确定每个周波数据采样2*n个点,那么ADC按照采样率为2*n*f(采样间隔为1/(2*n*f))等间隔采样下去;

步骤四,生成的每连续2*n个数据为一个周波数据的采样,然后通过傅立叶变换方式进行电压有效值、电流有效值、有功功率、无功功率、谐波等计算;

步骤五,每一个周波的2*n个数据,加在一起,取最后一位,为随机数,此时生成一位随机数;

步骤六,重复进行m次步骤五,一共产生m位随机数;

步骤七,完成m位随机数的获取,停止工作,电表继续进行电表数据采集,重复步骤二至步骤四。

本装置利用电表ADC模块采集数据,累加整数个周期(一般取1个周期)的采集数据,取累加值的最后一位,为硬随机产生数据,每次可以产生1位的随机数,如要m位的随机数,则进行采集m个周期。

利用电表的ADC采样模块采集数据,累加整数个周期(一般取1个周期)的采集数据,取累加值的最后一位,为硬随机产生数据。如此,每次可以产生1位随机数据。

使用此方法产生随机数据,在工频50Hz并采用1个周期累计的情况下,一秒可以产生50位的随机数据。实验结果下,该方法产生0、1平均分布的数据,分布良好,符合安全的要求。

可以采用非整数周期进行采集,也能够产生随机数据,但是相对于整数周期,随即效果会降低,安全性相对于整数周期较低。

本发明的关键点和保护点为利用ADC采样整数个周波的电压数据,累和取最后一位产生一个位的随机数。从而在不增加硬件成本的情况下,基于ADC采样的电表可以有一种安全的生成随机数的方法。

本发明的保护范围包括但不限于以上实施方式,本发明的保护范围以权利要求书为准,任何对本技术做出的本领域的技术人员容易想到的替换、变形、改进均落入本发明的保护范围。

本发明在不添加额外的硬件和不提升成本的情况下,采用ADC采样数据来实现硬随机,提高安全性,采用本发明中的技术方案,攻击者无法找到合理的缩小攻击区间,因此本发明具有极高的安全性。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1