雙方使用同一規則加密---------金鑰(對稱加密演算法
des)data encryption standard
雙方一起制定--------辦法:金鑰交換演算法,不用直接傳遞金鑰
------------------
私鑰(非對稱加密演算法
rsa)
三位數學家rivest、
shamir
和 adleman
除了1以外,沒有其他公因子
比如,15和
32沒有公因子:
任意兩個質數構成互質關係,比如13和61。
乙個數是質數,另乙個數只要不是前者的倍數,兩者就構成互質關係,比如3和10。
如果兩個數之中,較大的那個數是質數,則兩者構成互質關係,比如97和57。
1和任意乙個自然數是都是互質關係,比如1和
99。p是大於
1的整數,則p和
p-1構成互質關係,比如57和
56。6. p是大於
1的奇數,則p和
p-2構成互質關係,比如17和
15。任意正整數n,請問在
<= n 的正整數之中,有多少個與n構成互質關係?-----尤拉函式
φ(n) = n * (1 - 1/p1)*(1 - 1/p2)*(1 - 1/p3)*(1 - 1/p4)
φ(1323) = φ(3^3 * 7^2) = 1323 * (
1 - 1/3
)(1 - 1/7
)----- a和b互質
------- a^φ(b) = 1 (mod b) -----》 a的(
b的尤拉函式)
次方減一 :等於
:能整除b3和
7互質,而
7的尤拉函式
φ(7)等於6
,所以3的6
次方(729
)減去1
,可以被
7整除(
728/7=104
)如果兩個正整數a和
n互質,那麼一定可以找到整數
b,使得
ab-1 被n
整除,或者說ab被
n除的餘數是
1-------ab==1(mod n)
-------a*a^(φ(b) - 1) = 1 (mod b)
公鑰和私鑰
第一步,隨機選擇兩個不相等的質數p和
q-----------------61和
53第二步,計算p和
q的乘積
n------------------------------3233寫成二進位制是
110010100001
,一共有
12位,所以這個金鑰就是
12位實際應用中,
rsa金鑰一般是
1024
位,重要場合則為
2048
位n = p×q
第三步,計算n的尤拉函式
φ(n)-----------------φ(3233)等於
60×52
,即3120
φ(n) = (p-1)(q-1)
第四步,隨機選擇乙個整數e,條件是
1------------在1到
3120
之間,隨機選擇了
17,實際應用中,常常選擇65537
e ≡ range(1 , φ(n))
第五步,計算e對於
φ(n)
的模反元素
ded ≡ 1 (mod φ(n))------------------17x + 3120y = 1(二元一次方程
)第六步,將n和
e封裝成公鑰,n和
d封裝成私鑰
其中乙個解 (x,y)=(2753,-15),即
d=2753
n=3233,
e=17
,d=2753
,所以公鑰就是
(3233,17)
,私鑰就是(
3233, 2753
)質積,隨機,模反元素,
公鑰(質積,隨機
),私鑰
(質積,模反元素)
(1)ed≡1 (mod φ(n))
。只有知道e和
φ(n)
,才能算出d。
(2)φ(n)=(p-1)(q-1)
。只有知道p和
q,才能算出
φ(n)
。(3)
n=pq
。只有將
n因數分解,才能算出p和
q。---------n根號
233478071698956898786044169
84821269081770479498371376
85689124313889828837938780
02287614711652531743087737
814467999489
×36746043666799590428244633
79962795263227915816434308
76426760322838157396665112
79233373417143396810270092
798736308917
1 加密要用公鑰 (n,e)
資訊m必須是整數(字串可以取
ascii
值或unicode值),
且m必須小於
nme ≡ c (mod n)
愛麗絲的公鑰是 (3233, 17),鮑勃的
m假設是
6565 * 17 ≡ 2790 (mod 3233)
鮑勃就把2790發給了愛麗絲
2 解密要用私鑰(n,d)
用自己的私鑰(3233, 2753) 進行解密
cd ≡ m (mod n)
2790 * 2753 ≡ 65 (mod 3233)
如果要加密大於n的整數,該怎麼辦?有兩種解決方法:一種是把長資訊分割成若干段短訊息,每段分別加密;另一種是先選擇一種
"對稱性加密演算法
"(比如
des),用這種演算法的金鑰加密資訊,再用rsa公鑰加密
des金鑰。
最後,我們來證明,為什麼用私鑰解密,一定可以正確地得到m。也就是證明下面這個式子:
cd ≡ m (mod n)
因為,根據加密規則
me ≡ c (mod n)
於是,c可以寫成下面的形式:
c = me - kn
將c代入要我們要證明的那個解密規則:
(me - kn)d ≡ m (mod n)
它等同於求證
med ≡ m (mod n)
由於ed ≡ 1 (mod φ(n))
所以ed = hφ(n)+1
將ed代入:
mhφ(n)+1 ≡ m (mod n)
接下來,分成兩種情況證明上面這個式子。
(1)m與n
互質。根據尤拉定理,此時
mφ(n) ≡ 1 (mod n)
得到(mφ(n))h × m ≡ m (mod n)
原式得到證明。
(2)m與n
不是互質關係。
此時,由於n等於質數p和
q的乘積,所以
m必然等於kp或
kq。以 m = kp為例,考慮到這時k與
q必然互質,則根據尤拉定理,下面的式子成立:
(kp)q-1 ≡ 1 (mod q)
進一步得到
[(kp)q-1]h(p-1) × kp ≡ kp (mod q)
即(kp)ed ≡ kp (mod q)
將它改寫成下面的等式
(kp)ed = tq + kp
這時t必然能被
p整除,即
t=t'p
(kp)ed = t'pq + kp
因為 m=kp,
n=pq
,所以med ≡ m (mod n)
原式得到證明。
結果:加密:資訊*隨機
= 加密資訊
*尤拉函式
解密:加密資訊*模反
= 資訊
*尤拉函式
核心:隨機*模反
= 1*
尤拉函式
應用:1 分段加密
2 用des
加密資訊,用
rsa加密
des金鑰
基本公鑰加密
基本公鑰加密 基本的公鑰加密步驟是由 whitfield diffie 及 martin hellman 於 1976 提出的。數學觀念 質數 是只能被 1 以及自己整除的正整數 除了之後餘數為 0 前 8 個質數是 1 2 3 5 7 11 13 17 任何非質數的正整數都可以化為兩個以上質數的乘...
私鑰,公鑰,加密
在密碼學中,金鑰 key,又常稱金鑰 是指某個用來完成加密 解密 完整性驗證等密碼學應用的秘密資訊。在對稱密碼學中,加密和解密用的是同乙個鑰匙,因此鑰匙需要保密。而在非對稱密碼學中,加密和解密用的鑰匙不同 通常乙個是公開的,稱為公鑰 另乙個保密,稱為私鑰。這類演算法在加密和解密時使用相同的金鑰,或是...
公鑰的加密
對於加密,必須區分對稱加密和公鑰 私鑰加密。在對稱加密時,可以使用同乙個金鑰進行加密和解密。但公鑰 私鑰不是這樣的。如果使用乙個公鑰進行加密,就應使用相應的私鑰進行解密,而不是公鑰進行解密。同樣,如果使用乙個私鑰進行加密,就應使用對應的公鑰進行解密,而是不私鑰進行解密。公鑰 私鑰總是成對的建立的。公...