「公開鍵暗号」の版間の差分

提供: セキュリティ
移動: 案内検索
 
(同じ利用者による、間の4版が非表示)
行1: 行1:
<!--
+
[[公開鍵暗号]] ( public key cryptography ) は、暗号方式の1つです。[[公開鍵暗号]]では、[[鍵ペア]]を利用します。
vim: filetype=mediawiki
+
-->
+
 
+
[[公開鍵暗号]] ( public key cryptography ) は、暗号方式の1つです。
+
 
+
読み方
+
  
 +
'''読み方'''
 
;公開鍵暗号:こうかいかぎあんごう
 
;公開鍵暗号:こうかいかぎあんごう
 
;public key cryptography:ぱぶりっく きー くりぷとぐらふぃー
 
;public key cryptography:ぱぶりっく きー くりぷとぐらふぃー
行13: 行8:
  
 
== 概要 ==
 
== 概要 ==
 
 
[[公開鍵暗号]] ( public key cryptography ) は、「暗号化の鍵」と「復号化の鍵」の2つの鍵を使用します。
 
[[公開鍵暗号]] ( public key cryptography ) は、「暗号化の鍵」と「復号化の鍵」の2つの鍵を使用します。
 
「暗号化の鍵」で暗号化された暗号文は、「暗号化の鍵」で復号化できません。
 
「暗号化の鍵」で暗号化された暗号文は、「暗号化の鍵」で復号化できません。
行25: 行19:
 
このとき、「暗号化の鍵」は、盗聴者に知られても構いません。「復号化の鍵」は、盗聴者に知られてはなりません。
 
このとき、「暗号化の鍵」は、盗聴者に知られても構いません。「復号化の鍵」は、盗聴者に知られてはなりません。
  
[[公開鍵暗号]]では、「暗号化の鍵」を[[公開鍵]]と呼びます。
+
[[公開鍵暗号]]では、「暗号化の鍵」を[[公開鍵]](public key)と呼びます。
 
[[公開鍵]]は、メールで送信して構いません。
 
[[公開鍵]]は、メールで送信して構いません。
  
[[公開鍵暗号]]で、復号化に用いる「復号化の鍵」を[[秘密鍵]](もしくは、プライベート鍵)と呼びます。
+
[[公開鍵暗号]]で、復号化に用いる「復号化の鍵」を[[プライベート鍵]](private key, もしくは、[[秘密鍵]])と呼びます。
[[秘密鍵]]は、誰にも公開してはなりません。
+
[[プライベート鍵]]([[秘密鍵]])は、誰にも公開してはなりません。
  
[[公開鍵暗号]]は、[[公開鍵]]と[[秘密鍵]]が対になっています。この鍵の対を鍵ペアと呼びます。
+
[[公開鍵暗号]]は、[[公開鍵]]と[[プライベート鍵]](もしくは、[[秘密鍵]])が対になっています。この[[鍵]]の対を[[鍵ペア]]と呼びます。
  
 
[[RSA暗号]]は、[[公開鍵暗号]]のデファクトスタンダードです。
 
[[RSA暗号]]は、[[公開鍵暗号]]のデファクトスタンダードです。
  
== インストール ==
 
  
 +
== 公開鍵はプライベート鍵から作成される ==
 +
[[公開鍵]]は、[[プライベート鍵]]から作成されます。
 +
 +
== 公開鍵からプライベート鍵(秘密鍵)は求められない ==
 +
[[公開鍵]]は、[[プライベート鍵]]から作成します。しかしながら、[[公開鍵]]から[[プライベート鍵]](秘密鍵)を求めるのは、困難です。
 +
 +
この「困難」の理由は、「数学的未解決問題を安全性の根拠としている」ことです。
 +
 +
暗号アルゴリズムによって、問題の困難性が異なります。
 +
 +
* [[RSA|RSA暗号]]では、素因数分解問題困難性です。
 +
* ElGamal, [[DSA]] では、有限体上の離散対数問題困難性です。
 +
* [[ECDSA]], PSEC-KEM では、楕円曲線上の離散対数問題困難性です。
 +
 +
根拠となっている困難性は、計算機の能力向上によって脅かされます。[[RSA暗号]]では、素因数分解問題が解けると[[プライベート鍵]]が求まります。
 +
 +
