セルラーオートマトンに基づくハッシュ機能

ハッシュ関数は、任意の長さの入力データを固定長のビットシーケンスに変換する関数です。ハッシュ関数は、現代の暗号化において重要な役割を果たします。技術の進歩、セキュリティと計算の複雑さに対する新しい要件が浮上しています。SHAファミリーのアルゴリズムは、多くの分野でハッシュアルゴリズムのリーダーであり続けていますが、セルラーオートマトンに基づく別のファミリーのアルゴリズムがあり、誰もが注目する価値があります。





セルラーオートマトン

セルラーオートマトンは、別の投稿に値するかなり一般的なものですただし、簡単に言うと、これは任意の次元のグリッドである離散モデルであり、各セルは各時点で有限の状態セットの1つを取ることができ、ある状態から別の状態へのセルの遷移のルールが決定されます。





基本的なセルラーオートマトンの場合、セルのグリッドは1次元の次元を持ちます。





セルラーオートマトンでは、セルごとに、セルの次の状態を決定する、近傍と呼ばれる他のセルのセットがあります。初期状態は、セル値とその近傍が時間tで決定される状態です。これで、「t」が1増えると、新世代のセルが作成されます。





30, :





C ^ {t + 1} _s = C ^ t_ {s-1} \ XOR \(C ^ t_s \ OR \ C ^ t_ {s + 1})

:





  • , .





  • ( ).





  • .





.









?

c k, : 128, 192 256 .





  1. c :





    サイズ(c)\ text {mod} 512 = 0 \ text {and}サイズ(c)> = 512





    .





    C.





  2. k.





    サイズ(k)\ text {mod} 512 = 0 \ text {and}サイズ(k)> = 512





    k





  3. C 512 .





  4. 512 , 8 64 .





  5. 512 30.





  6. 5 512 ().





  7.   XOR 5 512 .





  8.   , 1.





  9.   6, 7 8 , 512 , .





, .





, .





64 .





  1.  a = e





    , e A





  2.  b = J(g、h、K_1)  b = J(g、h、K_5)





    ,  a = J(g、h、K_1)  a = J(g、h、K_5)





     J(x、y、z)=((\ text {ROTL} ^ {47}(x)\ text {XOR} \、Rule \、30(\ text {ROTL} ^ {37}(y '))\ text {AND}((\ text {ROTR} ^ {17}(z)))





  3.  c = G(e、f、K_2)  c = G(e、f、K_6)





      ,  c = G(e、f、K_2)  c = G(e、f、K_6)





     G(x、y、z)=(Rule134(Rule30(x '))\ text {OR} y)\ text {XOR}(Rule30(z')\ text {AND} x)





  4.  d = F(a、c)





      F(x、y)= Rule30(x)\ text {XOR} y '





  5.  e = J(a、d、K_4)  e = J(a、d、K_8)





      ,  e = J(a、d、K_4)  e = J(a、d、K_8)





      J 1.





  6.  f = H(b、d)





     H(x、y)= \ text {ROTL} ^ {17}(x)\ text {XOR} \ text {ROTL} ^ {59}(y)





  7.  g = I(c、f)





     I(x、y)= \ text {ROTL} ^ {41}(x ')\ text {XOR} \ text {Rule134}(\ text {Rule30}(\ text {ROTL} ^ {31}(y') ))





  8.  h = H(a、K_3)  h = H(a、K_7)





      ,  h = H(a、K_3) h = H(c、K_7)





      H 4.





ROTL — , ROTR — .





. :





 ラウンド= '1' (512 ) + '0' (512 )  mod 512 .





30 , - . . , .





:








All Articles