密碼編碼學與網絡安全第七版習題8.2


這道題是密碼學的作業,開始不會寫,答案只有結果而沒有過程,后來查了一些資料才算是搞明白了。

題目如下:

(a) 下述的偽隨機數發生器可獲得的最大周期是多少?

\[X_{n+1}=(aX_n)\mod{2^4} \]

(b) 這時 a 為多少?

(c) 對種子有什么要求?

解答如下:

(a)

首先引入這樣一個結論:對任意的奇數\(a\)與正整數\(n\),有:\(a^{2^n}≡1\pmod{2^{n+2}}\)。用歸納法證明這個結論:

  1. \(n=1\)時,存在整數\(b\)\(c\),使得

    \[a^{2^n}=(2b+1)^2=4b(b+1)+1=2^3c+1≡1\pmod{2^3} \]

  2. 假設當\(n=k\)時,命題成立,即

    \[a^{2^k}≡1\pmod{2^{k+2}} \]

    則存在整數\(c\),使得

    \[a^{2^k}=2^{k+2}c+1 \]

    \(n=k+1\)時,存在整數\(k\)\(b\),使得

    \[a^{2^{k+1}}=(2^{k+2}c+1)^2=2^{2k+4}c^2+2·2^{k+2}c+1=2^{k+3}c(2^{k+1}c+1)+1≡1\pmod{2^{k+3}} \]

    即當\(n=k+1\)時,命題成立。

由1,2可得,該命題成立。

\(a\)\(2^4\)不互素,即\(a\)為偶數,令\(a=2k\),則

\[a^4=16k^4≡0\pmod{2^4} \]

從而

\[0=X_{n+4}≡a^4X_n\pmod{2^4} \]

產生的第四個數之后全為0,所以\(a\)\(2^4\)互素。

又因為

\[a^{2^n}≡1\pmod{2^{n+2}} \]

所以

\[a^{2^{4-2}}=a^4≡1\pmod{2^4} \]

從而

\[a^4X_n≡X_n\pmod{2^4} \]

\[X_{n+4}=X_n \]

所以最大周期為4。

(b)

由(a)可知,\(a\)為奇數。

經計算,\(a=7,9,15\)時,周期為2。

\(a=3,5,11,13\)時,周期為4。

(c)

種子必須為奇數,否則周期會不大於2。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM