알고리즘 공부

21.12.11 XOR 연산자

슈팅스타제제 2021. 12. 17. 22:34

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