首先,根據f具有性質II,Alice無法找到不同的兩個數x和y,其中一個是奇數而另一個是偶數,使其滿足f(x)=f(y)。因此,Alice一旦通過電話告訴Bob f(x)的值,她也就向Bob就x的值做出了承諾,她無法再改變x的值,也即Alice已經完成了其擲硬幣過程。其次,由於f具有性質I,已知f(x),Bob不能判定出Alice所使用的x是奇數還是偶數,因而他不得不把自己的猜測(步驟2))真實的給出。之後Alice可給出x的值令Bob相信其猜測是否正確。事實上,如果Bob利用Alice告訴的x對f(x)進行計算的結果與Alice在第1步給出的結果一樣,且Bob相信f所具有的性質,則Bob應該相信最終的輸贏。
2.2同餘式的基本概念和性質教學案例
T:由生活中的同餘現象引入同餘式的概念,如:5月2日是周六,5月份還有哪幾天是周六?
S:(共同回答)5月9日,5月16日,5月23日,5月30日。
T:這些日期之間有什麼聯係呢?請×××同學回答。
S:9,16,23和30被7除了之後餘數都是2。
T:很正確。我們也可以說9,16,23和30是關於模數7同餘的,今天我們就來研究同餘式的基本概念和性質。
T:(幻燈片)介紹同餘式的基本概念和相關性質。
然後給出同餘式在古典密碼中的簡單應用以加深學員對同餘概念及性質的印象。
凱撒密碼是古羅馬的凱撒大帝使用過的一種密碼。凱撒大帝在作戰中為了防止下達給部屬的命令在傳送過程中被敵人截獲,使用了一種加密手段:把明文字母循環右移3位後得到的密文字母。即明文字母和密文字母的對應關係如下:
A→D,B→E,C→F,D→G,E→H,F→I,G→J,H→K,I→L,J→M,K→N,L→O,M→P,N→Q,O→R,P→S,Q→T,R→U,S→V,T→W,U→X,V→Y,W→Z,X→A,Y→B,Z→C,
T:在學習了同餘式的概念之後,能否用公式表達出凱撒密碼的加解密算法?(提示用M表示明文字母,C表示密文字母,並分別用0~25代表A~Z)
S:部分同學將加密公式寫為:C=M+3;解密公式寫為:M=C-3。
T:指出上述加解密公式的錯誤,給出正確寫法:
加密算法可表示為C≡ M+3(mod26),解密算法可表示為M≡ C-3(mod26)。
T:給出另外一個實例——仿射密碼(幻燈片):
Alice與Bob進行保密通信,他們認為凱撒密碼過於簡單,容易被敵手破獲,就采用了以下的加密手段:將每個字母對應的數字乘以k再加上b作為密文字母對應的數字。用公式表達加密算法為:
C≡ kM+b(mod26),(k,26)=1。
向學生提問為什麼k必須取與26互素的整數?Bob收到密信後怎麼解密?
S:這是因為隻有(k,26)=1時,才存在k-1,滿足k•;k-1≡ 1(mod26),這樣才能對C進行解密,即解密公式為
M≡ k-1C-k-1b(mod26)。
T:請學生練習k=7,b=6時,仿射密碼的加密公式和解密公式的寫法。
2.3歐拉函數和歐拉定理教學案例
T:Bob想通過一種比較安全的手段向Alice傳送一份高密級的文件M,他們決定采取目前最流行的公鑰密碼算法RSA[3]。
首先,Alice執行以下步驟產生自己的公私鑰對,如圖1所示。
圖1產生公開鑰e和私鑰d的過程
Bob要發給A的文件為M=(m0,m1,…,ml),mi=0或1。利用二進製,可將M表成一個整數m=m0+2m1+…+2lml。這裏假設m<;n,且m與n互素(m與n不互素的情況,出現的可能性極小)。然後Bob和Alice按照下麵的幻燈片所示進行通信,如圖2所示。
<;br>; T:大家能否說明解密公式的正確性?
S:進行思考並展開討論。
T:給出解密公式正確性的證明:
由歐拉定理可知,若(m,n)=1,有
mφ(n)≡ 1(modn),
cd≡ med≡ m1-xφ(n)≡ m•;(mφ(n))-x≡ m(modn)。
所以利用解密公式Alice是可以正確恢複出明文m的。
進一步提問,Alice和Bob所采用的這種加密方式安全嗎?提示:假設黑客截取了密文c,他必須要
圖2加密解密過程