昨天簡略的介紹了一下非對稱式加密,如果還沒有看得可以點這裡前往觀看,接著我們來講一下非對稱式加密的應用,畢竟非對稱式加密能做到的事情遠比對稱式加密還要多很多。
一般人聽到簽章,應該都是在做文書處理的工作上才會碰到的吧,如果你對一則你留的字條進行簽名,其他人就可以透過這份簽名來去知道這份紙條是由你留下的,那在電子化的世界內,要怎麼樣才能讓別人知道某項訊息一定是由你發送的呢?總不可能拿著麥克筆直接簽在螢幕上吧,即使是這樣,就算是訊息傳送出去,你的簽名也未必會傳出去啊!當遇到這種情況,我們便可以使用昨天所提到的「非對稱式加密」,至於要怎麼辦到?下面讓我來提供流程吧!
我們現在想送出一則公開的訊息,而且我必須要讓大家知道這則訊息是我發出去的,回想昨天講到的,非對稱式加密會有兩個密碼,而我今天把第一個密碼公布出去,大家會產生一個共識,便是知道這個密碼是屬於我本人的,接著我把我想送的訊息直接丟出去,同時,我也把這段訊息用第二個密碼加密的東西也送出去,所以大家會拿到兩個東西,分別是「我送出去的訊息」以及「我加密後的訊息」,由於大家已經拿到我的第一個密碼且也有共識說這個密碼屬於我的,他們可以透過機器將我加密後的訊息還原回去,經過比對還原過的訊息以及我送出去的訊息,他們可以很肯定的說,這個訊息肯定是我送出去的,因為天下沒有第二個人有我手上的第二個密碼,這樣我就完成了對電子訊息進行簽名的動作,而今天我們把訊息用第二個密碼加密過後的東西,統稱為 「數位簽章」 ,同時我再補幾個專有名詞,這個第一個密碼,我們會稱它叫做 「公鑰」 ,意思是公開鑰匙,任何人都可以看到;相對的,第二個密碼,我們會稱它叫做 「私鑰」 ,也就是私有鑰匙,這個是非常重要的東西,一定要妥善保存,一旦弄丟了,別人就可以使用你的名義在網路上散播具有你的簽名的訊息。
當然,非對稱式加密的應用不只是用在數位簽章,還有其他方面的功用,但我針對零知識證明常會用到的部分進行介紹,有興趣的人可以對他進行更深入的研究,畢竟我相信就以非對稱式加密的複雜程度,可以再當作一個鐵人賽的題目,接著明天繼續回到我們零知識證明的討論吧!