(半課內)信安數基 RSA-OAEP 初探

hiddener 發表於 2021-10-24

  在RSA攻擊中,存在著“小明文攻擊“的方式;

    在明文夠小時,密文也夠小,直接開e次方即可;

    在明文有點小時,如果e也較小,可用pow(m,e)=n*k+c窮舉k嘗試爆破

所以,比如說,在選擇明文攻擊中,單純的RSA非常容易被破解。

  於是,我們就像將密文進行一下填充,最好讓密文都等長。  

但是填充方式也是很講究的;不好的填充規則往往僅僅有限的增加了攻擊的難度,或者難以實現等長密文。

  於是我們就查到了(bushi)OAEP——最優非對稱加密填充。

最優非對稱加密填充:

(1)準備工作:

    將k位元內容轉化為m位元內容的 公共單向函式G

    將m位元內容轉化為k位元內容的 公共單向函式H

(2)Alice的加密過程:

    最初有一個小於m位元的資訊。它填充這個資訊來獲得一個m位元的資訊M

    選擇一個k位元的隨機數r。

    運用G和r生成一個m位元的整數G(m,r),並丟棄r。

    運用G(m,r)生成明文的第一部分c1=M xor G(m,r),並生成明文的第二部分c2=H(P1) xor r

    最後,運用c1,c2生成密文C

(3)Bob的解密過程(?):

    大概是,運用H找到G(m,r)並,運用G(r)找到資訊。

 

當OAEP與RSA結合:

(半課內)信安數基 RSA-OAEP 初探

 

 

 (半課內)信安數基 RSA-OAEP 初探

 

    關於“在加密中引入隨機化的作用”:

  大量對教科書式加密演算法的攻擊都是這樣取樣一種通用技術:篡改密文從而以一種可控的方式修改相應的明文。

  然而,OAEP有良好的特性;因此,如果攻擊者想篡改密文,就會導致明文的改變是不可控的,

     因為使用了雜湊函式,在保證雜湊函式的安全性下(比若說單向性、抗碰撞性等),很難找到一個有效的hash值,其對應的明文是有效的。

  即:如果攻擊者試圖以適應性的方式修改密文,那麼資料完整性檢驗將以“壓倒性”概率失敗,並且解密結果為一條沒有任何意義的明文。

  

  注:因為在查閱相關資料和文獻時,幾乎沒有背景知識,甚至是初次接觸“填充”;

  所以,我對“在加密中引入隨機化的作用”可能有偏差;並留下疑問作為可能會填的坑:

  (1)其實感覺一切都沒完全懂。

  (2)關於填充。(加密描述和“作用”中都直接跳過了這部分的敘述)

 

參考:

https://www.cnblogs.com/akira90/archive/2012/11/19/2778234.html

https://blog.csdn.net/qq_39743001/article/details/117249884?utm_source=app&app_version=4.16.0