Discuss Scratch

gaudi1116
Scratcher
2 posts

RSA暗号をscratchで作るために話し合う会

RSA暗号に必要な、素数を発見するプログラムや、暗号のプログラムをいっしょに考えよう!
(一応言っておきますが、主は小学生なので、数学の知識はそこまでないです。)
mikann-260
Scratcher
9 posts

RSA暗号をscratchで作るために話し合う会

素数を調べるスクリプトは、最初に素数のリストを用意すればよいのではないでしょうか?
gaudi1116
Scratcher
2 posts

RSA暗号をscratchで作るために話し合う会

mikann-260 wrote:

素数を調べるスクリプトは、最初に素数のリストを用意すればよいのではないでしょうか?
たしかに!
mikann-260
Scratcher
9 posts

RSA暗号をscratchで作るために話し合う会

CopilotによるとRSA暗号は以下のようになっています。
1.鍵ペアの生成:
RSA暗号では、2つの鍵を使います。1つは「公開鍵」で、もう1つは「秘密鍵」です。
まず、大きな素数(数字で割り切れる数ではない数)を2つ選びます。これらの素数を使って鍵を生成します。
2..公開鍵と秘密鍵の作成:
公開鍵は、誰にでも知ってもらって構いません。この鍵を使って暗号化されたメッセージを受け取ることができます。
秘密鍵は、あなただけが知っているべきものです。この鍵を使って暗号化されたメッセージを解読できます。
3.暗号化と復号:
送りたいメッセージを暗号化する際には、相手の公開鍵を使います。公開鍵で暗号化されたメッセージは、秘密鍵でしか解読できません。
受け取った暗号文を復号するには、秘密鍵を使います。
4.例:
たとえば、友達に「こんにちは!」というメッセージを送りたいとします。
友達の公開鍵で「こんにちは!」を暗号化します。
友達は、自分の秘密鍵を使って暗号文を解読し、「こんにちは!」というメッセージを読むことができます。
RSA暗号は、インターネット上でのセキュアな通信や、オンラインバンキング、電子メールなどで広く使われています。数学的な背景は少し複雑ですが、このようにして情報を守ることができるのです!
mi9g0n
Scratcher
1000+ posts

RSA暗号をscratchで作るために話し合う会

素数のリストを用意したら、そのリストの中の素数を使って暗号を作ったことが分かってしまうように思えますが、それでも良いのでしょうか
newmomizi_txt
Scratcher
1000+ posts

RSA暗号をscratchで作るために話し合う会

Scratchではリストは最大で20万個の要素までしか用意できません。
この程度であれば、一般的なパソコンでも一瞬で試し割りができます。
実際のRSA暗号では、乱択アルゴリズムを使用して「素数である可能性が高い数」を鍵に使用することが多いです。

Scratchでの実装例もいくつか載せておきます。
https://scratch.mit.edu/projects/132825294/
https://scratch.mit.edu/projects/213445347/

Powered by DjangoBB