기타/암호학

[암호학] 2. Halting Problem

riroan 2022. 12. 4. 00:00

Complexity Theory 세계로...

Complexity Theory(계산복잡도 이론)은 암호학에 필요한 이론이라고 한다.

우리가 알고리즘때 사용하는 Big-O표기법도 Complexity Theory에서 나왔다. (알고리즘도 여기에 포함된다고 한다.)

즉 Complexity Theory란 튜링머신(컴퓨터)이 어떤 연산을 하는데 얼마나 걸리는지를 분석하는 컴퓨터 과학 분야이다.

 

미리 알아둬야할 컨셉이 있다.

  • 어떤 문제가 어렵다는 것은 해당 문제를 해결하는 시간이 오래 걸린다는 뜻이다.

사실 "오래 걸린다"도 추상적이긴 하지만 "어렵다"도 마찬가지이니 의미만 이해하고 넘어가자.

 

Halting Problem

어떤 프로그램과 인풋이 주어졌을 때 해당 프로그램이 정지하는 지(끝나는 지) 판정하시오.

Halting Problem(정지 문제)는 Complexity Theory에서 유명한 문제라고 한다.

문제의 이해는 굉장히 쉬울 것이다.

하지만 이 문제를 풀 수 있는 방법은 없다.

 

만약 그 프로그램의 시간이 얼마나 걸리든 결과가 나온것을 확인했다면 YES가 된다.

하지만 프로그램 결과가 1분, 1시간, 1일, 1년 ... 수많은 시간이 지나서 결과가 나오지 않았다고 해도 NO라고 답할수는 없다.

그것보다 더 긴 시간을 필요로 하는 프로그램일 수 있기 때문이다.

 

이는 해결할 수 없음이 증명돼있다.

 

이 문제도 암호학을 이해하는데 사용되는 개념중 하나라고 한다.

'기타 > 암호학' 카테고리의 다른 글

[암호학] 5. 집합론 2  (0) 2022.12.13
[암호학] 4. 집합론 1  (0) 2022.12.09
[암호학] 3. 자연수  (0) 2022.12.06
[암호학] 1. 암호란 무엇인가?  (1) 2022.12.02
[암호학] 0. 암호학  (0) 2022.12.02