密碼學(xué)——RSA加密算法
2023-03-30 16:58 作者:Vector永遠(yuǎn)的神 | 我要投稿
RSA加密算法是一個很典型的非對稱加密算法,發(fā)送方和接收方有私鑰和公鑰進(jìn)行保存。
算法的理論基礎(chǔ)就是利用了當(dāng)前數(shù)學(xué)上的公理,大數(shù)的質(zhì)因數(shù)分解是十分困難的,即使現(xiàn)在最頂尖的計算機(jī)也無法做到快速的實現(xiàn),但是可以很快速的進(jìn)行大數(shù)乘積運(yùn)算。
具體過程:
首先選擇兩個質(zhì)數(shù) P? 和? Q
然后計算算法的取余數(shù)N = P *? Q
利用歐拉函數(shù)計算得到T? = (P-1)*(Q-1)
選擇公鑰E? 注意是選擇而不是計算,在范圍內(nèi)會有多個符合條件的值,選擇其一即可,首先得是質(zhì)數(shù),然后得滿足? ?1 < 公鑰 E? <? T? ,最后要求E不能是T的因子。
根據(jù)選擇的公鑰E 計算私鑰D? ? ?滿足(D*E)% T? = 1
?在實際的加密解密過程中 算法使用
明文 ^ E? %? N? = 密文
密文? ^ D? % N? = 明文
在運(yùn)算過程中? ,公鑰E和取余數(shù)N都是公開的? ,關(guān)鍵是私鑰D不能被獲悉