공개키
-
해시 함수전공/컴퓨터보안 2020. 6. 5. 12:59
해시함수는 입력값을 '압축'해서 입력값보다 훨씬 짧은 길이의 출력값을 내보내기 때문에 '효율성'이 좋다. 해시함수는 양방향이 아닌 '단방향'이 특징이다. h(x) = h(z)을 만족하는 z값이 존재하지만 x와 z는 같지 않은 값을 찾기 어려워야 한다. 이걸 해시 충돌이라고 하는데, 해시 충돌을 막지 않는다면 키가 아닌 다른 값도 키라고 인식하는 치명적인 오류가 발생한다. 위와 같은 특징들을 갖고 있는 해시 함수는 개인키와 콜라보할 때 진가를 발휘한다. 개인키는 안전한데 대칭키에 비해 속도가 굉장히 느린 단점이 있다. 이러한 단점을 극복하기 위해 해시 함수를 평문에 적용시키면 평문의 길이가 줄어들어 암호화, 복호화하는 시간도 적어지는 것이다. 평문 M의 길이보다 해시함수를 적용한 ..
-
공개키 - 서명과 부인봉쇄(Non-repudiation)전공/컴퓨터보안 2020. 6. 5. 11:57
공개키 챕터를 공부하면서 '서명한다'는 뜻이 도대체 무슨 뜻인지 감을 잡지 못했다. 하지만 이제는 확실히 알겠다. '서명'은 평문(M)을 '개인키'로 암호화하는 것이다. 기호로 표기하면 [M]인 것이다. 이와는 별개로 공개키 방식은 보통 '공개키'로 평문(M)을 암호화하는데, 기호로 표현하면 {M}이다. 이러한 서명 또는 전자서명은 어떠한 장점이 있을까? 바로 무결성과 부인봉쇄다. 무결성은 신뢰하는 사람만 값을 바꿀 수 있는 성질이다. 부인봉쇄(Non-repudiation)는 송신자가 수신자에게 보낸 정보를 자신이 보내지 않았다고 '부인'하는 것을 막아버리는 것이다. 송신자는 왜 저런 짓을 하는 걸까? 자기한테 이득이 되니까 그러겠지? 책의 예시를 통해 보다 쉽게 설명하겠다...
-
합성 암호체계(hybrid cryptosystem)전공/컴퓨터보안 2020. 6. 5. 10:56
합성 암호체계(hybrid cryptosystem)란, 공개키 방식에 '효율성'이 장점인 대칭키 방식을 섞어 둘의 장점만을 취한 암호화 기법이다. 공개키의 가장 큰 장점은 '키를 공유하지 않아도 된다'는 것이다. 공개키는 누구나 알기 때문에 공개키로 암호화를 할 수는 있으나, 복호화는 개인키로만 가능하니까 개인키를 알고 있는 특정한 사람만 풀 수 있기 때문이다. 대칭키 방식이 효율성이 좋은 이유는 공개키 방식보다 암호화, 복호화 속도가 훨씬 빠르기 때문이다. 하지만 대칭키 방식에서는 암호화, 복호화를 단 하나의 키로 할 수 있기 때문에 암호화, 복호화를 하는 사람들끼리만 알고 있어야 한다. 합성 암호체계는 이 두 방식의 장점만을 취한다. 밥이 앨리스에게 정보를 보낸다고 하자. 밥..
-
공개키 암호 - 디피헬먼(DH)전공/컴퓨터보안 2020. 6. 4. 15:25
디피-헬먼(DH)은 암호화, 복호화를 하는 알고리즘이 아닌, 키 교환을 하는 알고리즘이다. 공개키에서는 키 교환을 할 필요가 없다. 그러므로 디피헬먼은 공개키가 아닌 대칭키 암호 방식에서 키 교환을 위해 쓰인다. 키교환을 하기 위해 필요한 식이 있다. p를 소수라고 하고, g를 생성자라고 하며, p와 g는 공개키이다. 앨리스와 밥이 대칭키에 필요한 키를 교환한다고 가정하자. 앨리스와 밥은 각각 개인키 a 와 b를 가지고 있다. 앨리스(a소유)는 밥(b소유)에게 g^a mod p 를 보내고, 밥은 g^b mod p 를 앨리스에게 보낸다. 앨리스는 a를 가지고 있기 때문에 g^b mod p를 밥에게서 받은 뒤, 자신의 개인키인 a를 제곱하면 (g^b)^a mod p 라는 값을..
-
공개키암호 - RSA전공/컴퓨터보안 2020. 6. 4. 14:23
RSA는 교수님께서 공개키 중에서 가장 중요한 암호라고 언급하셨다. 엇 그럼 시험출제각? 얘는 배낭 암호보다 이해하기 어려운데, 공식만 외운다면 푸는 방법은 배낭 암호보다 훨씬 간단하다. RSA는 배낭 암호와 동일하게 공개키로 암호화를 하고 개인키로 복호화를 한다. RSA를 이용해 공개키와 개인키를 만들어내기 위해서는 제법 큰 수인 서로소 관계인 p와 q가 필요하다. 얘들로 계수인 N, 암호화 지수인 e, 복호화 지수인 d를 만든다. N = p*q e = (p-1)(q-1)과 서로소 관계인 정수 ed = 1 mod(p-1)(q-1) 공개키는 (N,e)가 되고 개인키는 d가 된다. 암호화, 복호화하는 공식은 아래와 같다. 가장 아래의 식은 오일러 정리를 통해 성립이 된다. 예시..