2026年09月29日 第1回
疑問に思った点として、 公開鍵暗号の公開鍵と秘密鍵のセットでの作成方法について、 どのような手法を使うのか疑問に思いました。 また、 複数パターン作成しなければいけない方式の暗号なので、 大量の受信者に送信する際の鍵作成のコスト面での問題はないのか疑問に思いました。
講義でも説明しましたが,まだ,「公開鍵暗号の公開鍵と秘密鍵のセットでの作成方法について、
どのような手法を使うのか」ということについては,次回以降です.
複数パターンというのは何のパターンなのでしょうか.
共通鍵暗号の話を最初に聞いた際、
「そもそも共通の鍵を誰にも知られずに二人で共有するのは直接会わないと不可能なのでは?」とうっすら考えながら授業を聞いていましたが、
実際にこのことは問題になっていたことがあり、
鍵配送問題という名前がついていることが分かりました。
また、
現代の暗号はほぼ全て「理論的にはいつかはとけるが、
現実的な時間で終わらない」ということに基づいていることが分かりました。
このことから、
コンピュータの計算能力が別次元に向上する革新的な進化があると計算量的安全性では不十分になり情報理論的安全性を満たすものでないと使い物にならなくなる可能性が無くはないのかなと思いました。
公開鍵暗号方式が理論的にはいつかは解けるということですね.
また,コンピュータの計算能力が...というのはその通りです.次回触れましょう.
計算量的に安全な暗号方式だけでなく、 情報理論的に安全な暗号方式が、 あることを初めて知りました。 また、 資格取得の勉強をしていたとき、 公開鍵暗号方式の問題で、 アルゴリズムを公開していいかをよく誤答していました。 今回の講義で、 アルゴリズムを隠して安心してはいけないことや鍵を守るべきということに納得がいき、 暗号やセキュリティの面白さが少しわかった気がします。
少しだとしてもわかったのであればよかったです.
*分かったこと
暗号の歴史: 古代のスキュタレー暗号、
シーザー暗号から、
ヴィジュネル暗号、
バーナム暗号、
エニグマへと進みます。
1949年にシャノンがバーナム暗号の情報理論的安全性を証明し、
1976年にDiffie-Hellman鍵共有で公開鍵の考え方が出た。
その後、
RSA、
DES、
エルガマル暗号、
楕円曲線暗号、
AESと続き、
AESが現代の標準であることが分かった。
情報理論的安全性と計算量的安全性の違い: 前者は理論上、
無限の計算力があっても破れない安全性です。
後者は現実的な時間では破れないという安全性で、
公開鍵暗号はこちらに基づくと理解した。
*分からなかったこと
公開鍵暗号の方が鍵配送問題を解決できるのに、
なぜ共通鍵暗号(AESなど)も現代の標準として使われ続けているのか。
良いコメントですね.次回触れましょう.
今回の講義では、 暗号の基礎知識について学習することができました。 その中で、 暗号理論の登場人物であるMallaryの立ち位置の暗号化されたメッセージの内容を解読して書き換えるタイプなどの妨害が実際にいた場合、 それに受信者側がメッセージを変更されたことに気づくことのできるシステムなどはないのか気になりました。
こちらも良いコメントですね.よく考えていますね.
今回の授業では、 暗号について学習しました。 暗号は情報を他人に知られないように送るもの。 平文から返還することを暗号化という。 元の平文に戻すことを複合化という。
復号ですね.化をつけるかどうかは説明しましたが, ここでは敢えてつけたのですかね.
現在の暗号の殆どは、 アルゴリズムを公開しているものが大半だと知って驚いた。 暗号化する方法を公開してしまえば、 受信者と送信者以外の第三者にも簡単に暗号文を見破られてしまうのではないかと思ったが、 話を聞くにつれ、 復号するための鍵を秘密にしておく公開鍵暗号というれっきとしたセキュリティの高い暗号なのだと知って、 納得できた。 また、 暗号の安全性についても物理的に平文を断定できないために安全性の高い情報理論的安全性と、 無限のリソースを割いてしまえば解けるが、 現実的にその時間を確保することは困難なため、 安全性は高いという安全性などその暗号の強みにも色々差があることが分かり勉強になった。
理解してくれたようでよかったと思います.
高校で習ったmodや数学の基礎理論が公開鍵暗号のセキュリティーを支える基盤になっていると分かった。
そうですね.高校で習うものが使われていますね.
「公開鍵暗号方式」や「共通鍵暗号方式」は前期の情報理論の授業で学修したが、 今回の講義でそれ以外の暗号化方式やそもそも暗号化という概念自体が古来から存在していたということが興味深かった。
いつの時代でも守りたいものはあるということだと思います.
情報理論で学んだ鍵暗号について、 あいまいだった記憶を思い出すことができた。 鍵の仕組みについて再度確認することができた。
理解できたのであればよかったと思います.
公開鍵暗号方式について、
公開鍵は誰もが知ることができるので本来想定している送信者以外の人でも受信者に向けて暗号文を送ることができると思うのですが、
受信者側は送られてきた暗号文が送信者が送ったものかを判断できるのか疑問に思いました。
また、
演習課題について提出形式の指定があるか知りたいです。
良いコメントですが,講義でも触れましたが,デジタル署名, メッセージ認証コードなどが用いられます.次回触れましょう.
登場人物として送信者と受信者のAliceとBob。
必ずしも悪人でない盗聴者のEve。
盗聴に加えてデータ改ざん等の攻撃をしてくるMalloryの関係がわかった。
暗号のアルゴリズムは公開されているものであり、
バレていないものだと思ってはいけない。
共通鍵暗号は暗号化と復号で共通の鍵を用いるため,Eveに対して鍵がバレないように鍵をAliceがBobに送る鍵配送問題がある。
その問題を解決するための方法が暗号化の鍵(公開鍵)と復号の鍵(秘密鍵)を分ける公開鍵暗号方式は公開鍵は公開しても問題ないが, 秘密鍵は公開してはいけないものでこの秘密鍵をEveが見つけるには計算量的安全性があるため困難とされていることがわかった。
Eveは盗聴している時点で悪人だと思いますよ.
これまでの情報科学科の授業でも「暗号化」という単語はよく出てきましたが、
出てきましたが?
今回の講義では、 暗号には情報を第三者に読まれないようにする役割があり、 シーザー暗号では合同演算を使って文字をずらすことで暗号化できることが分かりました。 共通鍵暗号方式と公開鍵暗号方式では鍵の使い方が異なることも理解できました。 その中でも公開鍵暗号では離散対数問題のような計算の難しさが安全性に関係していることが印象に残りました。
理解はできましたか?
エニグマが突破されたときのエピソードが知りたい。
とても強固な暗号であったことを耳にしたので。
計算量的安全性と情報理論的安全性のそれぞれのメリットについてよく理解できた。
講義では話しませんが,エニグマの場合も, 正しい使い方をしていないのが理由だったと思います.
前期前半の情報理論の授業で授業で共通鍵暗号方式、 公開鍵暗号方式などについて学習していて知識はあったが、 公開鍵暗号方式で誰がどの鍵を使うかを忘れてしまっていたが、 受信者が秘密鍵と公開鍵を作り公開鍵を用いて送信者が暗号化をし受信者が秘密鍵で複合するということを思い出せた。 また、 mod計算の計算方法についても思い出すことができた。
前期後半でやっているのですね.情報理論は必修ですか?
今回の授業を通して特に、 共通鍵暗号と公開鍵暗号の違いや、 暗号を安全にするための違いや、 暗号を安全にするための考え方について理解することが出来た。 また、 One-Time-Padでは、 平文と同じ長さの完全にランダムな鍵を使い、 XORによって暗号化することで、 理論上は解読できないということが印象に残った。 一方で、 鍵が一回しか使えないことや鍵を安全に共有する必要があるなど、 実際に利用するには難しい点もあるとわかった。
その通りですね.使うのは大変です.
先生が書く線が真っ直ぐになっていてあのアプリ便利そうだと思いました。 塾のバイトしているため是非教えてほしいです。
GoodNotes というアプリです.使っている人は多いようです.
暗号の安全性には情報理論的安全性と計算量的安全性の二つがあることが分かりました。
無限の計算資源を使っても解読できないものが情報理論的に安全で、
既存の最も高度な方法を使っても莫大な計算量が要るものが計算量的に安全です。
公開鍵暗号でBobの公開鍵を使って暗号化した暗号文はBobの秘密鍵でしか復号できないという話は計算量的に安全という意味だと理解しました。
共通鍵暗号では同じ鍵を暗号化と復号の両方に使うためAliceが作った鍵をBobにどうやって安全に届けるかという鍵配送問題が起きます。
公開鍵暗号は暗号化の鍵と復号の鍵を分けてBobが作った公開鍵だけをAliceに送ることでこの問題を避けているのだと分かりました。
理解していると思います.
バーナム暗号が情報理論的安全性が保証されている理由が復号しようとすると全パターンの文字列が出る可能性があるので鍵が無ければ平文に戻せないというのが面白かったです。
正しく運用すればバーナム暗号が情報理論的に安全で解読されない定性的な説明が分かりました。
実際に使われていたRSA暗号で特に重要な情報を送受信するなら鍵の桁数を増やすことがあるのでしょうか。
それとも使用する鍵の桁数は規格などで決められているのでしょうか。
規格などで決められていることはないと思いますが,鍵の長さが長いと良いですね.
今回の授業を通じての感想として私は資格の勉強をしていてちょうど共通鍵暗号方式と公開鍵暗号方式を勉強していました。 おおまかな知識などはありましたが、 その方式の誕生の歴史や細かな説明を聞き、 理解がでました。 また、 バーナム暗号を学んだ際に最初、 XORで暗号を作成したした際にこれは計算量的安全性に値するのではないかと思っていたが、 暗号文はわかっても秘密鍵にはいろいろな似たような言葉があるので平文を特定することができないという説明を受けた際に、 理解できた。
理解できたのであればよかったと思います.
今回の講義で、 暗号は送信者が送りたい内容を第三者には知られないようにし、 受信者だけが分かるようにする技術であり、 暗号化と復号は鍵によって定まる関数として表せることが分かりました。 シーザー暗号の「アルファベットを3文字ずらす」操作が mod 26 の合同式で書けることや、 共通鍵暗号には鍵をどのように安全に相手へ届けるかという鍵配送問題があり、 それを解決する方法として公開鍵暗号が考えられたという流れも理解できました。 また、 安全性には、 現存する最高の方法を用いても莫大な計算量が必要になる計算量的安全性と、 無限の計算資源を用いても解読できない情報理論的安全性があり、 バーナム暗号は正しく運用すれば後者を満たすという点が印象に残りました。
理解できていると思います.
今回の講義を通して、
古代のシーザー暗号から現代の公開鍵に至るまでの歴史や、
情報を保護するための具体的な仕組みを理解することができた。
特に印象的だったのは、
現代暗号ではアルゴリズムを公開したうえでカギの秘密背と数学的なときに草によって安全性を保っている点と、
無限の計算資源があっても解読できない情報理論的安全性と現実的な時間では解けない計算量的安全性の違いです。
文字をビットの0と1に変換して鍵とXORを取るバーナム暗号について、
全ての鍵を総当たりで調べたとしても元の平文以外の意味を通る文章が現れてしまうため絶対に特定できないという話には、
組み合わせの数の大きさと数学的な強さに驚いた。
一方、
RSA暗号の根拠である素因巣分解は、
今ものすごく高性能なコンピュータを使えば意外と簡単に解けてしまのではないかと直感的にはア思ったので、
実際にどれくらいの計算量や桁数で安全性が担保されているのか疑問に思った。
また、
講義中では概要のみだった楕円曲線暗号についても、
どのような仕組みで暗号として成り立っているのか気になったので、
今後の講義などでさらに詳しく学びたい。
理解してくれたようですが,タイポが多いですね.
今回の授業では共通鍵暗号と秘密鍵暗号とはなにか、 情報理論的安全性と情報量的安全性の違いについて理解することができた。 今まで暗号化されたものは無限の計算資源を使えば全て解読可能だと思っていたが、 バーナム暗号のような絶対に解読できないものがあることが分かった。
理解してくれたようですね.
スキュタレー暗号自体は、
NHKの番組で「ピタゴラ暗号棒」として紹介されていたので覚えていましたが、
今回正式名称を知ることができて良かったです。
他にもシーザー暗号や上杉暗号など、
これまで聞いたことのあった暗号がどのようなものなのかを知れて、
知識がつながって嬉しかったです。
また、
暗号と聞くと戦争や外交などに用いられる遠い存在のように感じますが、
暗号の歴史は紀元前からと非常に長く、
現在ではAESなど身近で重要な存在であることに気づかされました。
他にも、
ワンタイムパッド、
情報理論的安全性、
計算量的安全性などの用語の意味や性質を理解しました。
また、
必修科目である情報理論では、
共通鍵暗号方式やRSA暗号などを軽く学びましたが、
この科目ではそれらについてより詳しく学べるため嬉しいです。
次回の講義では、
より定量的、
数学的な視点からの話があると思うので楽しみです。
疑問点として、
ワンタイムパッドであるバーナム暗号について興味を持ちました。
1917年当時はコンピュータが存在していなかったため、
どのような方法で乱数を生成していたのかが気になりました。
確かにコンピュータはないのですが,紙テープだったと思います.
みなさんは経験はないかもしれませんが,プログラミングにも
紙(パンチカード)を使っていたのはそんなに昔ではないです.
今回の講義を通して、 情報理論的安全性と計算量的安全性を理解することができた。 計算量的安全性はあるシステムを解読するための既存の最高効率な方法を用いても莫大な計算量を要するものに対していえることであるが、 進化し続けるAIやコンピュータの存在を前にしても果たして安全といえるのか疑問に思った。
良いコメントですね.次回触れましょう.
歴史を通してどのような暗号方式が開発されてきたことがよくわかりました。
特に、
古典暗号は情報理論的安全性を重要視して暗号が進化してきたのに対して、
現代の暗号では計算量的安全性を重要視して暗号が進化していったことがよくわかりました。
そうですね.進化は大切ですね.
今回の講義では、 シーザー暗号や鍵配送問題について学びました。 特に、 暗号化するだけでなく、 鍵をどのように安全に共有するかも重要だと分かりました。 計算問題ではmodの扱いに少し戸惑ったので、 もう一度確認したいです。
確認してください.
今回の授業では、 以前履修した情報理論と似ている内容があり、 これまでに学んだ知識と結びつけながら理解することができました。 また、 高校数学で学んだ内容を使う場面も多く、 復習しながら問題を考えることができて楽しかったです。
楽しかったのであればよかったと思います.
暗号の安全性は、 情報理論的に安全な場合と計算量的に安全な場合の2種類に分けられることが分かった。 コンピュータは万能だと考えていたが、 コンピュータでも計算量が膨大過ぎるために解読が困難になり、 安全性を担保できるということを知ることができた。
万能ではないですね.
計算量的安全性について学んで、 暗号の安全性は暗号方式だけで決まるものではないと感じた。 現在は現実的な時間では解読できない問題でも、 いずれコンピュータの性能が向上していくと、 将来的には解読に必要な時間が短くなる可能性があると思う。 そのため、 暗号は一度安全なものを作れば終わりではなく、 計算機の性能や新しい攻撃手法の登場に応じて見直される必要があるのだと思った。 また、 暗号の安全性は単に仕組みが複雑かどうかではなく、 想定される攻撃に対してどの程度耐えられるかによって攻撃からの視点などで考える必要があることも分かり、 興味深かったです。
見直しは必要ですね.
情報理論で公開鍵と秘密鍵については、
ざっくりと勉強しましたが、
今回また改めてわかりやすく解説していただき助かりました。
ざっくりですか.
この授業を聞いて分かったことは、 暗号の歴史と共通鍵暗号と公開鍵暗号についてだ。 情報理論的安全性と計算量的安全性についても理解を深めることができた。 また、 暗号にも歴史があり、 暗号のいちばん古いものが紀元前だったということにも驚いた。 次の授業も楽しみにしたいと思う。
理解できてよかったと思います.
公開鍵暗号方式の原理について理解し、
発想が面白いなと思いました。
共通鍵方式に関して鍵の配送問題がどうなっているか気になりました。
説明していたらすみません、
説明しました.
共通鍵暗号は同じ鍵を使うから分かりやすいけれど、 そもそも「どうやって、 相手と安全に鍵を共有するのか」という問題が出てくる。 それを解決したのが公開鍵暗号で、 誰でも使える公開鍵と自分だけの秘密鍵というペアを作る発想が面白いと思った。 鍵の共有方法や仕組みの違いを整理してみると、 暗号の成り立ちが一気に理解しやすくなった。 仕組みの工夫でセキュリティの問題をクリアしているのがよく分かって興味深かった。
理解できましたか?