2023 年エントロピー カップの最初の質問の簡単な分析

SM4 CBC-MAC 経由で生成される MAC 値は次のとおりであることがわかっています。
MSG1:
E55E3E24A3AE7797808FDCA05A16AC15EB5FA2E6185C23A814A35BA32B4637C2
MAC1:
0712C867AA6EC7C1BB2B66312367B2C8

MSG2:
D8D94F33797E1F41CAB9217793B2D0F02B93D46C2EAD104DCE4BFEC453767719
MAC2:
43669127AE268092C056FD8D03B38B5B

64 バイト (128 16 進ワード) の MSG3 と対応する MAC3 を生成する必要があります。

分析:
A. SM4-CBC、入力は 128 ビット IV 乱数、対称鍵 K、128 ビット平文グループ
B. SM4 CBC-MAC、入力は IV 値を除いて SM4-CBC と同じです
は 0 に固定され、出力は最後のもののみを取得します。グループの暗号化された暗号文 C と MSG1 の長さは32 バイト (256 ビット) であるため、2 つのグループ (M1a と M1b) があり、出力は MAC1 M1a = E55E3E24A3AE7797808FDCA05A16AC15 M1b =EB5FA2E6185C23A814A35BA32B4637C2 MAC1=0712C86 7AA6EC7C1BB2B66312367B2C8 IV
    =
    0000000000000000000000 0000000000
    MAC1
    =
    Ek (k, Ek(k,IV⊕M1a)⊕M1b) = Ek(k, Ek(k,M1a)⊕M1b) D. MSG2 
およびMSG1 であるため、
    MAC2 = Ek(k, Ek(k,M2a) ⊕M2b) 
E となります。同様に、MSG3 には 4 つのグループ (M3a、M3b、M3c、M3d) があり、出力は MAC3 になります。 MAC3 = Ek
    (k, Ek(k,Ek(k, Ek(k,M3a)⊕M3b) )⊕M3c)⊕M3d)

分析後の一般的な考え方は、MSG3 は MSG1 および MSG2 から適切に接続できるということです。具体的には、
    M3a = M1a
    M3b = M1b
    なので、 Ek(k, Ek(k,M3a)⊕M3b) = Ek(k, Ek(k,M1a)⊕M1b) = MAC1 となります。 次に、次の M3c を構築する必要があります
    。 M3c⊕MAC1 = M2a つまり、M3c = M2a⊕MAC1
    このように、IV=MAC1 のとき、 Ek(k,MAC1⊕M3a) = Ek(k,M2a)
    M3d = M2b となります。

要約すると、
MSG3 = M1a||M1b||M2a⊕MAC1||M2b
MAC3 = MAC2

おすすめ

転載: blog.csdn.net/ryanzzzzz/article/details/132291877