0
高等学校や中学校の授業で暗号プロトコルを学ぶための教育プログラムを開発しました。

今回の教育プログラムでは、暗号化および復号の体験型教材をJavaScriptおよびScrachで開発しました。いずれも、アプリURL(https://ocha-algo.com/)から利用することができます。

 


シーザー暗号を体験してみよう。
シーザー暗号を体験してみよう。ver.2

シーザー暗号とは共通鍵暗号方式の1つで、平文(暗号化される前の情報)を鍵の数値だけずらして暗号化し、暗号文を鍵の数値だけ逆にずらして復号する暗号プロトコルです。このプログラムでは、平文のテキストボックスにアルファベット(半角)を、そして鍵のテキストボックスに整数(半角)を入力し、「暗号化」をクリックすると暗号文を出力することができます。同様に、「復号」をクリックすると、平文を出力することができます。

 

シーザー暗号の解読を体験してみよう。
Let’s experience deciphering the Caesar cipher.

このプログラムでは、シーザー暗号で暗号化された暗号文を盗聴し、それを解読することに挑戦します。「暗号文を盗聴する」をクリックすると、盗聴した暗号文が表示されます。そして、鍵に数値を入力すると、リアルタイムで暗号文が復号され、正しく復号できた場合は、「正解!」と表示されます。英語バージョンも作成しました。

 

 


バーナム暗号を体験してみよう。
バーナム暗号を体験してみよう。ver.2

バーナム暗号とは共通鍵暗号方式の1つで、平文と鍵を排他的論理和することで暗号化し、暗号文と鍵を排他的論理和することで復号する暗号プロトコルです。このプログラムでは、平文と鍵のテキストボックスに0と1からなる数列(半角)を入力し、「暗号化」をクリックすると暗号文を出力することができます。同様に、「復号」をクリックすると、平文を出力することができます。

 


Scratchで暗号体験(バーナム暗号)

このプログラムは、バーナム暗号をScratch上で実装したものになります。

 

Scratchで暗号体験(RSA暗号)
Cryptographic experience in Scratch (RSA cryptosystem)

RSA暗号とは、公開鍵暗号方式の1つで、平文を受信者の公開鍵で暗号化し、暗号文を受信者の秘密鍵で復号する暗号プロトコルです。このプログラムは、RSA暗号をScratch上で実装したものになります。英語バージョンも作成しました。

 

 

 


関連リンク

アプリURL(お茶の水女子大学附属学校における理系女性育成のための新たな教育プログラム開発)

 

アプリケーション

Scratchで暗号体験(バーナム暗号)

https://scratch.mit.edu/projects/490000107/

 

Scratchで暗号体験(RSA暗号)

https://scratch.mit.edu/projects/487102676/