対称暗号と非対称暗号:その違いとは?
暗号技術とは、敵対者から保護する必要がある安全な通信を実現するための研究と実践である。暗号システムには複雑な数学が利用されることもあれば、学校の校庭に定期的に登場する言語ゲーム「ピッグ・ラテン」のように単純なものもあります。暗号の用途は、言いたいことをおせっかいな盗聴者から守ることである。もちろん、オンライン・バンキングやATMカード、スマートフォンなどで日常的に使われているさまざまな種類の暗号化は、デジタル・データを安全に保つために設計された数多くの数学的アルゴリズムに基づいて構築されている。これらのアルゴリズムのうち、対称暗号と非対称暗号という2つの主要な形式があります。一般的にスパイや秘密の暗号と聞いて思い浮かべるのは対称暗号の例ですが、実は通信の安全性を確保するためにはもっと複雑な仕組みが必要なのです。では、対称暗号と非対称暗号にはどのような違いがあるのでしょうか?調べてみよう。
対称鍵暗号化
対称鍵暗号は、データを暗号化・復号化するために同じ秘密鍵(キー)を使用することから、この名前がつきました。対称鍵暗号には様々な形式があるが、暗号鍵と復号鍵が同じであれば、このグループに入る。
この例では、アリスが文書を暗号化するときと、 ボブが文書を復号化するときに同じ鍵を使っています。
すべての暗号化アルゴリズムが同じように機能するわけではなく、対称暗号には大きく分けてストリーム暗号とブロック暗号の2種類があります。この2つの主な違いは、データのビットがどのように暗号化されるかにあります。ストリーム暗号は、データの全バイトが暗号化されるまで、キーストリーム(名前の由来)によって生成された擬似乱数と組み合わせることによって、データの全バイトを1つずつ個別に暗号化する。一方、ブロック暗号は、変化しない数のバイトをグループ化し、そのグループを暗号化する。最終的なグループのサイズが他のブロックより小さい場合、そのグループは対応するブロックサイズになるように「パディング」される。ストリーム暗号はブロック暗号よりも高速で、それほど性能の高くないハードウェアでも動作する傾向があるが、セキュリティ上のリスクを抱えやすい。
対称鍵暗号のよく知られた例
おそらく最もよく知られている共通鍵アルゴリズムはRijnael/AESだろう。AES(Advanced Encryption Standard)はブロック暗号で、DESに代わるデフォルトの共通鍵暗号化プロトコルとなった。DESの後継としてNISTのコンペに勝利した後、AESは瞬く間に業界標準となった。今日、AES256(256ビットの鍵を持つAES)は、暗号学者やセキュリティ専門家によって量子耐性があると考えられている。
AESのラウンド関数の例。
対称暗号はどのような場合に使われるのか?
対称暗号は一般的に、その速度のために大量のデータを暗号化するために使用される。例えば、Tutaではすべてのユーザーデータはクライアント側でAES256による対称暗号化を使って暗号化されます。WPAは対称暗号方式に基づいて構築されているため、WiFi接続を使用している場合、家の周りで対称暗号方式を使用している可能性が高い。対称暗号化は、暗号化キーを共有する安全な方法が必要なため、他の当事者と通信する際に困難に直面します。そこで、非対称鍵暗号化が登場する。
非対称または公開鍵暗号化
非対称鍵交換は1976年、Whitfield DiffieとMartin Hellmanによる画期的な論文の発表により、初めて世間に知られるようになりました。公開鍵」暗号とも呼ばれる非対称暗号では、1つの共有鍵の代わりに2つの鍵を使用する。公開鍵暗号化モデルでは、公開鍵を使ってメッセージを暗号化し、受信者の秘密鍵を使って復号化する。非対称鍵暗号化は、公開鍵が公開されるように設計されており、対称暗号化鍵と同じように保護される必要がないため、インターネット上での通信に特に便利です。
非対称鍵暗号の一般的な例
よく知られた暗号アルゴリズムの多くは、このカテゴリーに属する。RSA暗号システム、SSHやTLS/SSLプロトコル、PGPプログラムなどはすべて、よく知られた非対称暗号の例です。RSAは業界標準であったが、量子的耐性を持つ暗号化の追求により、最近人気が落ちている。
この図は、アリスとボブがデータの暗号化と解読に秘密鍵と公開鍵のペアをどのように使うかを示している。
非対称暗号はどんな時に使われるのか?
非対称暗号は、主にインターネット上で暗号鍵を送信するために使われます。メッセージの内容が対称暗号化で暗号化されている場合、メッセージの受信者と秘密を安全に共有する必要があります。これは非対称暗号化で行われます。公開鍵暗号は対称暗号よりも遅く、そのためデータの暗号化と復号化により多くのリソースを必要とする傾向があります。異なる種類の鍵(公開鍵と秘密鍵)を組み合わせて使用することで、より高度なセキュリティが要求される。また、鍵のサイズは一般的にそれほど大きくないため(大きな文書、画像、動画に比べて)、より大きなデータ本体を復号化するための共通鍵を安全に送信するのに使用できる。
このハイブリッド暗号システムは、データ本体の暗号化に共通鍵を使用し、暗号化されたデータの復号化とアクセスに必要な秘密の共有に非対称暗号を使用するメッセージング・アプリケーションでよく使用される。
暗号はオンライン・プライバシーとセキュリティの鍵である
暗号は、数学的な深みと複雑さに富んだ巨大な分野です。暗号プロトコルを適切に導入することは、データとオンライン・プライバシーを保護するための基礎となります。プライバシーを取り戻すために暗号化の複雑さを理解する必要はありません。Tutaは暗号化を迅速かつ簡単に使用できるようにします。
数回クリックするだけで、強力なポスト量子暗号化を使用し、プライバシーを守る権利を取り戻すことができます。
Tutaで使用されている暗号化アルゴリズムの詳細については、暗号化の詳細ページをご覧ください。