<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    A.2 密碼分組鏈接(CBC)工作模式的性質

    A.2.1 環境

    只要使用同樣的密鑰和初始值對相同的明文進行加密,CBC方式將產生相同的密文。關心這種性質的用戶需要采用某種方法來改變明文的開始、密鑰或初始值。一種可能的辦法是將一個唯一的標識符(例如一個遞增計數器)加到每個CBC消息的開始處。在對大小不能增加的記錄進行加密時可采用另一種辦法,它使用諸如初始值的某個值,這個值能從記錄中計算出來且不用知道其內容(例如它的按隨機訪問存儲方式的地址)。

    A.2.2 性質

    CBC方式的性質有:
    a)鏈接操作使得密文分組依賴于當前的和以前的明文分組,因此對密文分組的重新安排不會導致對相應明文分組的重新安排;

    A.2.3 填充要求

    只有分組長度的倍數才能被加密或解密。其他長度需要被填充至分組長度邊界。如果這是不可接受的,可以按一種特殊方式來處置最后一個變量。下面給出兩個特殊處理的例子。
    第一種處理一個不完整的變量(即:一個j<n位的變量Pq,其中q應大于1)的可能辦法是按下面的描述的OFB方式對它進行加密:
    a)加密
    Cq=Pq⊕(eK(Cq-1)~j) ·································(50)
    b)解密
    Pq=Cq⊕(eK(Cq-1)~j) ·································(51)
    但是,如果IV不是秘密的或者與同一個密鑰一起被多次使用(見A4),那么最后的變量容易受到“選擇明文攻擊”。
    第二種辦法稱作“密文竊取”。假設最后兩個明文變量為Pq-1和Pq,Pq-1是一個n位分組,Pq是一個j<n位的變量,q應大于1。
    a)加密
    設Cq-1為使用5.2所描述的方法由Pq-1導出的密文分組。令
    Cq=eK(Sj(Cq-1|Pq)) ·································(52)
    因此最后兩個密文變量是Cq-1和Cq
    b)解密
    首先需要對Cq進行解密,從而產生變量Pq和Cq-1的右邊n-j位:
    Sj(Cq-1)|P)=dK(Cq) ·································(33)
    進而得到完整的塊Cq-1,并且使用5.3所描述的方法能導出Pq-1。

    A.2.4 差錯擴散

    在CBC方式中,在一個密文分組中的一個或多個位差錯會影響對兩個塊(即發生差錯的塊和隨后的塊)的解密。第i個密文分組中的一個差錯對于所產生的明文有以下影響:第i個明文分組每位出錯的概率為50%。第i+1個明文分組的差錯模式與第i個密文分組相同。如果在一個不到n位的變量中出現差錯,差錯擴散取決于所選擇的特殊處理方法。在第一個例子中,被解密的較短的塊中與明文中出錯的位直接對應的那些位也會出錯。

    A.2.5 塊邊界

    如果解密或解密之間的塊邊界丟失了(例如由于一個位的滑動),則在重新建立正確的塊邊界之前,加密與解密之間將失去同步。如果塊邊界丟失,所有解密操作的結果都是不正確的。

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类