Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

プレビュー

暗号のはじまり

これはレッスンの最初のページです。読んで、アクティビティを試してみましょう。続きは授業の全体にあります。

35分

友だちだけに読める手紙

授業中に、友だちへ小さなメモを回したくなったことは、ありませんか。

もし先生に見つかっても、読めなければ、困りません。

文字を、決まりでこっそり変えておけば、決まりを知る人だけが読めます。それが暗号です。

今日のキーワード

ことばいみれい
暗号決まりで文字を変えて、他の人に読めなくすることです。
平文暗号にする前の、そのまま読める文です。HELLO
暗号文暗号にしたあとの文です。KHOOR
鍵暗号にする決まりの、大事な部分です。
復号暗号文を、元の平文に戻すことです。
シーザー暗号文字を決まった数だけ、ずらす暗号です。

学生が入力するセルは、このプレビューでは空白です。

シーザー暗号

約2000年前のローマの将軍、シーザーが使ったといわれる暗号です。

文字を、アルファベット順に、決まった数だけずらします。ずらす数が鍵です。

鍵が3なら、AはDに、BはEになります。

小さな確認: ずらす

やってみよう

小さな確認: ずらす

3問
挑戦してみましょう。回答はここで採点され、その後は保存されません。点数を残したい場合や、続きから再開したい場合はログインしてください。ログインして点数を保存

答えはここで採点され、保存されません。アカウントがあれば、結果が残ります。

例: 鍵が3のずらし方

もとの文字3つずらす暗号の文字
AA → B → C → DD
HH → I → J → KK
LL → M → N → OO
XX → Y → Z → AA

学生が入力するセルは、このプレビューでは空白です。

やってみよう: 暗号にする

コード: python
ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
key = 3
plain = "HELLO"

secret = ""
for letter in plain:
    position = ALPHABET.find(letter)
    # 26 で割った余りで、Z のあとを A に戻します。
    new_position = (position + key) % 26
    secret = secret + ALPHABET[new_position]

print(plain, "->", secret)

# key を 5 に、plain を "SCHOOL" に変えましょう。

例: 鍵を変えると

平文鍵暗号文
HELLO3KHOOR
SMILE3VPLOH
SCHOOL5XHMTTQ
CAT1DBU

学生が入力するセルは、このプレビューでは空白です。

元に戻す

暗号文を読むには、逆向きにずらします。これを復号といいます。

鍵が3なら、KHOOR の各文字を3つ戻します。KはHに、HはEに戻り、HELLO になります。

鍵を知らない人は、戻し方がわかりません。

この暗号は、弱い

シーザー暗号の鍵は、1から25までの25通りしかありません。

全部を試せば、すぐに読めてしまいます。コンピュータなら、一瞬です。

また、よく出る文字から、鍵を当てる方法もあります。英語では、Eがよく出ます。

レッスンはまだ続きます

このレッスンの残り5つの部分は、練習問題や最後の確認とともに、授業の全体にあります。アカウントがあれば、すべて使えます。