! 暗号 ! シーザー暗号 ! アフィン暗号 ! 本日の課題は全て加点扱い ! 提出は義務ではない ! 成績が心配な人は提出する ! ! :暗号化前の文 :暗号化後の文 ! 暗号化:平文→ ! 復号化:暗号文→平文 ! 最も単純な暗号の1つ. 文字を別の文字に置換するだけ. ! アルファベットを3文字ずらす. ! ! A→D,B→E,・・・,X→A,Y→B,Z→C ! ! シーザー暗号の暗号化と復号化を行える プログラムを作成し,正しく動作するこ とを確認せよ. ! 実行例は次ページ THIS IS A PEN => WKLV LV D SHQ Input a string : THIS IS A PEN Menu : (1) Encrypt (2) Decrypt => 1 WKLV LV D SHQ Input a string : WKLV LV D SHQ Menu : (1) Encrypt (2) Decrypt => 2 THIS IS A PEN ! シーザー暗号に比べると複雑. ! 各アルファベットを以下のように符号化する. ! A=0,B=1,C=2,・・・,Z=25 ! gcd(26, a)=1となるaを選ぶ. ! 暗号化 ! ! D(x) = a-1(x-b) (mod 26) ! E(x) = ax + b (mod 26) ! a-1はaの逆元で以下を満たす. ! aはgcd(26,a)=1となるa ▪ a a-1 (mod 26) = 1 ▪ 0 a-1 25 ! bは任意 ! ! E(10) = 5 : K→F ! アフィン暗号の暗号化と復号化を行うプログラ ムを作成し,正しく動作することを確認せよ. ! ただし,aとbはキーボードから入力できるようにす る. ! ! bは符号化で用いたb. 例えば,a=3,b=1のとき, ! E(0) = 1:A→B 実行例は次ページ 復号化 ! 例えば,a=3,b=1のとき,a-1= 9 ! D(1) = 0:B→A ! D(5) = 10 : F→K Input encryption function a, b => 3 1 Input a string : THIS IS A PEN Menu : (1) Encrypt (2) Decrypt => 1 GWZD ZD B UNO Input encryption function a, b => 3 1 Input a string : GWZD ZD B UNO Menu : (1) Encrypt (2) Decrypt => 2 THIS IS A PEN ! 提出先:[email protected] ! 件名は以下. ! アルゴ演習第15回課題:学籍番号:名前 ! 提出期限:7月24日(木) ! 添付するもの ! 課題1,2の実行結果+感想 ! 課題1,2のプログラムソース
© Copyright 2024 ExpyDoc