這是一篇橢圓曲線密碼學的基本介紹。我假設本文的絕大多數讀者來這里的目的是:了解為什么橢圓曲線加密是一種有效的加密工具,以及它為什么有效。我試圖用通俗的方式來解釋它,我將跳過論證與實現的細節,轉而聚焦在其運行原則上。
橢圓曲線示例
它是做什么的?
橢圓曲線加密是一種加密數據方法,只有特定人,才能對其進行解密。它在現實生活中有許多應用場景,但其主要應用在于加密互聯網上的數據與流量。例如,橢圓加密曲線可以用于確保一封郵件何時發送,且除了收件人外無人可以讀取該郵件。
橢圓曲線加密是公鑰加密技術
公鑰加密風情萬千,橢圓曲線加密只是其中一種風味。其他加密算法還有RSA,DiffieHelman,等等。我將簡單交代公鑰加密的大體背景作為開頭,進而展開我們后續的闡述,以此更深入理解橢圓曲線加密。有空時,你可以花些時間深入研究公鑰密碼學知識。
如下圖所示,公鑰加密允許以下過程發生:
http://itlaw.wikia.com/wiki/Key_pair
上圖展示了兩個鑰匙,一個公鑰和一個私鑰。這些密鑰用于加密和解密數據,這使得世界上的任何人都可以在傳輸時看到加密數據,但無法讀取信息。
讓我們假設Fcebook將收到來自特朗普的私密貼。Facebook需要能夠確保特朗普通過網絡發文時,沒人(包括N S A或互聯網服務供應商)可在其中閱讀該消息。使用公鑰加密后,整個數據傳輸過程呈現如下狀態:
l 特朗普告知Facebook他將向后者發送一篇私密帖
l Facebook將其公鑰發送給特朗普
l 特朗普使用公鑰加密其帖子:
“我喜愛??怂梗‵ox)與朋友們”+公鑰=“s80s1s9sadjds9s”
l 特朗普只把加密后的信息發送給Facebook
l Facebook使用他們的私鑰解密消息:
“s80s1s9sadjds9s” +公鑰=“我喜愛??怂梗‵ox)與朋友們”
如你所見,這是一項非常有用的技術。以下是其中的一些要點:
l 公鑰可發送給任何人,它是公開的
l 私鑰必須被妥善保管,因為如果某人獲取了私鑰,他們便可以解密信息
l 計算機可以迅速地用公鑰來加密消息,并用私鑰來解密消息
l 如果沒有私鑰,計算機可能需要花費極長的時間(數百萬年)來破解加密后的消息
它是怎樣運作的:陷門函數
所有公鑰加密算法的關鍵在于它們各自都有其獨特的陷門函數。陷門函數只能被單向計算,或者至少只能容易地單向計算(使用現代計算機在不到幾百萬年的時間內)
不是陷門函數:A+B=C
如果被給到A與B,我就可以算出C。問題是如果我被給到B與C,我也可以算出A。并非是陷門函數。
陷門函數:
“我喜愛??怂梗‵ox)與朋友們”+公鑰=“s80s1s9sadjds9s”
如果我被給到“我喜愛??怂梗‵ox)與朋友們”+公鑰,我可以得出“s80s1s9sadjds9s”,但是如果我被給到“s80s1s9sadjds9s”與公鑰,那我無法得出信息:“我愛??怂梗‵ox)與朋友們”。
在RSA(可能是最流行的公鑰系統)中,陷門函數主要取決于將大數字納入其主要因子的難度。
公鑰:944,871,836,856,449,473
私鑰:961,748,941 and 982,451,653
在以上的例子中,公鑰是一個非常大的數字,私鑰是公鑰的兩個主要因子。這是陷門函數的一個好的例子,因為在私鑰中很容易將多個數字相乘以獲取公鑰,但如果你擁有的只是公鑰,那將花費一臺電腦很長的時間才能重建私鑰。
注意:在真實的加密中,私鑰需要200+位數以上的長度以確保安全。
是什么讓橢圓曲線加密與眾不同
人們使用橢圓曲線加密的理由跟RSA完全相同。它生成公私鑰對并允許兩方安全溝通。然而,橢圓曲線加密有一勝過RSA的優勢。橢圓曲線加密中256位數的密鑰所提供的安全性與RSA算法中3072位數密鑰所提供的安全性相同。這意味著在資源有限的系統中,如智能手機、嵌入式電腦、加密網絡,橢圓曲線加密相較于RSA加密算法,它使用的硬盤空間和帶寬不到RSA算法的10%。(藍狐筆記譯注:也就是說,橢圓曲線加密比RSA算法在資源有限的情況下,更省資源,可行性更高。)
此文由 中國比特幣官網 編輯,未經允許不得轉載?。?a href="http://www.huohuxiazai.com/">首頁 > 比特幣行情 » 一文讀懂橢圓曲線加密學