隨機數在密碼學中的作用(一)隨機數分類介紹

2021-10-07 10:51:34 字數 888 閱讀 3095

一提到密碼學,多數人先想到加密演算法還有金鑰這兩個概念。因為演算法不同,決定了安全強度不同,而金鑰更是安全的核心關鍵。但除此之外,還有乙個因素對密碼學至關重要——隨機數。本系列文章對隨機數的分類和應用做介紹和**,本文先對隨機數分類進行介紹。

隨機數分為偽隨機數和真隨機數。偽隨機數又分為弱偽隨機數和強偽隨機數。

弱偽隨機數

特點是通過純軟體演算法,按照一定的規律生成乙個隨機值。但從名稱即可看出,該類隨機數的特點是只具備一定的隨機性,並不能做到不可**性,即並不是乙個真正的隨機數。例如通過mcu的時間作為種子去生成乙個隨機數,因為時間是不停變化的變數,所以生成的隨機數也不停變化。但時間的變化終究有規律可循。

強偽隨機數

顧名思義,該類隨機數具有更強的隨機數特性,能夠滿足隨機性和不可推測特性。例如通過獲取敲擊鍵盤的資料作為隨機數種子進而生成一組強偽隨機數,因為擊打鍵盤存在不確定性,所以生成的隨機數也更接近與真正的隨機數。

真隨機數

同時具備隨機性、不可推測和不可重複這3個基本特點。任何人無法通過軟體演算法或其他方法得知下乙個隨機數(或者隨機數下一位)是什麼。真隨機數的生成是基於物理現象完成的,例如擲骰子、拋硬幣等等。對於嵌入式行業來講,真隨機數是需要借助硬體隨機數發生器來產生的。

隨機數發生器

可分為真隨機數發生器、偽隨機數發生器。向下又可細分為硬體真隨機數發生器、硬體偽隨機數發生器等。這其中只有硬體真隨機數發生器對於嵌入式系統應用才是真正安全有效的。

加密晶元屬於電子元器件,其執行過程中會產生高斯白雜訊,以其作為資訊熵資源,產生真隨機數。lkt加密晶元符合國際fips-140-2隨機數測試標準。具有高效、資源占用少,生成隨機數可靠等優點,可供使用者放心使用。

隨機數在密碼學中的用途主要有:生成nonce、生成salt、生成初始化向量、生成金鑰(對稱金鑰或非對稱金鑰),詳細用法將在下期展開介紹。

隨機數 簡學 隨機數問題

隨機是概率論用語,指事前不可預言的,即在相同條件下重複進行試驗,每次結果未必相同,或知道事物過去的狀況,但未來的發展卻不能完全肯定,隨機也有 真隨機 與 偽隨機 真隨機 比如量子力學,因為乙個放射性物質原子下一分鐘是否發生衰變是真正隨機的,不可預言的 偽隨機 由經過系統的不同的因素造成,或是由於忽略...

密碼學原理 偽隨機數的產生

大量的基於密碼學的網路安全演算法和協議都使用二進位制隨機數 對隨機數序列產生提出的兩個要求 隨機性和不可 性。tpng為真隨機數發生器,prng為偽隨機數發生器,prf為偽隨機函式。真隨機數發生器把乙個很隨機的源作為輸入,這個源稱為熵源,熵源是從計算機的物理環境抽取的,可能包括鍵盤敲擊時間模式,磁碟...

系列文章 隨機數在密碼學中的作用(四)應用介紹4

系列文章 隨機數在密碼學中的作用 四 應用介紹4 本期介紹隨機數在密碼學中生成金鑰的用法。在對稱加密演算法體系中,一次有效金鑰有著重要應用,有些應用中也稱其動態隨機金鑰。即通訊雙方每次互動前先約定乙個新的金鑰,然後再用該金鑰進行通道加密等處理。眾所周知,對於對稱加密演算法來說,金鑰的安全至關重要,一...