圖解密碼技術筆記(二)

公鑰密碼的缺點:

1.處理速度遠遠低於對稱密碼

2.難以抵禦中間人攻擊

混合密碼系統-用對稱密碼提高速度,用公鑰密碼保護會話密鑰

角色:小A和小B

1.小A和小B先進行一次公鑰密碼流程,這個時候小B擁有小A的公鑰

2.小B生成對稱加密密鑰D

3.小B將要發送的消息使用密鑰D加密

4.小B使用小A的公鑰對密鑰D加密,將加密後的密鑰D和消息一起發送

密碼技術的組合

數字簽名:有單向散列函數和公鑰密碼組合而成

證書:是有公鑰和數字簽名組合而成的

 

生日攻擊(birthday attack):找到散列值相同的兩條消息

生日攻擊推理:

N個人,如果要至少有兩個人生日一樣的概率大於二分之一,N至少是多少?(排除2.29)

第一個人的生日可以是365-1+1=365天任意一天,第二個人的生日是365-2+1=364,可得第N個人365-N+1

所有人可選的生日數量相乘可以得到不一樣的組合的數量,即:

公式S =  365*364*......*(365-N+1) 

所有情況的數量爲:

365*365*.....*365  即:365^N

因此:概率爲1-S/(365^n),N=23時,約等於0.507297,這就大於二分之一了,這證明了任意兩個生日相同的概率比我們想象中的要打多了,這個現象稱爲生日悖論

假設一年有Y天,N人集合中至少有兩個人生日一樣的概率大於二分之一是,N至少的多少?

結論:N 約等於  Y的平方根  (當Y足夠大時)

操作:

1.生成N個 內容是 "給你100萬"的文件

2.生成N個內容是  "給你1個億"的文件

當然,上述生成的內容是肉眼可見的內容,實際上每個文件的哈希值是不一樣的,比如加一個空格等等操作,都能改變文件的哈希值

現在假設單項散列函數的長度爲M比特,M比特所產生的所有散列個數爲2^m個,根據上述結論,可得:

N 約等於 2^m的平方根,即   2^(m/2)

當N = 2^(m/2)的時候,生日攻擊就會有二分之一的概率可以成功

如果M = 160, 能容易計算出N = 280次,可見,生日攻擊所需要的次數很少

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章