치환암호 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
36번째 줄: 36번째 줄:
 
====자동키암호====
 
====자동키암호====
 
[[자동키암호]](Autokey Cipher)는 키에 [[평문]]을 포함한 암호이다. 키는 때로 평문에서 일부 문자를 선택하거나, 주로 짧은 접두 키워드를 평문 앞에 추가하는 일부 자동화된 방식으로 평문으로부터 생성된다. 자동키암호에는 두 가지 방식이 있다. 키 자동키암호(Key-autokey cipher)는 키 스트림의 이전 요소가 키 스트림의 다음 요소를 결정하는 데 사용된다. 텍스트 자동키는 이전 평문이 키 스트림의 다음 요소를 결정하는 데 사용된다.<ref>delliot, 〈[https://delliot.dev/?p=367 (0x02) Autokey Cipher]〉, 《개인블로그》</ref> 자동키암호에서 i번째 문자를 암호화하기 위해서 i-1번째 문자를 임시 키로 사용한다. 플레인텍스트의 문자열을 p1p2p3...로 표현하고 암호텍스트의 문자열을 c1c2c3...으로 표현하는 경우, 관계를 표현하면 다음과 같다.
 
[[자동키암호]](Autokey Cipher)는 키에 [[평문]]을 포함한 암호이다. 키는 때로 평문에서 일부 문자를 선택하거나, 주로 짧은 접두 키워드를 평문 앞에 추가하는 일부 자동화된 방식으로 평문으로부터 생성된다. 자동키암호에는 두 가지 방식이 있다. 키 자동키암호(Key-autokey cipher)는 키 스트림의 이전 요소가 키 스트림의 다음 요소를 결정하는 데 사용된다. 텍스트 자동키는 이전 평문이 키 스트림의 다음 요소를 결정하는 데 사용된다.<ref>delliot, 〈[https://delliot.dev/?p=367 (0x02) Autokey Cipher]〉, 《개인블로그》</ref> 자동키암호에서 i번째 문자를 암호화하기 위해서 i-1번째 문자를 임시 키로 사용한다. 플레인텍스트의 문자열을 p1p2p3...로 표현하고 암호텍스트의 문자열을 c1c2c3...으로 표현하는 경우, 관계를 표현하면 다음과 같다.
  <math>P=p1p2p3...\quad C=c1c2c3...</math>
+
  <math>P=p1p2p3... C=c1c2c3...</math>
 
  <math>c_i(P_i+P+{i-1})\,\bmod\,26</math>
 
  <math>c_i(P_i+P+{i-1})\,\bmod\,26</math>
 
단, 이럴 경우 첫 번째의 문자는 사용할 키가 없게 된다. 그래서 첫 문자는 임의의 키인 k를 이용해 <math>p_{0-1}=k</math>로 사용하도록 한다. [[복호화]] 또한 단순하다. 그 관계는 덧셈암호와 마찬가지로 i-1번째의 <math>p_{i-1}</math>을 뺀다.
 
단, 이럴 경우 첫 번째의 문자는 사용할 키가 없게 된다. 그래서 첫 문자는 임의의 키인 k를 이용해 <math>p_{0-1}=k</math>로 사용하도록 한다. [[복호화]] 또한 단순하다. 그 관계는 덧셈암호와 마찬가지로 i-1번째의 <math>p_{i-1}</math>을 뺀다.

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)