タグ

暗号に関するsatojkovicのブックマーク (3)

  • RSA で暗号化してみよう (1)

    ライブラリで RSA を実現 OpenSSL は SSL/TLS だけのライブラリではありません。 SSL/TLS を実装する上で必要な RSA や素数を扱うための機能もライブラリ化されています。 これを利用して、RSA による暗号化・復号化を行いましょう。 なお、ページを書くにあたり、以下のページを参考にしました。 特に「はやわかり RSA」から、拡張ユークリッドの互除法」の数式を拝借させていただきました。 作者の方々に感謝します。 はやわかり RSA RSA暗号体験入門 プログラム概要 このプログラム rsa-1.c は、 RSA 鍵を生成 平文を秘密鍵を用いて暗号化し、暗号文を生成 暗号文を公開鍵で復号化し、平文に戻す もともとの平文と、復号化した平文を比較し、一致することを確認 という機能を持ちます。 コンパイル方法と実行例を以下に示します。 % cc -o rsa-1 rsa-

  • :: Cepheid :: - ブロック暗号の暗号モード

    各暗号モードの説明 ブロック暗号の各暗号モードの詳細について説明する。 ECB(Electronic Code Book) 電子コードブロック もっとも基的なモードで、単純に平文をブロック長ごとに秘密鍵で暗号化して暗号ブロックを作り暗号文を生成する。各ブロックが完全に独立しているのため並列処理が可能で高速だが、平文ブロックに同じパターンが存在すると暗号ブロックにも同じパターンが生じ解読に有益な情報を与えてしまうという欠点がある。 安全性が一番低く、使うべきではない。 CBC(Cipher Block Chaining) 暗号ブロック連鎖 1つ前の暗号化されたブロックと次のこれから暗号化する平文ブロックをXOR演算し、それを秘密鍵を用い暗号化して暗号ブロックを生成する。これにより暗号ブロックは完全に1つに連結され、さらにECBの様に平文中の繰り返しパターンが暗号文に影響することはないので解

  • 暗号化のお話 (2)

    さてここで、図 2 のような手順でデータをやりとりします。 送信者は相手 (受信者) の公開鍵を取り寄せます。 送信者は取り寄せた公開鍵でデータを暗号化し、暗号文を送信します。 受信者は、自分の秘密鍵でデータを復号し、平文を手に入れます。 ネットワークが盗聴されていたとして、盗聴者が手に入れられるものは 受信者の公開鍵 公開鍵で暗号化した平文 の 2つだけです。この 2つでは平文を手に入れることはできません。 「公開鍵で暗号化されたデータは秘密鍵を使わないと復号化できない」 からです。 ここで説明したやりかたで、確かに安全に暗号化を実現することができます。 ただし公開鍵暗号方式の中で最も広く使われている RSA という暗号方式は、 暗号化・復号化に非常に時間がかかるという欠点があります。 どれくらい遅いかというと、一般的な共通鍵方式の数百〜千倍遅いのです。 実際の暗号化処理 公開鍵方式が遅

  • 1