RSA加密算法的公式可以總結如下:
密鑰生成:
選擇兩個大質數 ( p ) 和 ( q )。
計算 ( n = p \times q )。
計算 ( \phi(n) = (p - 1) \times (q - 1) )。
選擇一個整數 ( e ),滿足 ( 1 < e < \phi(n) ) 且 ( e ) 与 ( \phi(n) ) 互质(即 ( \gcd(e, \phi(n)) = 1 ))。
計算 ( d ),滿足 ( ed \equiv 1 \mod \phi(n) )。
加密過程:
明文 ( m ) 被轉換為密文 ( c ) 的公式為:( c = m^e \mod n )。
解密過程:
密文 ( c ) 被轉換為明文 ( m ) 的公式為:( m = c^d \mod n )。
說明:
在RSA算法中,( n ) 是公開的,由兩個質數 ( p ) 和 ( q ) 的乘積組成。( e ) 是公鑰的一部分,而 ( d ) 是私鑰的一部分。
( \phi(n) ) 是歐拉函式,表示小於 ( n ) 且與 ( n ) 互質的正整數的數量。
( ed \equiv 1 \mod \phi(n) ) 表示 ( ed - 1 ) 能被 ( \phi(n) ) 整除,即 ( (ed - 1) \mod \phi(n) = 0 )。這是RSA算法安全性的基礎。
通過這些公式,我們可以看到RSA算法如何通過公鑰加密明文和私鑰解密密文。重要的是要注意,為了確保全全性,( p ) 和 ( q ) 必須足夠大,以防止對 ( n ) 的因數分解。此外,( e ) 和 ( d ) 的選擇也必須滿足特定的條件,以確保算法的安全性。