- 644 名前: ◆MERIKEN4.k mailto:sage [2012/11/14(水) 15:51:16.97 ID:mDY3eRDW0]
- 同じ問題はCUDA版でも起きていたので思わず頭を抱えてしまったのですが、
ソースを眺めていたら解決方法を思いつきました。Bitslice DESの 一時変数は次の構造体にまとめられています。 > typedef struct { > DES_Vector keys[56]; // 224 bytes > DES_Vector dataBlocks[64]; // 256 bytes > unsigned int dummy[1]; > } DESContext; で、56bitのDESのキーが32個keys[]に収められているのですが、 これらのキーは実際にはほとんど同じです。 というわけで、キーの生成の方法を工夫してやれば、32個のキーの共通部分 51bitだけを保持して、残りは5bitのインデックス(0〜31)から生成して やればいいことに気づきました。
|

|