なおツールはまだ出来ていないほか、実証はまだなので暇な嫌儲民は試してみてね
下のスレはツールをねだるような場所では無いので、ねだる場合はこのスレか
http://peace.2ch.net/test/read.cgi/avi/1401397403/
この辺のスレッドに書いた方が良い

解説
放送波の暗号化に使われている MULTI2 暗号のほかに、B-CAS カード内部で使われている簡易的なブロック暗号が存在する
その暗号は契約情報を更新する EMM や ECM の処理に使われているが、この処理の中には次のような処理が存在する:
> if (IsOddParity(x) == true) {
> Cipher.Word ^= 0xffffffff ^ Rot;
> }
このコードには大きな問題があり、入力に応じて時間が変化してしまう(if文の中を通るか否か)ほか、ビット積で計算しているため拡大鍵の bit 毎の情報が漏れやすくなっている
(拡大鍵の情報が漏れると Km などが推定出来てしまう)

詳しくはこのスレを参照(496〜あたりから読む事を推奨)
カスカ 懐石・研究 38枚目
http://peace.2ch.net/test/read.cgi/avi/1398985287/

この辺の書き込みが参考になるかも
http://peace.2ch.net/test/read.cgi/avi/1398985287/521,534,537-538,551,554,592-594,596,599,603,606,611-612,652,656,667,671,676-677

※ 拡大鍵=拡大キー=サブキー

あと上のコードはここの実装(Oishii Slurperが書いたコード)による
実際のカードで処理にかかる時間とIsOddParityを通った回数はほぼリンクしているため、このコードの実装はB-CASカード内部の処理と同じと考えて良い
http://github.com/e2032335/BCAS/blob/master/Crypto/Crypto.cpp