密碼學筆記

阮一峰發表於2006-12-10

1.

密方法可以分為兩大類。一類是單鑰加密(private key cryptography),還有一類叫做雙鑰加密(public key cryptography)。前者的加密和解密過程都用同一套密碼,後者的加密和解密過程用的是兩套密碼。

歷史上,人類傳統的加密方法都是前一種,比如二戰期間德軍用的Enigma電報密碼。莫爾斯電碼也可以看作是一種私鑰加密方法。

2.

在單鑰加密的情況下,金鑰只有一把,所以金鑰的儲存變得很重要。一旦金鑰洩漏,密碼也就被破解。

3.

在雙鑰加密的情況下,金鑰有兩把,一把是公開的公鑰,還有一把是不公開的私鑰。

雙鑰加密的原理如下:

a) 公鑰和私鑰是一一對應的關係,有一把公鑰就必然有一把與之對應的、獨一無二的私鑰,反之亦成立。

b) 所有的(公鑰, 私鑰)對都是不同的。

c) 用公鑰可以解開私鑰加密的資訊,反之亦成立。

d) 同時生成公鑰和私鑰應該相對比較容易,但是從公鑰推算出私鑰,應該是很困難或者是不可能的。

4.

目前,通用的單鑰加密演算法為DES(Data Encryption Standard),通用的雙鑰加密演算法為RSA( Rivest-Shamir-Adleman),都產生於上個世紀70年代。

5.

在雙鑰體系中,公鑰用來加密資訊,私鑰用來數字簽名

6.

因為任何人都可以生成自己的(公鑰,私鑰)對,所以為了防止有人散佈偽造的公鑰騙取信任,就需要一個可靠的第三方機構來生成經過認證的(公鑰,私鑰)對。目前,世界上最主要的數字服務認證商是位於美國加州的Verisign公司,它的主要業務就是分發RSA數字證書。

(完)

相關文章