roid123's diary

技術系のメモ中心です

中国の剰余定理についての覚え書き

課題で中国の剰余定理を用いたRSA暗号の復号化アルゴリズムを組んでいたが,どうしても復号化がうまく行かなくて悩んでいた.
よくよく見直してみると,n=n_1n_2と書けるとき,m_1=n_2, \hspace{5} m_2=n_1として,m_1^{-1} \hspace{5} \rm{mod} \hspace{5} n_1, \hspace{5} m_2^{-1} \hspace{5} \rm{mod} \hspace{5} n_2を計算し,
連立剰余方程式x \equiv a_i (\rm{mod} \hspace{5} n_i) \hspace{5} (i=1,\hspace{5} 2)の解を求めるわけだが,その際に使用するm_in_iを法としているわけではないことに注意しなければならなかった.
気付いてプログラムを書き直してみたところ,無事に復号化されることが確認できた.

参考文献

浅野孝夫: "情報数学―組合せと整数およびアルゴリズム解析の数学―", コロナ社, pp. 106-107 (2009-4)

emacsの文字コードあれこれ

どうも大学のemacs環境だと,mule-utf-8-unixなる文字コードがデフォルトなせいで,utf-8-unixで保存したファイルが化けてしまう.

C-x return c utf-8-unix

文字コードutf-8-unixに直し,

C-x C-v return

でファイルを開き直すことで文字化けは直るのだが,

C-x return f iso-2022-jp-2-unix

と指定してファイルの文字コードをISO-2022-JP-2に変更し,保存してやることで次回以降も文字化けせずに済むことが分かった.

$ nkf -j -Lu --overwrite ファイル

でも構わない (この場合はemacs上ではiso-2022-jp-unixに相当する) が,どうせならemacsの操作に慣れようということで,
前者の方法を採用しようと思う.

WEPキー解析メモ

ハードウェア的な話

  • Lenovo G550の無線LANチップはb43 (broadcom BCM4312, PCI IDは14e4:4315) であり,compat-wirelessのdevelopment versionが必要

→従って,BT3でパッチを当てるため,データを保存できる環境にしなくてはならない
→Bootable USBが適している? Ubuntuの削除及びBT3の導入が必要かもしれない
以下のコマンドでPCI IDをチェック可能

lspci -nn
  • EeePCのAtherosチップならそのまま使用可
  • Lenovo G550でUbuntuを動かすと,airodump-ngを含め,動作が止まることがある (マウスを動かしたりキーを入力すると動き出す)

GUIのせいで不安定になっている? CUIで確認の必要がある
→機器との相性問題の可能性がある
→BT4はUbuntuベースなので,BT3の方が実験として適しているかもしれない

参考リンク

ttp://royalwin.blog.so-net.ne.jp/2008-07-01
ttp://royalwin.blog.so-net.ne.jp/2009-09-23-1
ttp://royalwin.blog.so-net.ne.jp/2010-02-09
ttp://aircrack-ng.org/doku.php?id=b43&rev=1263565846
ttp://bt3.tamaru.client.jp/

gettimeofday関数による実行時間の計測

C言語で実行時間を計測する方法の覚え書き.
なお,はてなダイアリーにおけるソースコードのハイライトのために,以下のサイトを使用させて頂いた.
VimColor - source code highlight

続きを読む