タグ

algorithmに関するhiro360のブックマーク (44)

  • APOPのぜい弱性で見えてきたMD5の「ご臨終」

    情報処理機構セキュリティセンターは4月,メール・サーバーの認証プロトコルの一つ「APOP」について注意を喚起した。この注意喚起は,電気通信大学の太田和夫教授のグループが,APOPで使うハッシュ関数「MD5」に新たな欠陥を発見したことに基づくもの。この欠陥は,APOPだけでなく,MD5を使う電子署名などのほかのアプリケーションの欠陥も示唆する。実際にどの程度危険なものか,技術に基づいて考えてみよう。 わからないはずのパスワードが解かれる APOPは,チャレンジ・レスポンスという方式を使って,メール・クライアントとメール・サーバーのやりとりを盗聴してもパスワードが解読できないようにする。パスワードを直接やりとりせずに,まずサーバーからクライアントに「チャレンジ・コード」という文字列を送る。クライアントはチャレンジ・コードとパスワードを連結したうえで,MD5というハッシュ関数を使ってハッシュ値を

    APOPのぜい弱性で見えてきたMD5の「ご臨終」
  • Pythonのスペル修正プログラムをJavaに移植してみました - あるまに

    オレンジニュースで紹介されていた、GoogleのPeter Norvig氏による"スペル修正プログラムはどう書くか"(原文)を読んで、ちょっと試してみたかったので深く考えずにJavaに移植しました。Pythonの文法を全く知らなかったのですが、元々とても短い上にコードだけでなく説明もあったので何とか最後まで到達。 という事で、メインのコードを貼り付けます*1。テストコードを含んだ完全版(?)はこちら。一応名前等はできるだけ合わせました。 import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.IOException; import java.util.Arrays; import java.util.Collections; import java.util.Comparator;

    Pythonのスペル修正プログラムをJavaに移植してみました - あるまに
  • スペル修正プログラムはどう書くか

    Peter Norvig / 青木靖 訳 先週、2人の友人(ディーンとビル)がそれぞれ別個にGoogleが極めて早く正確にスペル修正できるのには驚くばかりだと私に言った。たとえば speling のような語でGoogleを検索すると、0.1秒くらいで答えが返ってきて、もしかして: spelling じゃないかと言ってくる(YahooMicrosoftのものにも同様の機能がある)。ディーンとビルが高い実績を持ったエンジニアであり数学者であることを思えば、スペル修正のような統計的言語処理についてもっと知っていて良さそうなものなのにと私は驚いた。しかし彼らは知らなかった。よく考えてみれば、 別に彼らが知っているべき理由はないのだった。 間違っていたのは彼らの知識ではなく、私の仮定の方だ。 このことについてちゃんとした説明を書いておけば、彼らばかりでなく多くの人に有益かもしれない。Google

  • 動画でわかるソートアルゴリズムの違い:Geekなぺーじ

    「The Sorting Algorithm Demo」というページでソートアルゴリズムの比較をしています。 Bubble Sort, Quick Sort, Odd-Even Transposition Sort, Shear Sortの4種類のデモとJavaによるソースコードがあります。 各ソートデモはクリックすると開始されます。 授業などで説明を聞くよりもこのような動画デモを一発見る方が効果がありそうですね。 Bubble Sortがいかに遅いかを実感できます。