로딩
요청 처리 중입니다...

파이썬으로 레일 펜스 암호(Rail Fence Cipher) 구현하기

 파이썬으로 레일 펜스 암호(Rail Fence Cipher) 구현하기

이번엔 파이썬으로 암호화 기법 중 하나인 레일 펜스 암호를 구현해 보려고 한다. 레일 펜스 암호는 위와 같이 암호키가 4라고 했을 때 평문을 위에서 밑으로, 그리고 밑에서 위로 비스듬하게 지그재그 형식을 취하면서 순서대로 작성하는 기법이다.

그래서 레일 펜스 암호를 다른 말로는 지그재그 암호라고 부르기도 한다. 전치 암호의 일종으로 암호화와 복호화의 알고리즘은 다음과 같다.

좌: 암호화 알고리즘 / 우: 복호화 알고리즘 레일 펜스 암호를 구현하기 위해서는 사용자로 부터 입력 받은 평문과 암호키를 사용해서 문자열의 문자를 대각선으로 배치를 시켜야 하는데 키에 해당하는 행의 수와 암호화 할 문자열의 길이에 해당하는 열의 수를 갖는 직사각형 격자가 필요하지만 여기서는 격자 없이 암호키를 지정해서 패턴을 구해보자. # 레일 펜스 암호 패턴 구현 # 암호화 패턴 def encryptRailFence(text, key): rail = [['\n' for i in range(len(text))]...

# cipher # 파이썬 # 지그재그암호 # 암호화 # 암호키 # 암호문 # 복호화 # 레일펜스암호 # rail # Python # fence # 평문