비대칭 암호화 방식

호기성세균·2023년 6월 14일
0

cs

목록 보기
11/30

비대칭 암호화 방식의 발견

  • 키 전달과 관련한 아이디어는 휫필드 디피와 마틴 헬먼이 처음 발표

  • 비대칭 암호화 알고리즘 아이디어는 20세기 암호학의 혁명으로 불렸지만 실제로 사용하기엔 약점이 많았음

  • 철수는 자신이 정한 수 5를 사용하여 3의 5제곱인 245을 영희에게 전송

  • 영희도 자신의 수를 7로 정하고 3의 7제곱인 2187을 철수에게 전송

  • 철수와 영희는 상대에게서 받은 수에 자신의 수를 적용하여 제곱

  • 둘은 자신이 정한 5의 7이라는 수를 상대방에게 전달하지 않아도 50031545098999707이라는 값은 키를 공유

RSA알고리즘

  • 비대칭 암호화 알고리즘 중에서 가장 많은 지지를 받으며 오늘날 산업 표준으로 사용
  • 알고리즘은 MIT로널드 리베스트, 아디 샤미르, 레너드 애들먼이 고안
  • RSA암호는 기본적인 정수론, 즉 소수를 이용
  • 중요 정보를 소수 2개로 표현한 후 두 소수의 곱을 힌트와 함께 전송하여 암호로 사용하는 것
    • RSA알고리즘에서는 모든 사람이 고유한 N 값(두 소수의 곱)을 가짐
    • 영희가 P=17159, Q= 10247의 곱을 자신의 N값으로 정함
    • 영희의 공개 키인 N값이 모든 사람에게 공개
    • 영희에게 메시지를 보내고 싶은 사람은 N값을 이용하여 보내는 메시지를 어떤 알고리즘으로 암호화한 후 영희에게 전송
    • 여기서 영희의 개인 키는 P와 Q

비대칭 암호화의 구조

  • 비대칭 암호화 알고리즘은 RSA 알고리즘이 나오면서 정립

  • 각 개인이 공개 키와 개인 키를 소유하는 구조지만 서로의 개인 키는 얻을 수 없음

  • 대칭 암호화 알고리즘과 달리 메시지의 암호화와 복호화가 같은 키로 이루어지지 않음

  • 언제나 한 쌍의 개인 키와 공개 키로 암호화와 복호화가 이루어짐

대칭 암호화의 기능

(기밀성)

비대칭 암호화 알고리즘은 대칭 암호화 알고리즘보다 더 엄밀한 기밀성을 제공

  • 철수는 전화번호부에서 전화번호를 찾듯이 영희의 공개 키를 구함
  • 편지를 암호화한 후 공개키를 이용하여 전송
  • 영희는 자신이 가진 개인 키로 철수의 편지를 복호화하여 읽을 수 있음
  • 민수가 중간에서 편지를 가로채더라도 영희의 공개 키로 암호화한 편지를 민수의 개인키로는 복호화 불가

(부인방지)

대칭 암호화 알고리즘에는 없는 기능으로 쉽게 말하면 발뺌 방지

  • 철수의 개인 키로 암호화된 편지는 철수의 공개 키로만 열수 있음
  • 철수의 개인 키는 철수만 가지고 있으므로 영희는 받은 편지가 철수의 공개 키로 풀려야만 그 편지는 철수가 보낸 편지라고 확신할 수 있음
  • 영화나 소설에서 두 사람이 어쩔 수 없이 헤어져야 할 때 훗날을 위한 증표로 장신구를 건네는 것과 비슷

암호화 키와 관련된 용어

  • 대칭 키 : 암호화할 때 쓰는 키와 복호화할 때 쓰는 키가 같은 것
  • 비밀 키 : 암호화할 때와 복호화할 때 사용되는 키가 같으므로 암호문이 효력을 발휘하려면 발신자와 수신자 사이의 키에 대한 정보가 비밀로 유지
  • 비대칭 키: 암호화할 때 쓰는 키와 복호화할 때 쓰는 키가 다른 것(공개 키와 개인 키를 묶어 비대칭 키)
  • 공개 키와 개인 키: 발신자와 수신자가 각각 한쌍을 공유

[해시]

  • 하나의 문자열을 더 짧은 길이의 값이나 키로 변환하는 것
  • 정보의 위조 변조를 확인하기 위한 것, 즉 정보의 무결성을 확인하기 위한 것
  • 해시를 사용하여 전자서명, 전자 봉투, 전자화폐 등 다양한 전자 상거래 기능 구현 가능
  • 대표적인 해시 알고리즘은 MD5
  • 세 평문은 길이가 각각 다르지만 해시 결과는 32개 문자로 길이가 모두 같음
  • 두 번째와 세 번째 평문은 단어 하나만 다를 뿐인데 해시 결과는 완전히 다름
    • 해시되기 전의 값을 해시 값으로 추측하기가 불가능하다는 특징 때문에 일어난 결과
    • 충돌 : 다른 값의 데이터를 입력하더라도 해시 결과 값이 같을 수 있는 상황

해시의 역할

-원래 해시는 데이터베이스의 탐색을 효과적으로 구현하기 위해 만들어진 것
-보안에서는 해시가 완전히 똑같은 데이터만 해시 값이 같고 조금만 달라도 해시 값이 전혀 다르다는 점을 이용하여 데이터가 임의로 변경되지 않았다는 데이터 무결성을 확인하기 위한 도구로 사용

해시의 종류

(MD 알고리즘)

  • 로널드 리베스트가 공개 키 기반 구조를 만들기 위해 RSA와 함께 개발한 것으로 MD2, MD4, MD5가 있음
  • 1989년에 개발된 MD2는 8비트 컴퓨터에 최적화
  • 1990년에 개발된 MD4와 1991년에 개발된 MD5는 32비트 컴퓨터에 최적화
  • MD5 알고리즘은 MD4의 확장판으로 MD4보다 속도가 빠르지는 않지만 데이터 보안성이 더 뛰어남

(SHA)

  • 160비트의 값을 생성하는 해시 함수로 MD4가 발전한 형태
  • MD5보다 조금 느리지만 좀 더 안전하다고 알려져 있으며 SHA에 입력하는 데이터는 512비트 크기의 블록임
  • SHA알고리즘은 크게 SHA-1와 SHA-2로 나눌 수 있음

profile
공부...열심히...

0개의 댓글