사자자리

[암호학] 배타적 논리합과 합동식 본문

Dreamhack/암호학 Cryptography

[암호학] 배타적 논리합과 합동식

renne 2022. 7. 24. 16:59

배타적 논리합(XOR; exclusive or)

 - 입력으로 들어온 두 인자가 서로 다를 때 참을 반환하는 연산

 - 일반적으로 비트 단위로 이뤄진다.

 

입력 출력
0 0 0
0 1 1
1 0 1
1 1 0

 

 - 임의의 정수를 자기 자신과 배타적 논리합하면, 결과값은 0이다.

 - 즉, 임의의 정수 x에 대해 x ⊕ x = 0이다.

 

합동식

 - 두 정수 a, b를 각각 정수 m으로 나눴을 때, 나머지가 같은지 판별하는 식

 - 두 정수 a, b를 각각 정수 m으로 나눈 나머지가 같을 때, 수학적으로 a와 b가 mod m에 대해 합동(congruent)이다.

 

 - 예를 들어, 7과 17은 10으로 나눈 나머지가 같으므로, 7과 17은 mod 10에 대해 합동이다.

 - 이를 기호로는 7 ≡ 17(mod 10)로 나타낸다.

 

 - 반대로, 5와 12는 3으로 나눈 나머지가 같으므로, 5와 12는 mod 3에 대해 합동이 아니다.

 - 이를 기호로는 5 ≡ 12(mod 3)로 나타낸다.

 

 - a, b가 mod m에 대해 합동일 경우, a, b 각각에 정수 x를 더하거나 빼거나 곱해도 여전히 합동이다.

 

 - 그러나 나눗셈에 대해서는 성립하지 않는다.

 

합동식에서 곱셈의 역원

 - 정수 a, m에 대해 a × b ≡ 1(mod m)을 만족하는 bmod m에 대한 a의 곱의 역원이라고 부르며,

으로 표기한다.

 - 역원은 a와 m이 서로소일 때만 존재한다.

 

 - 예를 들어, 2 × 4 = 8 ≡ 1(mod 7)이므로 mod 7에서 2에 대한 역원은 4이다.

 

마치며

Q1. x ⊕ 10 = 7일 때, x는?

A1. 13

 

Q2. 다음 중 잘못된 식은?

A2. (4)

 

Q3. 드림이는 친구에게 소스 코드를 주고 싶은데 USB의 용량이 부족해서 비밀번호를 걸지 않고 압축한 후 USB에 압축 파일을 담았습니다. 이 파일은 누구나 압축을 해제할 수 있으므로 [     ] 되었다고 볼 수 있습니다.

A3. 인코딩

'Dreamhack > 암호학 Cryptography' 카테고리의 다른 글

[암호학] 블록 암호: AES  (0) 2022.08.06
[암호학] 블록 암호: DES  (0) 2022.08.06
[암호학] 현대 암호  (0) 2022.07.31
[암호학] 고전 암호  (0) 2022.07.31
[암호학] 암호학이란? (cf. 인코딩)  (0) 2022.07.24
Comments