公鑰密碼學 可證安全

2021-09-29 21:40:20 字數 1062 閱讀 4857

引言:可證安全即用數值去衡量證明這個東西的安全性。當你把乙個東西鎖進保險箱裡,你要怎麼去證明你的保險箱是安全的呢?只有你有鑰匙這個保險箱就是安全的嗎?如果我拿原子彈去轟炸,是不是就能開啟保險箱?通俗來講,如果你能證明有一堵牆,原子彈也沒辦法炸毀它,那麼你在這堵牆後面做任何事情,都是安全的,這個安全性也可以被證明——連原子彈都無法炸毀的安全性。

——區分兩個分布

1、假如有一枚「正常」的硬幣,無論怎麼扔都是正面朝上。同時有一枚「異常」的硬幣,無論怎麼扔都是反面朝上。假設丟擲正面b為1,丟擲反面b為0.那麼如何判斷d(x)演算法的優勢呢?

這個答案很簡單

用d來判斷正確的概率pr(b'=b)

b=1時,x1=1,d(x1)輸出1.

b=0時,x2=0,d(x2)輸出0;

那麼這個演算法的正確率為1,pr(b'=b)=1。

d的優勢(advantage):

adv(d) = |pr(b=b')-1/2|

如果這個演算法總是猜對或者猜錯,優勢都是1/2。

如果這個演算法完全隨機,那麼概率就是1/2,adv(d)=0

為什麼要減去1/2?一般而言,瞎猜也有一半的機率是對的,所以要減去1/2。

為什麼猜錯優勢也是1/2呢?打個比方,如果有個人買大小,他總是能買到錯的那乙個,那麼你只要跟著他反著買,你就能贏。這是一種反向思維。

2、假如有一枚「正常」的硬幣,出現正面反面的概率都是1/2,異常的硬幣反面是2/3,正面是1/3。假設丟擲正面b為1,丟擲反面b為0.那麼如何判斷d(x)演算法的優勢呢?

仍然是求pr(b』=b)的概率,進而求出adv(d)

d1d2

d3d4x10

101x2

0110

adv(d)00

|-1/12|

1/12

雖然d3和d4的adv(d)值一樣,但是我們根據直覺會認為d4更好(不用反著選)

上面的兩個分布通過計算優勢來證明它的安全性,優勢越接近1/2,這個演算法越安全。

加密演算法而言,這個結果越難被計算機計算出來,那麼它就越安全,具體的衡量指標為位元計算。

困了……看這個文章吧……

公鑰密碼學

相比1976年以前的密碼學思想,公鑰密碼學可以在不直接傳遞金鑰的情況下,完成密文的解密。這個演算法機制啟發了其他科學家,人們認識到,加密和解密可以使用不同的規則,只要這兩種規則之間存在某種對應關係即可,這樣就避免了直接傳遞金鑰。基於這種公鑰機制的思想,開始出現了一系列非對稱加密演算法。下圖比較說明了...

公鑰與私鑰,公鑰密碼學

數字簽名是什麼?翻譯 阮一峰 原文 1.鮑勃有兩把鑰匙,一把是公鑰,另一把是私鑰。2.鮑勃把公鑰送給他的朋友們 帕蒂 道格 蘇珊 每人一把。3.蘇珊要給鮑勃寫一封保密的信。她寫完後用鮑勃的公鑰加密,就可以達到保密的效果。4.鮑勃收信後,用私鑰解密,就看到了信件內容。這裡要強調的是,只要鮑勃的私鑰不洩...

密碼學07 公鑰密碼體制

基本概念和原理 存在乙個金鑰管理中心kmc,其中有乙個公鑰資料庫pkdb,這裡存放使用者的公鑰,許可權為共享,即任何人都能查到別人的公鑰。無論是傳送方a還是接收方b,都有乙個個人公鑰pk和乙個個人私鑰sk,公鑰用於加密,私鑰用於解密。對稱密碼體制的加密和解密演算法都是公開的。數字簽名最常見的實現方法...