해결된 질문
작성
·
449
0
대칭키를 사용 할 때, key로 아무숫자나 넣어도, 같은 키만 사용한다면, 암호화를 하고 복호화가 되는 것 처럼 보입니다.
그러나 비대칭키를 사용 할 때는, 임의로 지정한 키를 사용하게 되면, 암호화를 하고 복호화를 할 수 없게 되는 것 같아 보이는데,
비대칭키에서는 서로 대응되는 private key와, public key그리고 modulus를 어떻게 생성하나요?
어떤 복잡한 알고리즘이 존재한다면, 그 알고리즘은 인터넷에 공개되어 있나요?
공개되어 있다면
a. key로 '소수'만 사용하는 비대칭키의 특성
b. private키와 modulus까지 공개되어 있음
c. 키를 만드는 알고리즘까지 공개되어 있음
위의 a,b,c 때문에 대칭키에 비해서 경우의 수가 적기 때문에 헝그리정신, 전수조사를 이용하여 공격하는 해킹에 취약할 것 같다는 생각이 드는데 어떤가요?
답변 1
3
알고리즘마다 차이가 있겠으나 기본적으로 키 길이 범위에서 조건에 맞는 모든 수 중 난수를 생성해 선택한다고 보면 되겠습니다. 그리고 난수가 절대 중복되지 못하도록 시간처럼 계속 변하는 값을 조합해 생성합니다. 이 때문에 암호기술에서 난수는 매우 중요합니다.
알고리즘 자체는 공개되어 있습니다. 그래서 원리를 이해하면 알고리즘 상 우연히 해독하는 것이 수학적으로 불가능하다는 것을 알게 됩니다.
현존하는 암호 알고리즘은 모두 전수조사 공격에 취약합니다. 문제는 그 전수를 조사하기 위해서 수퍼 컴퓨터를 동원하더라도 10년이 더 걸릴 연산을 해야 한다는 것입니다. 한 마디로 불가능하다고 봐야 하는 것이죠.
참고하시기 바랍니다.