다표식 암호

polyalphabetic cipher
다중문자 암호, 다중문자 치환 암호, 다표식 암호

1 개요[ | ]

  • 원문을 일정 크기의 블록으로 나누고, 블록의 각 자리마다 치환규칙이 다른 암호

2 엑셀로 구현[ | ]

입력
1
2
3
4
5
6
7
8
9
A B C D E
평문 N 암호문 블록규칙
C =INDIRECT(ADDRESS(MOD(ROW()-2,4)+2,5)) =IF(CODE(A2)<CODE("Z")-B2+1,CHAR(CODE(A2)+B2),CHAR(CODE(A2)-26+B2)) 2
O =INDIRECT(ADDRESS(MOD(ROW()-2,4)+2,5)) =IF(CODE(A2)<CODE("Z")-B2+1,CHAR(CODE(A2)+B2),CHAR(CODE(A2)-26+B2)) 5
N =INDIRECT(ADDRESS(MOD(ROW()-2,4)+2,5)) =IF(CODE(A2)<CODE("Z")-B2+1,CHAR(CODE(A2)+B2),CHAR(CODE(A2)-26+B2)) 8
T =INDIRECT(ADDRESS(MOD(ROW()-2,4)+2,5)) =IF(CODE(A2)<CODE("Z")-B2+1,CHAR(CODE(A2)+B2),CHAR(CODE(A2)-26+B2)) 0
E =INDIRECT(ADDRESS(MOD(ROW()-2,4)+2,5)) =IF(CODE(A2)<CODE("Z")-B2+1,CHAR(CODE(A2)+B2),CHAR(CODE(A2)-26+B2))
N =INDIRECT(ADDRESS(MOD(ROW()-2,4)+2,5)) =IF(CODE(A2)<CODE("Z")-B2+1,CHAR(CODE(A2)+B2),CHAR(CODE(A2)-26+B2))
T =INDIRECT(ADDRESS(MOD(ROW()-2,4)+2,5)) =IF(CODE(A2)<CODE("Z")-B2+1,CHAR(CODE(A2)+B2),CHAR(CODE(A2)-26+B2))
S =INDIRECT(ADDRESS(MOD(ROW()-2,4)+2,5)) =IF(CODE(A2)<CODE("Z")-B2+1,CHAR(CODE(A2)+B2),CHAR(CODE(A2)-26+B2))
출력
1
2
3
4
5
6
7
8
9
A B C D E
평문 N 암호문 블록규칙
C 2 E 2
O 5 T 5
N 8 V 8
T 0 T 0
E 2 G
N 5 S
T 8 B
S 0 S

3 같이 보기[ | ]

4 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}