비즈네르 암호

Vigenère cipher
비즈네르 암호

1 개요[ | ]

2 엑셀로 구현[ | ]

입력
1
2
3
4
5
6
7
8
9
10
11
12
13
A B C D E
평문 키워드반복 암호문 키워드
A =INDIRECT(ADDRESS(MOD(ROW()-2,5)+2,5)) =IF(CODE(A2)<156-CODE(B2),CHAR(CODE(A2)+CODE(B2)-65),CHAR(CODE(A2)+CODE(B2)-91)) L
T =INDIRECT(ADDRESS(MOD(ROW()-2,5)+2,5)) =IF(CODE(A3)<156-CODE(B3),CHAR(CODE(A3)+CODE(B3)-65),CHAR(CODE(A3)+CODE(B3)-91)) E
T =INDIRECT(ADDRESS(MOD(ROW()-2,5)+2,5)) =IF(CODE(A4)<156-CODE(B4),CHAR(CODE(A4)+CODE(B4)-65),CHAR(CODE(A4)+CODE(B4)-91)) M
A =INDIRECT(ADDRESS(MOD(ROW()-2,5)+2,5)) =IF(CODE(A5)<156-CODE(B5),CHAR(CODE(A5)+CODE(B5)-65),CHAR(CODE(A5)+CODE(B5)-91)) O
C =INDIRECT(ADDRESS(MOD(ROW()-2,5)+2,5)) =IF(CODE(A6)<156-CODE(B6),CHAR(CODE(A6)+CODE(B6)-65),CHAR(CODE(A6)+CODE(B6)-91)) N
K =INDIRECT(ADDRESS(MOD(ROW()-2,5)+2,5)) =IF(CODE(A7)<156-CODE(B7),CHAR(CODE(A7)+CODE(B7)-65),CHAR(CODE(A7)+CODE(B7)-91))
A =INDIRECT(ADDRESS(MOD(ROW()-2,5)+2,5)) =IF(CODE(A8)<156-CODE(B8),CHAR(CODE(A8)+CODE(B8)-65),CHAR(CODE(A8)+CODE(B8)-91))
T =INDIRECT(ADDRESS(MOD(ROW()-2,5)+2,5)) =IF(CODE(A9)<156-CODE(B9),CHAR(CODE(A9)+CODE(B9)-65),CHAR(CODE(A9)+CODE(B9)-91))
D =INDIRECT(ADDRESS(MOD(ROW()-2,5)+2,5)) =IF(CODE(A10)<156-CODE(B10),CHAR(CODE(A10)+CODE(B10)-65),CHAR(CODE(A10)+CODE(B10)-91))
A =INDIRECT(ADDRESS(MOD(ROW()-2,5)+2,5)) =IF(CODE(A11)<156-CODE(B11),CHAR(CODE(A11)+CODE(B11)-65),CHAR(CODE(A11)+CODE(B11)-91))
W =INDIRECT(ADDRESS(MOD(ROW()-2,5)+2,5)) =IF(CODE(A12)<156-CODE(B12),CHAR(CODE(A12)+CODE(B12)-65),CHAR(CODE(A12)+CODE(B12)-91))
N =INDIRECT(ADDRESS(MOD(ROW()-2,5)+2,5)) =IF(CODE(A13)<156-CODE(B13),CHAR(CODE(A13)+CODE(B13)-65),CHAR(CODE(A13)+CODE(B13)-91))
→ C열 수식이 원래는 =IF(CODE(A2)<CODE("Z")-CODE(B2)+CODE("A")+1,CHAR(CODE(A2)+CODE(B2)-CODE("A")),CHAR(CODE(A2)+CODE(B2)-CODE("Z")-1)) 였는데 너무 길어서 조금 계산해서 넣었다.
출력
1
2
3
4
5
6
7
8
9
10
11
12
13
A B C D E
평문 키워드반복 암호문 키워드
A L L L
T E X E
T M F M
A O O O
C N P N
K L V
A E E
T M F
D O R
A N N
W L H
N E R

3 같이 보기[ | ]

4 참고[ | ]