-2

Kocher のフグ アルゴリズムを C で実装するには助けが必要です。その URL は ( http://www.schneier.com/code/bfsh-koc.zip ) です。基本(初期化)はできたのですが、復号化がうまくいきません。long を使用する必要があることはわかっていますが、(char *encrypted_text) を必要とする char * 関数を記述して、復号化されたテキストを返すように助けてください。ありがとう

4

2 に答える 2

3

Blowfish はすでにあちこちで C で実装されています。自分で書く必要はありません。

PolarSSL ライブラリには C 実装があり、ここで見つけることができます。

于 2013-05-15T00:07:52.367 に答える
1

暗号化の基本は次のとおりです。コードでどのように機能するかは、実装によって異なります。

ある種の状態の初期化を行い、最大 56 バイトの暗号化キーを含め、モード (cbc、ecb など) を設定します。

データがなくなるまで、マシン(ブロックサイズ)バイトのデータチャンクにフィードします...データストリームの最後を何らかの形で埋めて、8バイトになるようにしてください...

完了したので、状態からハッシュを抽出できます...

簡単に聞こえませんか...

今openSSLの例:

void *source = "12345678";
size_t len = strlen(source);
assert(len % BF_BLOCK == 0);
void *dest = malloc(len);
BF_KEY key;
BF_set_key(&key, 5, "12345"); // make a key

while(len > 0) {
    BF_ecb_encrypt(source, dest, key, 1);// or other BF function see docs.
    source += BF_BLOCK;
    dest += BF_BLOCK;
    len -= BF_BLOCK;
}
于 2013-05-15T01:01:46.510 に答える