0

WPF アプリ用に C# で RC4 アルゴリズムを実装しています。

私はアルゴリズムを述べているこのpdfに従いました。

問題は、KSA で私たちがすべきことですj = (j + S[i] + (int)key[i % keyLengthInBits]) % 256;

そうは言っても、キーは 5 文字から 32 文字の長さ (40 ビットから 256 ビットまで) である必要があるため、これがどのように機能するのかわかりません。

それでは、5 文字のキーを使用した例を見てみましょう (上記でリンクした pdf と同じものを使用します): pwd12。その位置でキーの文字を取得しますi % 40(5 文字の長さは 40 ビットです)。最初の 5 回までは問題ありません。キー ( pwd12 )に値があるi = 0からです。ここに問題がありますが (私がどう見ても) : にいるとき、キーに文字が残っていません。したがって、 を取得します。i=4i=5ÒutOfBounds Exception

何もないキーで文字をフェッチしようとすると、どのように動作する可能性がありますか? 明らかに、アルゴリズムには表示されないものがあります。それは機能するためです。そうしないと使用されません...

4

1 に答える 1