|
メモ。blowfish による暗号化 & 復号化。 #include <stdio.h> #include <openssl/blowfish.h> int main(int argc, char *argv[]){ BF_KEY key; unsigned char keybuf[]="SECRETKEY!"; unsigned char plain[128]="This is plain!"; unsigned char encrypted[128]; unsigned char decrypted[128]; unsigned char ivec[8]; BF_set_key(&key, strlen(keybuf), keybuf); printf("plain=[%s]\n", plain); memset(ivec, 0, sizeof(ivec)); BF_cbc_encrypt(plain, encrypted, strlen(plain), &key, ivec, BF_ENCRYPT); printf("encrypted=[%s]\n", encrypted); memset(ivec, 0, sizeof(ivec)); BF_cbc_encrypt(encrypted, decrypted, strlen(plain), &key, ivec, BF_DECRYPT); printf("decrypted=[%s]\n", decrypted); return 0; } |
|
ちゃんと読んでません、と書かれているのに突っ込みを入れるのは 失礼かもしれませんが・・・ #こんなこと言っておきながら、嘘だったらごめんなさい。 http://x68000.startshop.co.jp/~68user/net/crypt-1.html で紹介している http://www3.sympatico.ca/wienerfamily/Michael/MichaelPapers/TwokeytripleDES.pdf ですが、確かに2つの鍵を使う3DESは攻撃方法がある、ということも 書いていますが、どっちかって言いますと、既存の方法、すなわち、 §2の、Merkle-Hellman Attackの方法よりも、早い方法がありますよ、 という論文のような気がします。 恐らく、Merkle-Hellman Attackの方法はA=0となる解を2の56乗用意 して、何とかするけれど、この論文の方法はKnown-Plaintextを用いると、 もっと早く解析できますよ、といっているような。 #そのKnown-Plaintextがなんじゃらほい、というところまでは #精査していませんが。 それ以降はハードウェアのインプリメンテーションの話ですね。 |