本發(fā)明涉及一種加密方法,尤其涉及一種電表表計用于產(chǎn)生隨機數(shù)的方法。
背景技術(shù):
通信如果采用明文傳輸,則有被窺探、篡改的風險,為了傳輸?shù)陌踩ㄐ判枰用?,而加密則牽涉到密鑰的生成,而生成密鑰需要隨機數(shù)產(chǎn)生機制?,F(xiàn)一般采用兩種方法產(chǎn)生隨機數(shù):第一種,使用時間作為隨機種子,用偽隨機算法生成;第二種,使用硬件隨機芯片或者包含硬件隨機機制的芯片。
使用時間作為偽隨機種子采用偽隨機算法是非常危險的行為,攻擊者的攻擊可以縮小到很小的區(qū)間。采用硬件隨機機制會可能產(chǎn)生真正意義上的隨機,但如果只是用CPU的行為來產(chǎn)生硬件隨機也一樣有被攻擊者縮小攻擊區(qū)間的可能。而真正意義上的硬隨機可能會帶來硬件成本的提高。
技術(shù)實現(xiàn)要素:
本發(fā)明針對現(xiàn)有技術(shù)中的不足,提供了一種電表表計用于產(chǎn)生隨機數(shù)的方法,在不增加硬件成本的情況下,提高通信的安全性。
為了解決上述技術(shù)問題,本發(fā)明通過下述技術(shù)方案得以解決:一種電表表計用于產(chǎn)生隨機數(shù)的方法,包括,
步驟一,電表系統(tǒng)初始化,開啟ADC模塊進行電表數(shù)據(jù)采集,輸入需要的隨機數(shù)的位數(shù)為m;
步驟二,檢測電壓頻率為f,則周期為1/f;
步驟三,輸入分析采樣電壓的諧波次數(shù)為n次,則確定每個周波數(shù)據(jù)采樣2*n個點;
步驟四,生成的每連續(xù)2*n個數(shù)據(jù)為一個周波數(shù)據(jù)的采樣,然后通過傅立葉變換方式進行電壓有效值、電流有效值、有功功率、無功功率、諧波等計算;
步驟五,每一個周波的2*n個數(shù)據(jù),加在一起,取最后一位,為隨機數(shù),此時生成一位隨機數(shù);
步驟六,重復進行m次步驟五,一共產(chǎn)生m位隨機數(shù);
步驟七,完成m位隨機數(shù)的獲取,停止工作,電表繼續(xù)進行電表數(shù)據(jù)采集,重復步驟二至步驟四。
本發(fā)明在不添加額外的硬件和不提升成本的情況下,采用ADC采樣數(shù)據(jù)來實現(xiàn)硬隨機,提高安全性,采用本發(fā)明中的技術(shù)方案,攻擊者無法找到合理的縮小攻擊區(qū)間,因此本發(fā)明具有極高的安全性。
附圖說明
圖1是本發(fā)明步驟示意圖。
具體實施方式
下面結(jié)合附圖與具體實施方式對本發(fā)明作進一步詳細描述:如附圖1所示,一種電表表計用于產(chǎn)生隨機數(shù)的方法,包括,
步驟一,電表系統(tǒng)初始化,開啟ADC模塊進行電表數(shù)據(jù)采集,輸入需要的隨機數(shù)的位數(shù)為m;
步驟二,檢測電壓頻率為f,則周期為1/f;
步驟三,輸入分析采樣電壓的諧波次數(shù)為n次,則確定每個周波數(shù)據(jù)采樣2*n個點,那么ADC按照采樣率為2*n*f(采樣間隔為1/(2*n*f))等間隔采樣下去;
步驟四,生成的每連續(xù)2*n個數(shù)據(jù)為一個周波數(shù)據(jù)的采樣,然后通過傅立葉變換方式進行電壓有效值、電流有效值、有功功率、無功功率、諧波等計算;
步驟五,每一個周波的2*n個數(shù)據(jù),加在一起,取最后一位,為隨機數(shù),此時生成一位隨機數(shù);
步驟六,重復進行m次步驟五,一共產(chǎn)生m位隨機數(shù);
步驟七,完成m位隨機數(shù)的獲取,停止工作,電表繼續(xù)進行電表數(shù)據(jù)采集,重復步驟二至步驟四。
本裝置利用電表ADC模塊采集數(shù)據(jù),累加整數(shù)個周期(一般取1個周期)的采集數(shù)據(jù),取累加值的最后一位,為硬隨機產(chǎn)生數(shù)據(jù),每次可以產(chǎn)生1位的隨機數(shù),如要m位的隨機數(shù),則進行采集m個周期。
利用電表的ADC采樣模塊采集數(shù)據(jù),累加整數(shù)個周期(一般取1個周期)的采集數(shù)據(jù),取累加值的最后一位,為硬隨機產(chǎn)生數(shù)據(jù)。如此,每次可以產(chǎn)生1位隨機數(shù)據(jù)。
使用此方法產(chǎn)生隨機數(shù)據(jù),在工頻50Hz并采用1個周期累計的情況下,一秒可以產(chǎn)生50位的隨機數(shù)據(jù)。實驗結(jié)果下,該方法產(chǎn)生0、1平均分布的數(shù)據(jù),分布良好,符合安全的要求。
可以采用非整數(shù)周期進行采集,也能夠產(chǎn)生隨機數(shù)據(jù),但是相對于整數(shù)周期,隨即效果會降低,安全性相對于整數(shù)周期較低。
本發(fā)明的關鍵點和保護點為利用ADC采樣整數(shù)個周波的電壓數(shù)據(jù),累和取最后一位產(chǎn)生一個位的隨機數(shù)。從而在不增加硬件成本的情況下,基于ADC采樣的電表可以有一種安全的生成隨機數(shù)的方法。
本發(fā)明的保護范圍包括但不限于以上實施方式,本發(fā)明的保護范圍以權(quán)利要求書為準,任何對本技術(shù)做出的本領域的技術(shù)人員容易想到的替換、變形、改進均落入本發(fā)明的保護范圍。
本發(fā)明在不添加額外的硬件和不提升成本的情況下,采用ADC采樣數(shù)據(jù)來實現(xiàn)硬隨機,提高安全性,采用本發(fā)明中的技術(shù)方案,攻擊者無法找到合理的縮小攻擊區(qū)間,因此本發(fā)明具有極高的安全性。