ブックマーク / note.com/ruiu (3)

  • スタンフォードのコンピュータサイエンスの授業の感想(後編)|Rui Ueyama

    2017年にも同じタイトルの記事を書いたのだけど、その後無事にスタンフォード大学院のコンピュータサイエンス学部を卒業することができたので、前回の記事以降に取った授業について、僕なりの感想をちょっとまとめたい。 CS255 暗号入門 (2018Q1)文字通り暗号についての授業。対称鍵暗号、公開鍵暗号、メッセージ認証、一方向ハッシュ関数などのトピックについて学ぶ。プログラミングではなく理論中心の授業。 宿題では、例えばこういう手順で暗号化される通信が安全であることを証明せよ、みたいな問題が出た。こういう問題は、もし安全ではないとしたらそれを利用して安全とされている暗号(AESとか)を破れてしまう、みたいな背理法で証明を行う。そういう巧妙な証明を考えるのは結構面白かった。あるいは逆に、このように暗号化された通信方式の穴を見つけよ、みたいな問題も出た。 AESやSHA256そのものがなぜ安全と思わ

    スタンフォードのコンピュータサイエンスの授業の感想(後編)|Rui Ueyama
  • IPv6がなぜいまだに普及していないのか|Rui Ueyama

    現在のインターネットの基をなしているIPv4というプロトコルには、広く知られた大きな欠点がある。パケットのアドレスフィールドの幅が32ビットなので、ネットワークに接続可能なホスト数の上限が2³²(約43億)になってしまっているのだ。その欠点を修正するために、1990年代後半にIPv6という新たなプロトコルが設計されたのだけど、いまだにインターネットではIPv6は少数派で、主流ではいまだにIPv4が使われている。 1990年代当時は、IPv6は規格を策定すれば比較的すぐに普及するはずで、それによってインターネットが抱えているアドレス枯渇の問題が解決されるという雰囲気だったように思う。1998年にタイムトラベルして、20年たってもまだIPv4を置き換えることに成功していないと当時の人のIPv6推進者たちに教えたら、多分すごくびっくりされるだろう。一体どうしてこんなに普及が遅れてしまったのだろ

    IPv6がなぜいまだに普及していないのか|Rui Ueyama
  • エレベータに見るアルゴリズムの性能と公平性のバランス|Rui Ueyama

    現実世界でもコンピュータの中でも、何らかの性能指標だけを追求すると参加者にとって極端に不公平になってしまうことがある。例えばエレベータとHDDは共通点がありそうに思えないが、この2つは性能特性的にとてもよく似ていて、リーズナブルな性能と公平性を両立させるために同じ制御方法が使われている。これについてちょっと説明してみよう。 1基しかない場合のエレベータの動き方は単純だ。一度上に動き出すと、上で待ってる人や降りる人がいる限り上昇し続ける。同じように、一度下に動き出すと、下で待っている人や降りる人がいる限り下降し続ける。これ以外の動き方をするエレベータはまず存在しないので、これが唯一の制御方法のように思えるけど、別にこうしなければいけないというルールはない。 エレベータの平均待ち時間を最適化することを考えてみよう。そうすると、一方向に動き続ける代わりに、エレベータが現在存在する階に一番近い人の

    エレベータに見るアルゴリズムの性能と公平性のバランス|Rui Ueyama
    hurafula
    hurafula 2017/11/25
  • 1