2025年07月02日 第12回
Deffie Hellman鍵共有の話は正直あまり腑に落ちなかったので具体的な数を入れてみて理解できるように努力します.
そうですね.実際にやってみることが大切だと思います.
素因数分解やmod演算といった高校数学の頃慣れ親しんだ概念が高度に応用されているとわかり,
とても興味深かった.
用いているもの自体は簡単かもしれませんが,実際に行うとなると難しくなるということでしょうか.
本日の講義ではmod演算とそのDiffie-Hellman鍵共有への応用を扱った.
Diffie-Hellman鍵共有も,
RSA暗号も発想がすごいと感じたが,
それら以前に英国で既にRSA暗号に相当する暗号が開発されていたということにも驚いた.
それと同時に,
もしかしたら既に10年後に発表されるような暗号が開発されているのではないかと考えると,
胸が躍るような感覚を感じた.
確かにその通りですね.そのようなことがあると思います.
公開鍵暗号方式での暗号化の手順が掴めてきた.
離散対数問題の難しさを実感し,
更にDiffie-Hellman鍵共有における鍵生成の手法を知ったことで,
秘密鍵,
公開鍵をうまく作ることができることに納得した.
特に,
(g^b)^a=(g^a)^bとしてうまく秘密鍵が共有できたときにそのエレガントさに感動した.
DH鍵共有は鍵の共有方法であって,これが秘密鍵・公開鍵となるということではないです.
複数の鍵で重ねて暗号化することで,
より高度な暗号を作るということは可能なのでしょうか.
重ねて・高度というのをうまく理解できていませんが,
繰り返し使う問うことですかね.
強くはならないとおもいます.
今回は公開鍵暗号や鍵共有について学んだ.
鍵共有の仕組みが乱数やmodを用いて説明できることに驚いた.
驚きましたか...
公開鍵暗号がいまいち理解できていなかったが復号側が持っている秘密鍵とペアとなる公開鍵を作ることでそのカギをすれば鍵を渡す問題も解消できるし仮に手に入れても公開鍵では復号できないということで納得できた.
またそのペアとなる鍵の作成においてmod演算を使うことは興味深かった.
次の授業楽しみにしています.
今日は具体的な「ペアとなる鍵」の作成を説明はしていないですが,
理解してくれているように思います.
今回の講義では,
秘密鍵暗号と公開鍵暗号について詳しく学んだ.
いままでどうやって鍵を届けるのかずっと疑問に思っていたのでそれを知ることができてよかった.
講義の最後のものを実際の数値でやってみたらちゃんと結果が導き出されてより理解が深まった.
試してみましたか.よろしいと思います.
高校の情報で習ってそのままいまいちイメージが掴めずにいた公開鍵暗号方式のイメージが掴めた気がします.
暗号の概要だけではなくそれぞれの特徴・難しさの本質や理由について知れてうれしいです.
本質,理由は重要ですよね.
今日は公開鍵暗号方式について学んだが,
復号に必要な鍵は,
公開せず,
暗号化に必要な鍵は公開するため,
解読されにくくなるという点で,
いいと思ったが,
第三者でも同じ暗号化を行うことができるため,
なりすましに対する対策が難しいのではないかと思った.
いいコメントですね.次回触れましょう.
どうやって公開鍵から秘密鍵がバレないようにするのか気になっていたが,
一方向の計算が簡単で逆が難しい計算を使うというのは非常に納得した.
こちらも良いコメントですね.一方向性が重要ですね.
ネット上だとその当時計算量的に説くことが現実的でないとされた問題も未来の人には伝わってしまう可能性があるのだから,
本当に大事なことはいつかは消える紙のデバイスで残すということをすることもあるのかなと思った.
これもまた良いコメントですね.可能性はもちろんありますね.
もしかしたら現在もどこかの情報機関などが秘密裏に新しい暗号方式を隠し持っているかもしれないなどといった空想が捗る.
そうですね,ありますね.日々進歩していると思います.
高校の時あまり理解できていなかった公開鍵暗号方式について今回の講義で理解することができて良かった.
鍵を公開したらそれで解読できてしまうと思っていたが鍵そのものを渡すのではなく鍵を作るのに必要な情報の一部を共有する事で安全性を保っていると知り納得した.
整数を用いた技術としては素因数分解の難しさを暗号化に利用する例があるのは知っていて合同式についても少しは習っていたが,
離散対数という概念は今回の講義で初めて知り他にも計算困難な整数問題があったのかと驚いた.
離散対数問題も使われているので,知っておくと良いでしょう.
公開鍵暗号方式と秘密鍵暗号方式の違い,
しっかりと理解できました.
よろしいと思います.
今回の授業では,
暗号理論について学ぶことができました.
RSA暗号の概要を聞き,
確かに秘密鍵と公開鍵を受信者が発行すれば,
秘密鍵を受信者と送信者同士で共有する必要はなく,
受信者だけが知っていれば鍵の共有手段の問題も解決されるのだなと思い,
RSA暗号の仕組みに衝撃を受けました.
まだ,RSA暗号の仕組みについては話していないです.
鍵共有の仕組みが私たちでもわかる程度だけどこれを編み出したのがすごいなと思いました!!
そうですね.用いているものは理解しやすいものですね.
公開鍵暗号方式と秘密鍵暗号方式の違いや特徴は理解することができた.
自分は高校の時にmodにほとんど触れなかったため計算が慣れていないので,
授業内では理解しきれなかった.
自分で解いてみて理解していきたい.
わからないところは質問してください.
鍵は送る側が作るものでそれをどのように送るのだろうという固定観念的な考え方をしていたので,
受け取る側が鍵を作るというのは衝撃的で,
安全性についてもとても納得できました.
納得できたのであれば良かったと思います.
公開鍵暗号はセットで作った秘密鍵を自分の手元に置いておくことができるため,
安全ということを理解することができた.
また,
離散対数問題を使って鍵を共有する流れが複雑でよく理解できなかったので,
復習して流れをつかみたい.
modの計算は高校範囲では除算まではやらなかったので,
今回学んだことを覚えたい.
アルゴリズムについては補足資料も参考にしてください.
本日の授業では公開鍵暗号方式を始め身近な演算子を具体的に使って暗号の解読の難易度の高さ,
すなわちセキュリティの高さを実際に感じることが出来た.
今日は公開鍵暗号方式の具体的な方法は説明していないです.
説明したのは,鍵共有の方法です.
本日の講義では,
公開鍵暗号についてどのように鍵が作られるかについて知ることができた.
途中でmod計算が出てきて,
高校のときの嫌な思い出がよみがえってきたが,
何とか理解することができた.
なぜ嫌な思い出?でも理解はできた?
秘密鍵暗号に関する説明の時に,
「鍵を送るからこそ危険になる」という根本的なところに目を向けた説明がとても分かりやすかった.
計算の得意不得意に関する雑談で,
ギリシャの人が思っている以上に計算ができたので,
欧米人から「欧]をとっておけという,
先生の話がとても印象に残った.
例えば理科の実験などについて,
結果は分かっているのだからやる意味がないじゃないかなど思うことがある.
しかし,
実際にやってみると,
想定と違うことであったり,
実験の過程で思わぬ学びを得ることがある.
今回の話を通して,
実際に,
自分自身で経験することの重要性を感じることができた.
数学のように厳密に定義されていないことに関しては,
絶対にそうだと思い込まずに,
新たな発見を期待しながら生きていきたい.
確かに自分でやってみるのは大切ですね.
高校で公開鍵暗号方式について学んだが,
鍵情報や共有について詳しくは知らなかったから,
今回で学ぶことができてよかった.
他人に知られてもいい情報を使って鍵配送問題を解決するのは革新的だと思った.
質問になるのですが,
楕円曲線暗号を使って同じように公開鍵暗号方式を取れますか?
同じようにできます.講義でも説明します.
DH鍵共有の仕組みについて,
準備の時にpとgを共有しておくとあったが,
それがバレてしまったらAとBを公開しているので鍵がバレてしまうのではないかと疑問に思いました.
次回再度説明しましょうかね.
講義でも説明したようん離散対数問題を解くのは大変なので,
この意味でバレないということになります.
公開鍵暗号方式の暗号化と復号に使う鍵が異なるということが革新的だと感じた.
公開鍵暗号は今までRSA暗号しか知らなかったが,
Deffie-Hellman鍵共有という暗号もあるのだと知った.
高校の時RSA暗号を授業で扱ったが,
なぜこれで復号できるのかサッパリ分からなかったが,
Deffie-Hellman鍵共有はまだ分かりやすかった.
Deffie-Hellman鍵共有は,暗号ではなくて鍵を共有する方法です.
暗号化のための鍵はAliceが送らなければならないものだと思っていたが,
Bobが送っても良いと知って,
自分の視野の狭さを思い知った.
最初に考えた人は頭が良いなあと思いつつ,
長年の謎が解けてすっきりした
暗号化の鍵はBob が送っても良いではなく,Alice からBobに送る場合は, Bob が送らないとダメということです.
今日も講義ありがとうございました.
今回の講義ではいくつかの暗号の紹介をしていただきましたが,
modを使って暗号を作ることができる暗号を初めて知り,
高校でやったmodが暗号解析の道具として使われることに驚きました.
学校の勉強が私たちの普段の生活に役に立っていることを知れてより一層勉強に励みたいと思います.
今日は暗号の方式についてはお話ししていません.
今まで,
公開鍵暗号であれば鍵配送問題が生じないのならば,
なぜ秘密鍵暗号が残っているのか疑問に思っていたが,
計算負荷が高いか低いかという話を聞いて納得した.
ハイブリッド方式の話もしました.
今回の講義では公開鍵暗号について学びました.
鍵を安全に共有する方法を探すのではなく,
秘密鍵と公開鍵に分けることで復号のための鍵を送らなくてよくするという発想が面白いと感じました.
また,
素数や離散対数を用いることで鍵の安全性を実現していると知ることができました.
理解してくれましたね.
今回の授業の最後にDiffieHelman鍵共有を習いましたが,
この方式は離散対数問題が容易に解けないという信頼があってこそ成り立っているものだと分かりました.
ただ,
何となく自分は離散対数問題を上手に解く解き方がありそうな気がするのですが,
離散対数問題は容易に解けないということは理論的に証明されているのですか?
良いコメントですね.証明はされていないと思います.
今日も授業ありがとうございました.
秘密鍵の共有はどうやって行うのかと思ったんですけど,
そもそも秘密鍵を送信者に共有しない(復号するための)という方法がありなるほどと思ったんですけど,
どのようにして公開鍵で暗号化したものを共有しない秘密鍵で復号するのだろうと思いました.
が,
その後の離散対数を利用した送受信者にしか解けない(時間的に)秘密鍵をmodを利用することで,
お互いのランダムに決めた数(何乗するか)を共有することなく秘密鍵をお互い知れるのは画期的だと思いました.
また,
第三者が解けないようにするには限りなく大きな素数を使う(多分逆数が出ないようにするために素数)必要がありますが,
どれくらいの大きさが基本となっているのでしょうか.
また,
その限りなく大きな素数はどのようにして求めるのでしょうか.
素数を2から掛け合わせその掛け合わせ続けたものに1を足すと素数になるらしいのでそれをりようするのでしょうか.
今回お話ししたのはDH鍵共有です.公開鍵暗号方式ではありません.
modの除算について乗算の逆であるということは理解することができたしやっていることの意味も分かったが個人的にあまり納得できなかった.
何が納得できないですか?
高校の授業で共通鍵暗号方式というものを習った.
今日はさらに深く学べておもしろかった.
レポート課題の提出日が迫っているのでそちらも頑張りたい.
頑張ってください.
AI関係の講義を受けているときも同様に思うのですが,
普段使っているコンピューターの中身は単純化してしまえば高性能計算機であるのだと改めて感じました.
講義ではコンピュータそのものの話はしていないですが...
今回は公開鍵暗号などの具体的な方式について学んだ.
公開鍵暗号では,
簡単に掛け算できるのに素因数分解するのが難しいという一方向性に興味が湧いた.
この先,
可能な計算量が増えてきたとき,
公開鍵暗号はどのように変化していくのか疑問に思った.
今回は,公開鍵暗号方式の具体的な方法については話ていません.
離散対数問題を用いた,安全に秘密鍵を共有する方法を説明しました.
受信者が公開鍵と秘密鍵を作るのだと知ってなるほどと思った.
数学が暗号の安全の基盤となっていて数学の重要性を実感した.
その通りですね.数学は重要ですね.
本日も興味深い講義をありがとうございました.
話を引き延ばしてしまい申し訳ないですが個人的なChatGPTのあだ名は「ちゃっとん」です.
講義について,
秘密鍵暗号と公開鍵暗号の違いを理解できてよかった.
またRSA暗号と聞いた時にあるYouTuberが10桁の数の素因数分解を手計算で行う動画を思い出し,
素因数分解の狂気さを思い出しました.(RSA暗号はいつか解かれそう.)
RSA暗号を解くコンピュータが開発されたとしてそれを使える人は限られるなどすぐすぐ社会問題になるとは考えられないが,
また新たな暗号方式を考えていた方が賢明なのかと考えた.
新しい方式は常に考えられていると思います.
高校の情報の授業で公開鍵暗号や秘密鍵暗号をやったときに間違って理解していたことが今日分かったので,
しっかりと正しい情報を覚えるようにしたい.
最後にやったDeffie-Hellman鍵共有は少し理解できない部分があったので,
次の授業までに理解しておきたい.
正しく理解してくれたのであれば良かったのですが,
どのように間違っていたのかを教えてくれると嬉しいですね.
今回は,
公開鍵暗号方式の考え方やその歴史,
mod計算について学習しました.
講義を通じて,
公開鍵暗号方式の仕組みやmod計算の重要性を理解することができ,
非常に興味深く感じました.
特に,
RSA暗号のように現実の通信に使われている技術が,
数学的な仕組みに基づいて安全性を確保していることに驚きました.
mod計算などの数学的な知識が暗号技術の根幹を支えている点にも大きな関心を持ちました.
数学は大切ですよ.
公開鍵暗号方式においてもバーナム暗号のような情報理論的安全性のある暗号があればと前回思っていたが,
計算量的安全性しかない暗号しか発明されていないのは,
秘密鍵と公開鍵を数学的に関連付けてペアにしなければならないということが障壁になっているのだろうと考えた.
また,
Deffie-Hellman鍵共有では,
Eve視点ではg^a=A(mod p)とg^b=B(mod p)を満たすa,bを求めなければ秘密鍵g^{ab}を知ることができず,
pが非常に大きければ現実的な時間で解けないことが分かった.
話は変わるが,
なぜCS序論の講義で暗号理論が扱われているのか気になった.
同じく講義で扱ったコンピュータの構成や計算理論はCSにとって基礎的で重要なのがわかるが,
暗号理論は比較的応用寄りの話題な気がするし,
師の専門ということでもないらしいため,
何か熱い思いがあればご教授頂きたい.
熱い想いですか...次回触れましょうか.
modに関しては高校までに何度も扱っていたのでおおむね知っていたが,
対数の話は知らなかった.
大きな数の離散対数を求めるのは難しいと言っていたので,
実際にExcelで7のx乗(mod13)の7を変えて試してみたところ,
20ぐらいでエラーが出始めたので求めるのは容易ではないことを身をもって理解できた.
エクセルでやるのはダメですよ....
講義ありがとうございました.
今日の講義も非常に興味深い内容でした.
先週,
コンピュータサイエンスの講義がなく少し物足りない水曜日でした.
やはり水曜日の楽しみがあった方がいいなと感じました.
寂しいですか..では,来年も来ますか?
今回の授業も面白かったです.
Diffie-Hellman 鍵共有でa,bを[1,p-1]から取るのは何か理由があるのでしょうか?なぜその範囲で取っているのかがよくわかりませんでした.
計算量と安全性の兼ね合いでしょうか?
良いコメントですね.あります.次回話ができると思います.
今回は公開鍵暗号方式に関する問題,
mod計算に関して学んだ.
特にmodに関して私は注目して,
modは高校の際にも数学で用いることがあって,
それらが機械的に処理されることは非常に興味深かったし,
まさかそれが共通鍵に応用できるとは思わなかった.
しかし,
これらのように数学的な計算で安全性が確保されていても,
それらが保存されているところによって安全性が左右されてしまうのではないかとも思った.
「それらが保存されているところによって安全性が左右される」という部分の意味がよくわからないのですが...
今回の講義では公開鍵暗号方式がどのように使われているのかが分かりました.
私は送信者が自分の鍵で平文を暗号化するという発想しかありませんでしたが,
公開鍵暗号は,
送信者が受信者の公開鍵で平文を暗号化するのだと知り,
とても画期的な方法だと思いました.
そうですね.画期的と言って良いと思います.
イギリス人のジェームズさんの方が先に概念を先に考えていたが秘密にしていたっと授業で仰っていたが,
前の授業で習ったように秘密鍵暗号は抜け穴があるかもしれないから危険と仰っていた事から,
秘密にされていた間は使われていなかったのか,
それとも安全に近いと考えて使われていたのかが気になった.
また,
資料の文書だけだと少し理解しにくかったが,
図を描いてくださったので理解しやすかった.
秘密にしてたのは,イギリス政府からの指示だと思います.
詳細は知らないですが,公開してしまって,その方法が敵側に用いられてしまうと
厄介だからですかね...
だれか第1次情報にあたって調べてくれるといいですね.
今日の授業も面白かった.
累乗や対数などの計算は,
ただ計算するだけのものだと思っていたが,
暗号化と復号に使うことができることを知り,
驚いた.
そうですね.単なる計算ではないですね.