(ページの作成:「* なんとなく使っているけど、よくわかっていない公開鍵暗号方式 == 基本 == * 秘密鍵と公開鍵がある。この2つは対になって...」)
 
(基本)
 
5行目: 5行目:
 
* 秘密鍵で変換したデータは公開鍵で元に戻すことができる。
 
* 秘密鍵で変換したデータは公開鍵で元に戻すことができる。
 
* 公開鍵で変換したデータは秘密鍵で元に戻すことができる。
 
* 公開鍵で変換したデータは秘密鍵で元に戻すことができる。
 +
* 公開鍵は秘密鍵から生成できる(逆はできないので、秘密鍵を紛失したら終わり)
  
 
== 特定の人だけが見てもよいデータ ==
 
== 特定の人だけが見てもよいデータ ==

2021年3月18日 (木) 17:39時点における最新版

  • なんとなく使っているけど、よくわかっていない公開鍵暗号方式

基本

  • 秘密鍵と公開鍵がある。この2つは対になっている。
  • 秘密鍵で変換したデータは公開鍵で元に戻すことができる。
  • 公開鍵で変換したデータは秘密鍵で元に戻すことができる。
  • 公開鍵は秘密鍵から生成できる(逆はできないので、秘密鍵を紛失したら終わり)

特定の人だけが見てもよいデータ

  • 相手(=特定の人)は秘密鍵を持っている。
  • 相手から公開鍵を受け取る。
  • 公開鍵でデータを変換、相手へ渡す。
  • 相手は秘密鍵でデータを変換すると元の情報を入手できる。
  • 秘密鍵を持つ人だけが元に戻せるので、通信経路は暗号化されている必要は無い。
  • これがデータを暗号化、復号する流れ。

自分が作成したことを証明する

  • 自分は秘密鍵を持っている。
  • データのハッシュ値を求め、秘密鍵でデータを変換する。つまり、ハッシュ値を暗号化する。これが電子署名。
  • データと電子署名と公開鍵を相手へ渡す。
  • 相手はデータのハッシュ値を求める。
  • 相手は電子署名を公開鍵で変換(復号)
  • データのハッシュ値と電子署名を公開鍵で変換(復号)したものが同一であれば、電子署名したファイルから変更されていないことが確認できる。
  • これが署名、検証する流れ。

facebook slideshare rubygems github qiita