== 公開鍵暗号は共通鍵暗号に比べて計算コストが高い ==
 +
[[公開鍵暗号]]では、復号に時間のかかるアルゴリズムが多くなっています。そのため、[[共通鍵暗号]]のほうが計算コスト上は、パフォーマンスが良いということになります。
 +
 +
[[公開鍵暗号]]と[[共通鍵暗号]]には、メリット・デメリットがありますが、それらを補うために[[ハイブリッド暗号]]を用いることができます。
 +
 +
== インストール ==
 
* [[OpenSSL]]
 
* [[OpenSSL]]
  
 
== 使い方 ==
 
== 使い方 ==
 
 
* [[OpenSSLコマンドを用いた共通鍵暗号]]
 
* [[OpenSSLコマンドを用いた共通鍵暗号]]
  
 
== 関連項目 ==
 
== 関連項目 ==
 
 
* [[OpenSSLコマンドを用いた共通鍵暗号]]
 
* [[OpenSSLコマンドを用いた共通鍵暗号]]
* [[ディフィー・ヘルマン鍵交換]]
+
{{cipher}}
* [[RSA暗号]]
+
<!-- vim: filetype=mediawiki
* [[暗号]]
+
-->
* [[共通鍵暗号]]
+

2014年11月16日 (日) 01:28時点における最新版

公開鍵暗号 ( public key cryptography ) は、暗号方式の1つです。公開鍵暗号では、鍵ペアを利用します。

読み方

公開鍵暗号
こうかいかぎあんごう
public key cryptography
ぱぶりっく きー くりぷとぐらふぃー

概要

公開鍵暗号 ( public key cryptography ) は、「暗号化の鍵」と「復号化の鍵」の2つの鍵を使用します。 「暗号化の鍵」で暗号化された暗号文は、「暗号化の鍵」で復号化できません。 共通鍵暗号 では、暗号化と復号化は同じ鍵を使用します。

共通鍵暗号 では、暗号化と復号化で用いる秘密鍵が共通であるため、鍵配送問題があります。 この鍵配送問題を解決する方法は、いくつかありますが、ソリューションの1つが公開鍵暗号です。

公開鍵暗号では、メッセージを暗号化するときに、「暗号化の鍵」を使用して、暗号化します。 暗号文を復号化するときは、「復号化の鍵」をします。 このとき、「暗号化の鍵」は、盗聴者に知られても構いません。「復号化の鍵」は、盗聴者に知られてはなりません。

公開鍵暗号では、「暗号化の鍵」を公開鍵(public key)と呼びます。 公開鍵は、メールで送信して構いません。

公開鍵暗号で、復号化に用いる「復号化の鍵」をプライベート鍵(private key, もしくは、秘密鍵)と呼びます。 プライベート鍵(秘密鍵)は、誰にも公開してはなりません。

公開鍵暗号は、公開鍵プライベート鍵(もしくは、秘密鍵)が対になっています。このの対を鍵ペアと呼びます。

RSA暗号は、公開鍵暗号のデファクトスタンダードです。


公開鍵はプライベート鍵から作成される

公開鍵は、プライベート鍵から作成されます。

公開鍵からプライベート鍵(秘密鍵)は求められない

公開鍵は、プライベート鍵から作成します。しかしながら、公開鍵からプライベート鍵(秘密鍵)を求めるのは、困難です。

この「困難」の理由は、「数学的未解決問題を安全性の根拠としている」ことです。

暗号アルゴリズムによって、問題の困難性が異なります。

  • RSA暗号では、素因数分解問題困難性です。
  • ElGamal, DSA では、有限体上の離散対数問題困難性です。
  • ECDSA, PSEC-KEM では、楕円曲線上の離散対数問題困難性です。

根拠となっている困難性は、計算機の能力向上によって脅かされます。RSA暗号では、素因数分解問題が解けるとプライベート鍵が求まります。

公開鍵暗号は共通鍵暗号に比べて計算コストが高い

公開鍵暗号では、復号に時間のかかるアルゴリズムが多くなっています。そのため、共通鍵暗号のほうが計算コスト上は、パフォーマンスが良いということになります。

公開鍵暗号共通鍵暗号には、メリット・デメリットがありますが、それらを補うためにハイブリッド暗号を用いることができます。

インストール

使い方

関連項目