XOR 연산자
데이터를 암호화하는 데 사용되며 무차별 대입 방식, 올바른 암호 텍스트와 일치하는 임의로 지정한 key를 생성한다.
배타적 논리합을 연산(일반적으로 같으면 1, 다르면 0 인데 반대의 결과를 도출하기 때문에 "배타적"이라고 하였다.)
비트의 값이 다르면 1, 같으면 0을 연산하므로 특정한 비트를 반대로 만드는 원리이다.
암호화
데이터 a 1011000 11110000 00010101
XOR 값 0010101 01101010 11101010
--------------------------------------
결과 1001101 10011000 11111011
복호화
암호문 b 1001101 10011000 11111011
XOR 값 0010101 01101010 11101010
--------------------------------------
결과 1011000 11110000 00010101
평문의 길이만큼 XOR 연산을 한다.
이때, key가 평문의 길이보다 짧다면 다시 key의 처음으로 돌아가서 연산한다. n진수 계산하는 것처럼!
'알고리즘 공부' 카테고리의 다른 글
23.06.12 Breadth First Search (0) | 2023.06.12 |
---|---|
23.06.12 Depth First Search (0) | 2023.06.12 |
21.09.19 [프로그래머스] 주식 시세 차익 (0) | 2021.09.22 |
21.09.19 [프로그래머스] 출석 이벤트 (0) | 2021.09.20 |
21.06.11 A+B-5 (0) | 2021.06.13 |