いろいろとネットの情報を参考にしながら、FeliCa LiteのMAC生成アルゴリズムができた。 そのとき、3DES暗号についてなんとなくわかったので、記録を残しておく。 3DESといってもいくつか細かくあるらしく、FeliCa LiteではCBCという方式を使っている。 これは、前ブロックの3DES計算結果を、次のブロックとxorする方式みたいだ。 それは、IVとか初期ベクタとか呼んでいる。 細かい実装は知らないが、1段目でDESエンコード、2段目でそれをDESデコード、3段目でそれをDESエンコードする。 1, 2, 3段目はそれぞれ別の鍵を用いるのが望ましいらしい(FeliCa Liteでは、1と3が同じ)。 鍵が3つとも同じだと、エンコード→デコード→エンコードとなり、DESエンコード1回分と同じになるという。 DESを3回やって、IVを自分でxorしてみたが、ちゃんと同じ結果にな