-
암호학 기초 - 2Cryptography - Security/Dreamhack - Basic 2023. 4. 2. 13:24
배타적 논리합
배타적 논리합( eXclusive OR, XOR )
→ 입력으로 들어온 2개의 값이 서로 다를 때, 참 거짓을 반환하는 연산이다.
위 사진에서는 입력으로 2가지의 값이 들어오고 출력으로는 참, 거짓으로 나타나게 된다.
- 입력값 → 0 , 0 : 2개의 입력값이 0으로 같으므로 0을 출력( 반환 )
- 입력값 → 0 , 1 : 2개의 입력값이 0과 1로 다르므로 1을 출력( 반환 )
- 입력값 → 1 , 0 : 2개의 입력값이 1과 0으로 다르므로 1을 출력( 반환 )
- 입력값 → 1 , 1 : 2개의 입력값이 1로 같으므로 0을 출력( 반환 )
위 사진은 배타적 논리합 연산의 예이다.
- 숫자 5와 7을 이진수로 변환하게 되면 각각 101 , 111 로 변환이 된다.
- 숫자 3과 10을 이진수로 변환하게 되면 각각 0011 , 1010 으로 변환이 된다.
따라서 임의의 정수를 x 라고 할 경우 임의의 정수 x 와 자기 자신을 배타적 논리합 하게 된다면 아래와 같은 결과인 0이 반환된다.
합동식
합동식이란 두 정수 a, b 를 각각 정수 m 으로 나누었을 때 나머지가 같은지를 판별하는 식이다.
위 예시에서 숫자 7과 17을 10으로 나누었을 경우 나머지는 둘 다 7로 같다.
따라서 7과 17은 mod 10 에 대해 합동이라고 하며 기호로는 아래와 같이 나타낼 수 있다.
반대로 숫자 12와 5는 3으로 나누었을 경우 나머지가 같지 않게 된다.
따라서 12와 5는 mod 3 에 대해 합동이 아니며 기호로는 아래와 같이 나타낼 수 있다.
Dreamhack - Cryptography 공부내용 정리
관련된 문제는 사이트에 수록되어 있습니다
728x90'Cryptography - Security > Dreamhack - Basic' 카테고리의 다른 글
고전암호 - 3 (0) 2023.04.06 고전암호 - 2 (0) 2023.04.05 고전암호 - 1 (0) 2023.04.04 암호학 기초 - 3 (0) 2023.04.03 암호학 기초 - 1 (0) 2023.04.01