[發明專利]一種隨機比特生成方法、裝置及電子設備和存儲介質在審
| 申請號: | 201911076456.5 | 申請日: | 2019-11-06 |
| 公開(公告)號: | CN110851112A | 公開(公告)日: | 2020-02-28 |
| 發明(設計)人: | 張文科 | 申請(專利權)人: | 成都衛士通信息產業股份有限公司 |
| 主分類號: | G06F7/58 | 分類號: | G06F7/58;H04L9/06 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 史翠 |
| 地址: | 610041 四*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 隨機 比特 生成 方法 裝置 電子設備 存儲 介質 | ||
1.一種隨機比特生成方法,其特征在于,包括:
獲取輸入熵和請求比特長度;
利用第一函數和第二函數創建所述輸入熵對應的種子和隨機數狀態;其中,所述第一函數為基于SM4的導出函數,所述第二函數為基于SM4的狀態更新函數;
根據所述請求比特長度和當前的隨機數狀態利用所述第一函數、所述第二函數和SM4算法生成隨機比特。
2.根據權利要求1所述隨機比特生成方法,其特征在于,所述利用第一函數和第二函數創建所述輸入熵對應的種子和隨機數狀態,包括:
確定種子長度,并根據所述輸入熵和個性化信息利用所述第一函數創建所述種子長度的種子;
初始化隨機數狀態Key和V中的比特位均為0,并根據初始化的Key、V和所述種子利用所述第二函數創建隨機數狀態。
3.根據權利要求1所述隨機比特生成方法,其特征在于,所述根據所述請求比特長度和當前的隨機數狀態利用所述第一函數、所述第二函數和SM4算法生成隨機比特之前,還包括:
利用所述第一函數和所述第二函數重置所述種子和更新所述隨機數狀態。
4.根據權利要求3所述隨機比特生成方法,其特征在于,所述利用所述第一函數和所述第二函數重置所述種子和更新所述隨機數狀態,包括:
根據所述輸入熵和附加信息利用所述第一函數重置所述種子,得到重置后的種子;
根據當前的Key、V和所述重置后的種子利用所述第二函數更新所述隨機數狀態。
5.根據權利要求1所述隨機比特生成方法,其特征在于,所述根據所述請求比特長度和當前的隨機數狀態利用所述第一函數、所述第二函數和SM4算法生成隨機比特之后,還包括:
清除所述隨機數狀態。
6.根據權利要求1所述隨機比特生成方法,其特征在于,所述SM4算法具體為SM4算法的ECB模式。
7.根據權利要求2至6中任一項所述隨機比特生成方法,其特征在于,所述根據所述請求比特長度和當前的隨機數狀態利用所述第一函數、所述第二函數和SM4算法生成隨機比特,包括:
S1:將目標標志位、第一計數器置0、第二計數器置1;
S2:若所述目標標志位為1或所述第一計數器為0,則根據所述輸入熵和附加信息利用所述第一函數和所述第二函數重置所述種子和更新當前的隨機數狀態,并將所述附加信息置為空串,將所述目標標志位置為0,將所述第一計數器加1;
S3:判斷所述第二計數器是否大于閾值;若是,則進入S11,若否,則進入S4;
S4:判斷所述附加信息是否為空串;若是,則進入S5;若否,則進入S6;
S5:將所述附加信息置為長度為所述種子長度、所有比特位均為0的字符串;
S6:根據所述種子長度利用所述SM4算法更新所述附加信息,并利用所述第二函數更新當前的隨機數狀態;
S7:初始化臨時字符串為空串;
S8:判斷所述臨時字符串的長度是否小于所述請求比特長度,若是,則進入S9,若否,則進入S10;
S9:利用預設公式更新V,根據當前的隨機數狀態利用所述SM4算法計算中間字符串,將所述臨時字符串更新為所述中間字符串與所述臨時字符串的或操作結果,并重新進入S8;
其中,所述預設公式具體為:
V=(V+1)mod 2ctr_len;其中,ctr_len為預設值;
S10:將所述臨時字符串的前N位作為所述隨機比特,根據所述附加信息利用所述第二函數更新當前的隨機數狀態,并將所述第二計數器加1,將所述目標標志位置為1,重新進入S2;其中,N為所述請求比特長度;
S11:返回所述隨機比特。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于成都衛士通信息產業股份有限公司,未經成都衛士通信息產業股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911076456.5/1.html,轉載請聲明來源鉆瓜專利網。





