TinyAES(https://github.com/kokke/tiny-AES-c/blob/master/aes.c)を見ていて、私が理解していないコードスニペットを見つけました。ポインタに16を追加しますか?
AES-128(16バイトのキーとブロックサイズを意味する)を仮定すると、forループが1回だけ反復するため、出力結果に0を16加算しないでしょうか?
メインのAES-CBC暗号化機能。
for (i = 0; i < 16; i += 16)
{
XorWithIv(input);
memcpy(output, input, BLOCKLEN);
state = (state_t*)output;
Cipher();
Iv = output;
input += BLOCKLEN;
output += BLOCKLEN;
//printf("Step %d - %d", i/16, i);
}
ループボディは 'i'が' 0'の状態で一度だけ実行されるようです。 –
この質問は、すでに部分的に、そして間違って、コード内の変数を置き換えているので、私たちを欺くものです。これはソースで見つかったコードではありません。 –
@IngoBürk:はい、その理由をレポを参照し、すべてを説明しました。 – coderredoc