모노알파베틱 암호는 단일 치환 방식의 암호화 방법이다.
단일치환은 알파벳 26자를 각각 다른 알파벳에 대응시키는 알고리즘이다.
암호표를 작성하는 방법은 아래와 같다.
1) 키를 정한다. 이번 예제에서는 student로 한다.
2) 키를 앞에서 부터 적는다. 키에서 중복된 문자(t)는 제거한다.
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
T
|
U
|
V
|
W
|
X
|
Y
|
Z
|
s
|
t
|
u
|
d
|
e
|
n
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3)키의 마지막 글자가 N이므로 다음 문자인 O부터 Z까지를 이어서 적는다.(이 경우에도 중복된 문자는 제거한다.
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
T
|
U
|
V
|
W
|
X
|
Y
|
Z
|
s
|
t
|
u
|
d
|
e
|
n
|
o
|
p
|
q
|
r
|
v
|
w
|
x
|
y
|
z
|
|
|
|
|
|
|
|
|
|
|
|
4) Z 이후 부터는 A부터 중복된 알파벳을 제외하고 다시 적는다.
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
T
|
U
|
V
|
W
|
X
|
Y
|
Z
|
s
|
t
|
u
|
d
|
e
|
n
|
o
|
p
|
q
|
r
|
v
|
w
|
x
|
y
|
z
|
a
|
b
|
c
|
f
|
g
|
h
|
i
|
j
|
k
|
l
|
m
|
앞의 암호표를 참고하여 평문을 암호표에 대응시켜 암호문을 작성한다.
처음에 TestCase의 개수 T(2<T<100) 가 들어온다.
이어서 키로 사용할 문자열 K(10자 이하의 소문자)가 들어온다.
이어서 암호화할 메시지의 개수 C(0<C<10000)가 들어온다.
이어서 C만큼의 메시지 P(100자 이하의 소문자)가 입력된다.
각 테스트케이스 별로 입력된 키를 이용하여, 평문을 암호화 한 결과를 출력한다.
자세한 사항은 예제 출력을 참고한다.
1
student
4
abcdefghijklmnopqrstuvwxyz
test
example
plaintext
studenopqrvwxyzabcfghijklm
gefg
eksxawe
awsqygekg
출제자는 어떤 도움을 줄 수 있을지 생각 중이다.