IT

【超初心者向け】共通鍵暗号化方式と公開鍵暗号化方式を分かりやすく解説します!

本記事は教養記事シリーズその28です。その他の教養記事はコチラの目次をご覧ください。

★この記事の流れ★

暗号化とは?
共通鍵とは?
公開鍵とは?
秘密鍵とは?

本記事は初学者の理解を優先しているため正確性に欠ける場合があります。致命的なミスはご指摘いただけますと助かります。

暗号化

暗号化ってどういう意味?

 

暗号化を簡潔に説明すると「データを他人にバレない形にすること」です。ネット上の通信を「お手紙のやり取り」とすれば,秘密にしたいお手紙を金庫に入れて渡す操作のことを暗号化と呼びます。暗号化を理解するために,関連する用語を解説しておきます。

暗号化の流れ

●暗号化
→他人にバレないようにする操作
=金庫に鍵をかけること
●復号
→暗号を解く操作
=金庫の鍵を開けること
●平文
→暗号化されていないデータ
=お手紙
●暗号文
→暗号済みのデータ
=金庫の中にあるお手紙

 

暗号化方式

うん!金庫に入れれば安全だね!
でも…。どうやって金庫を開ければいいのかな?

 

金庫に入れた状態で渡せば,当然金庫を開ける鍵が必要になります。長年の間,金庫の鍵をどう扱うかに科学者は頭を悩ませました。鍵の扱いについて,最も基本的な考え方が「共通鍵暗号化方式」と呼ばれるものです。

ここでは,分かりやすいように情報を発信する人を「送信者」,情報を受信する人を「受信者」と呼ぶことにします。送信者は,ある鍵を利用して金庫の鍵を閉めます。受信者は,その鍵と全く同じ形の鍵を送信者から受け取って金庫の鍵を開けようという発想が「共通鍵暗号化方式」です。

共有鍵暗号化方式

しかし,この方法には問題点があります。鍵をどのようにして共有するかという点です。鍵も金庫に入れてしまえばよいでしょうか。そうすれば,また新しい鍵を共有しなくてはならなくなります。その新しい鍵はどのようにして共有すればよいのでしょうか。また金庫にいれますか…?堂々巡りですね。

共通鍵暗号化方式の問題点

この問題に長年の間科学者たちは頭を悩ませてきました。そして,解決方法の1つとして編み出された手法が「公開鍵暗号化方式」なのです。

 

公開鍵暗号化方式

鍵の受け渡し問題を解決すべく開発されたこの手法では,鍵は受け渡しません。その代わりに,「公開鍵」と「秘密鍵」の2種類の鍵を利用してお手紙の受け渡しをします。送信者は,相手(受信者)の公開鍵を利用して金庫の鍵を閉めます。受信者は,自分の秘密鍵を利用して金庫の鍵を開けることで暗号化が成立するのです。鍵を受け渡さなくても済む点が,非常に画期的でした。

公開鍵暗号化方式
公開鍵暗号化方式は1960年代にイギリスの暗号学者であるジェームズ・エリス氏によって開発されました。エリス氏が務めていた政府通信本部は,第2次世界大戦で利用された世界最強の暗号との呼び声高いエニグマの解読を解読した機関としても有名です。

 

公開鍵暗号化方式のしくみ

でも…そんな都合いい鍵なんてあるの?
開ける鍵と閉める鍵が違うって…?

 

ここでは「鍵を閉めるのは簡単,だけど開けるのは難しい」というような仕組みを考えてみます。例えば,料理を考えてみましょう。カレーを作るときは,お肉を炒めて,玉ねぎ・人参・ジャガイモ・トマトなどの野菜を炒めて,しんなりしてきたらルーとお水を入れて…と作っていきますね。いわばレシピ通りにカレーを作るわけです。

公開鍵暗号化方式のしくみ

一方,カレーを食べる人にとっては,そのカレーがどのような食材をどのくらい使ったかを「全て完璧に」言い当てることは難しいでしょう。この仕組みこそが,「鍵を閉める(レシピ通りにカレーを作る)のは簡単,だけど鍵を開けるのは(レシピを完璧に言い当てるのは)難しい」という公開鍵暗号化方式の根本となる考え方です。

レシピを完璧に言い当てるのは難しい

 

ひとこと

実はメールの送受信などにも,これらの暗号化方式は利用されているのです。身近なツールに使われている技術を垣間見れるときというのは,勉強をしていてよかったと感じる瞬間です。先人たちの偉大な発明に,ますます尊敬の想いが増していくばかりです。

ABOUT ME
zuka
京都大学で機械学習を学んでいます。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

※ Please enter your comments in Japanese to prevent spam.