シーザー暗号 アフィン暗号 本日の課題は全て加点扱い 提出は義務ではな

!  暗号
!  シーザー暗号
!  アフィン暗号
!  本日の課題は全て加点扱い
!  提出は義務ではない
!  成績が心配な人は提出する
! 
! 
:暗号化前の文
:暗号化後の文
!  暗号化:平文→
!  復号化:暗号文→平文
! 
最も単純な暗号の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のプログラムソース