對稱加密、非對稱加密

對稱加密[算法]在加密和解密時使用的是同一個秘鑰;而[非對稱加密算法]需要兩個[密鑰]來進行加密和解密,這兩個秘鑰是[公開密鑰](public key,簡稱公鑰)和私有密鑰(private key,簡稱私鑰)。

RSA加密

與對稱加密[算法]不同,[非對稱加密算法]需要兩個[密鑰]:[公開密鑰](publickey)私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那么只有用對應的公開密鑰才能解密。因為加密解密使用的是兩個不同的[密鑰],所以這種算法叫作[非對稱加密算法]

RSA加密原理

RSA是常用的加密模式,其加密原理可用以下的例子進行簡要的論述。

隨機取兩個質數

    P = 61;
    q = 53;
    N = P * Q = 3233;
    // E是1-n之間的一個隨機的質數
    E = 17;
    
    // D是通過一系列數學運算得出的一個數字,
    // 運算方法后續會附上阮一峰老師的兩篇文章鏈接
    // (N,D)(N,E)要滿足可以互相解值運算
    // 假如(N,D)是公鑰,(N,E)是私鑰
    // 滿足私鑰加密,公鑰解密或者反過來公鑰加密,私鑰解密。
    // 也要滿足只知道(N,D)就想知道(N,E),那就要把N這個大的整數進行因數分解。
    // 因數分解只能使用暴力窮舉,N越大,相應的也就越安全
    // 當 N 大到1024位或者2048位時,以目前的技術破解幾乎不可能,所以很安全

附錄

阮一峰-RSA算法原理1
阮一峰-RSA算法原理2

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容