加密演算法3

2021-05-21 18:42:42 字數 1013 閱讀 7566

3、elgamal演算法elgamal演算法既能用於資料加密也能用於數字簽名,其安全性依賴於計算有限域上離散對數這一難題。

金鑰對產生辦法。首先選擇乙個素數p,兩個隨機數, g 和x,g, x < p, 計算 y = g^x ( mod p ),則其公鑰為 y, g 和p。私鑰是x。g和p可由一組使用者共享。

elgamal用於數字簽名。被籤資訊為m,首先選擇乙個隨機數k, k與 p - 1互質,計算

a = g^k ( mod p )

再用擴充套件 euclidean 演算法對下面方程求解b:

m = xa + kb ( mod p - 1 )

簽名就是( a, b )。隨機數k須丟棄。

驗證時要驗證下式:

y^a * a^b ( mod p ) = g^m ( mod p )

同時一定要檢驗是否滿足1<= a < p。否則簽名容易偽造。

elgamal用於加密。被加密資訊為m,首先選擇乙個隨機數k,k與 p - 1互質,計算

a = g^k ( mod p )

b = y^k m ( mod p )

( a, b )為密文,是明文的兩倍長。解密時計算

m = b / a^x ( mod p )

elgamal簽名的安全性依賴於乘法群(ifp)* 上的離散對數計算。素數p必須足夠大,且p-1至少包含乙個大素數

因子以抵抗pohlig & hellman演算法的攻擊。m一般都應採用資訊的hash值(如sha演算法)。elgamal的安全性主要依賴於p和g,若選取不當則簽名容易偽造,應保證g對於p-1的大素數因子不可約。d.bleichenbache「generatingelgamal signatures without knowing the secret key」中提到了一些攻擊方法和對策。elgamal的乙個不足之處是它的密文成倍擴張。

美國的dss(digital signature standard)的dsa(digital signature algorithm)演算法是經elgamal演算法演

變而來。

對稱加密演算法 DES加密演算法

一 對稱加密演算法 對稱加密也稱為常規加密 私鑰或單鑰加密。乙個對稱加密由5部分組成 明文 plaintext 這是原始資訊或資料,作為演算法的輸入。加密演算法 encryption algorithm 加密演算法對明文進行各種替換和轉換。金鑰 secret key 金鑰也是演算法的輸入。演算法進行...

3DES加密演算法

des是乙個經典的對稱加密演算法,但也缺陷明顯,即56位的金鑰安全性不足,已被證實可以在短時間內破解。為解決此問題,出現了3des,也稱triple des,3des為des向aes過渡的加密演算法,它使用3條56位的金鑰對資料進行三次加密。為了相容普通的des,3des並沒有直接使用 加密 加密 ...

gentry同態加密演算法 同態加密演算法

本文對同態加密演算法進行學習。參考文章同態加密演算法。定義同態加密演算法保證對聯合密文的解密結果等價於聯合明文。若存在同態加密演算法f,針對明文a和b,加密後分別得到a f a b f b 將其和a b 解密後得到a b,則同態加密演算法f被成為加法同態加密演算法。加法同態演算法的加密和解密分別用e...