簡述Rabin加密算法

在之前,我們了解了RAS加密算法,知道了它是非對稱加密算法中應(yīng)用最為廣泛的一種,那么我們今天來了解一個與RAS算法十分相似的一種非對稱加密算法——Rabin加密算法。

Rabin加密算法

Rabin加密算法屬于非對稱加密算法的一種,既可以看成是RAS算法的一個特例,也可以看成是對RSA算法的一個修正。

Rabin加密算法是一種基于模平方和模平方根的公鑰密碼算法,其困難難度近似大整數(shù)分解。它是第一個可證明安全的公鑰密碼算法,它的安全性基于求解合數(shù)模下的平方根的困難性。

Rabin加密算法

Rabin加密算法描述

1、密鑰生成:密鑰生成時,首先要選取兩個不同的大素數(shù)p和q,并且p=q=3mod 4,然后計算模數(shù)n=pXq。將n作為公鑰公開,(p,q)作為私鑰,秘密保存。同樣,我們看到想要由公鑰n求得對應(yīng)的私鑰,就相當于分解n,只要n足夠大,這便是困難的。

2、加密變換:加密時與RSA一樣,只不過這里的加密指數(shù)為2,對于一個明文消息m,計算c=m的平方 mod n就得到了密文c

當不知道私鑰,也就是n的兩個素因子p和q時,攻擊者拿到密文c想要恢復(fù)明文m,就相當于求解c在模n下的平方根,這是困難的,而且其困難程度與分解n是等價的。

3、解密變換:解密時,就是求密文c在模n下的平方根。

Rabin加密算法

需要注意:Rabin算法的加密函數(shù)不是單射,解密具有不確定性,合法用戶不能確切地知道到底哪一個解是真正的明文。如果加密之前在明文消息中插入一些冗余信息,可以幫助收信者準確的識別解密后的明文。

Rabin加密算法的優(yōu)缺點

優(yōu)點:Rabin加密算法的效率非常高,僅需運行一次mod平方運算。

缺點:接收者需要從四種可能的情況下選擇一個正確的明文,這種不確定問題可以通過預(yù)先增加定義原始明文消息冗余來解決。

Rabin加密算法

免責聲明:素材源于網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系刪稿。