午前試験で定番の公開鍵暗号方式について
ちゅーすけさん
(No.1)
とても丁寧な解説内容なので、忘れてしまったときの復習の際に重宝しております。
一部、解説内容に気になるところ(誤植?)がありましたので投稿させて頂きます。
どの過去問であったか忘失してしまいましたが、公開鍵方式の解説内容にて
『秘密鍵で暗号化されたデータを公開鍵で復号できる』
旨の記載がありましたが、これは暗号化アルゴリズムの選択に依存します。RSAを採用した場合に偶然にもそうなるだけであり、意図したものではないと思われます。意図して相互的なものであればそれは共通鍵方式ということになると思います。
公開鍵は暗号化のみ、秘密鍵は復号化のみを目的としていたと記憶しています。共通鍵を一旦公開鍵で暗号化し相手先へ安全に送付した上で相互の暗号化通信を実現しているはずなのですが…
一部、解説内容に気になるところ(誤植?)がありましたので投稿させて頂きます。
どの過去問であったか忘失してしまいましたが、公開鍵方式の解説内容にて
『秘密鍵で暗号化されたデータを公開鍵で復号できる』
旨の記載がありましたが、これは暗号化アルゴリズムの選択に依存します。RSAを採用した場合に偶然にもそうなるだけであり、意図したものではないと思われます。意図して相互的なものであればそれは共通鍵方式ということになると思います。
公開鍵は暗号化のみ、秘密鍵は復号化のみを目的としていたと記憶しています。共通鍵を一旦公開鍵で暗号化し相手先へ安全に送付した上で相互の暗号化通信を実現しているはずなのですが…
2017.04.16 23:12
通りすがりの者さん
(No.2)
このテーマは、基本情報技術者試験、応用情報技術者試験、情報処理安全確保支援士試験の受験者にも関わる内容です。
公開鍵暗号方式は、大きく2通りの使い方があります。
ひとつは、AがBへメッセージを暗号化して送信する場合です。Aは、Bの公開鍵で暗号化して送信し、Bは、受信したらBの秘密鍵で復号します。
もうひとつは、AがBへディジタル署名を送信する場合です。Aは、メッセージのハッシュ値をAの秘密鍵で暗号化した署名を送信し、Bは、受信したらAの公開鍵で復号してハッシュ値に戻します。
したがって、『秘密鍵で暗号化されたデータを公開鍵で復号できる』という記述は、『公開鍵で暗号化されたデータを秘密鍵で復号できる』と同様に正しいです。公開鍵暗号方式の代表であるRSAに限りません。
公開鍵暗号方式は、大きく2通りの使い方があります。
ひとつは、AがBへメッセージを暗号化して送信する場合です。Aは、Bの公開鍵で暗号化して送信し、Bは、受信したらBの秘密鍵で復号します。
もうひとつは、AがBへディジタル署名を送信する場合です。Aは、メッセージのハッシュ値をAの秘密鍵で暗号化した署名を送信し、Bは、受信したらAの公開鍵で復号してハッシュ値に戻します。
したがって、『秘密鍵で暗号化されたデータを公開鍵で復号できる』という記述は、『公開鍵で暗号化されたデータを秘密鍵で復号できる』と同様に正しいです。公開鍵暗号方式の代表であるRSAに限りません。
2017.04.18 23:11
ちゅーすけさん
(No.3)
wiki掲載『公開鍵暗号』において「秘密鍵で暗号化したものを公開鍵で復号」というような記載は見当たりませんでした。また、共通鍵の問題点を解消するために開発されたものであることが明記されています。「秘密鍵で暗号化したものを公開鍵で復号」が成立してしまうと矛盾します。
データベーススペシャリスト 平成29年春期 午前Ⅰ 問13においても『ディジタル証明書の正当性を,認証局の公開鍵を使って検証する。』とあり、『復号』ではなく『正当性の検証』という表現になっています。
『復号化できる/できない』という技術的な課題ではなく、『ペアキーの正当な使用方法』という手続き上の課題です。
データベーススペシャリスト 平成29年春期 午前Ⅰ 問13においても『ディジタル証明書の正当性を,認証局の公開鍵を使って検証する。』とあり、『復号』ではなく『正当性の検証』という表現になっています。
『復号化できる/できない』という技術的な課題ではなく、『ペアキーの正当な使用方法』という手続き上の課題です。
2017.04.21 15:52
通りすがりの者さん
(No.4)
この投稿は削除されました。(2017.04.22 22:38)
2017.04.22 22:38
通りすがりの者さん
(No.5)
一部訂正して再投稿します。
wiki「デジタル署名」では、「秘密鍵を用いて署名を生成」、「公開鍵を用いて署名を検証」とあります。情報処理技術者試験では、問題文に「秘密鍵を用いて署名を作成」、「公開鍵を用いて署名を検証」などと表現しています。
wiki「電子署名」では、本文ではなく図ですが、「秘密鍵で暗号化」、「公開鍵で複合化」(複合化は誤字)とあります。
また、「ディジタル(デジタル)署名」や「電子署名」をネットで検索すると、大半は「秘密鍵で暗号化」、「公開鍵で復号」とあります。情報処理技術者試験の対策本でもこの表現が多いです。管理人様の解説でもこの表現で統一されています。
ディジタル署名あるいは電子署名の説明としては、「秘密鍵で暗号化」、「公開鍵で復号」の表現が一般化しています。
wiki「デジタル署名」では、「秘密鍵を用いて署名を生成」、「公開鍵を用いて署名を検証」とあります。情報処理技術者試験では、問題文に「秘密鍵を用いて署名を作成」、「公開鍵を用いて署名を検証」などと表現しています。
wiki「電子署名」では、本文ではなく図ですが、「秘密鍵で暗号化」、「公開鍵で複合化」(複合化は誤字)とあります。
また、「ディジタル(デジタル)署名」や「電子署名」をネットで検索すると、大半は「秘密鍵で暗号化」、「公開鍵で復号」とあります。情報処理技術者試験の対策本でもこの表現が多いです。管理人様の解説でもこの表現で統一されています。
ディジタル署名あるいは電子署名の説明としては、「秘密鍵で暗号化」、「公開鍵で復号」の表現が一般化しています。
2017.04.22 22:42
ちゅーすけさん
(No.6)
そうですね。
おっしゃる通り、デジタル署名に一般に用いられています。
ですが、あくまで『検証』であって公開鍵による『復号』ではありません。
wiki >RSA暗号 >デジタル署名方式への応用
においても同様に『検証』という言葉を引用していますが、ビミョーな内容でスッキリしないですが…
このサイト内の解説を再度確認してみましたが『公開鍵で復号』のような文言は見当たりませんでしたので別サイトと混同してしまったかもしれません。管理人さん、申し訳ありませんでした。
おっしゃる通り、デジタル署名に一般に用いられています。
ですが、あくまで『検証』であって公開鍵による『復号』ではありません。
wiki >RSA暗号 >デジタル署名方式への応用
においても同様に『検証』という言葉を引用していますが、ビミョーな内容でスッキリしないですが…
このサイト内の解説を再度確認してみましたが『公開鍵で復号』のような文言は見当たりませんでしたので別サイトと混同してしまったかもしれません。管理人さん、申し訳ありませんでした。
2017.04.23 01:45
通りすがりの者さん
(No.7)
管理人様の解説で、「ディジタル署名を公開鍵で復号」という表現は、例えば、以下があります。
データベーススペシャリスト 平成21年春期 午前Ⅱ 問16
情報セキュリティスペシャリスト 平成21年春期 午前Ⅱ 問5
応用情報技術者 平成24年春期 午前問40
応用情報技術者 平成23年秋期 午前問38
応用情報技術者 平成26年秋期 午前問36
なお、情報セキュリティスペシャリスト 平成23年特別 午前Ⅱ 問7を見ると、「認証局の公開鍵」を使用してディジタル証明書に付された「認証局のディジタル署名」を検証、というように、ディジタル証明書の場合は「復号」を使われていません。
ディジタル署名を「公開鍵で復号」あるいは「公開鍵で検証」という表現は、正確には、「公開鍵で復号してメッセージダイジェスト(ハッシュ値)に変換し、メッセージから求めたメッセージダイジェスト(ハッシュ値)と比較することによって、送信者の真正性とメッセージの完全性を検証」でしょうね。
データベーススペシャリスト 平成21年春期 午前Ⅱ 問16
情報セキュリティスペシャリスト 平成21年春期 午前Ⅱ 問5
応用情報技術者 平成24年春期 午前問40
応用情報技術者 平成23年秋期 午前問38
応用情報技術者 平成26年秋期 午前問36
なお、情報セキュリティスペシャリスト 平成23年特別 午前Ⅱ 問7を見ると、「認証局の公開鍵」を使用してディジタル証明書に付された「認証局のディジタル署名」を検証、というように、ディジタル証明書の場合は「復号」を使われていません。
ディジタル署名を「公開鍵で復号」あるいは「公開鍵で検証」という表現は、正確には、「公開鍵で復号してメッセージダイジェスト(ハッシュ値)に変換し、メッセージから求めたメッセージダイジェスト(ハッシュ値)と比較することによって、送信者の真正性とメッセージの完全性を検証」でしょうね。
2017.04.23 08:27
ちゅーすけさん
(No.8)
RSA暗号を応用した公開鍵方式において、『公開鍵で復号化』という解釈自体がNGですよ。
wiki >RSA暗号 >デジタル署名方式への応用
でも『公開鍵で暗号化』(イタリック文字で「暗号化」を強調している)とありますし、去年投稿の海外BBSにて、
“Can a public key be used to decrypt a message encrypted by the corresponding private key?”
というスレに対して
“A fish is not a bicycle. Similarly, you cannot use a private key to encrypt a message or a public key to decrypt a message. They don't have the right equipment.”
というレス(それぞれが別物であるという意)が残っています。
署名の検証は、検証処理内にRSAアルゴリズムを組み込んで特定している、といった具合です。
wiki >RSA暗号 >デジタル署名方式への応用
でも『公開鍵で暗号化』(イタリック文字で「暗号化」を強調している)とありますし、去年投稿の海外BBSにて、
“Can a public key be used to decrypt a message encrypted by the corresponding private key?”
というスレに対して
“A fish is not a bicycle. Similarly, you cannot use a private key to encrypt a message or a public key to decrypt a message. They don't have the right equipment.”
というレス(それぞれが別物であるという意)が残っています。
署名の検証は、検証処理内にRSAアルゴリズムを組み込んで特定している、といった具合です。
2017.04.24 00:10
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。