해시보안 MD5 등 정리

ahha로군·2024년 7월 8일
2

정처기_10단원

목록 보기
1/5

참고: 해시값 = 기술적으로 암호화된 값

  1. MD5:
    • 특징: 1991년에 탄생, 파일이 바뀌었는지 확인할 때 많이 사용. MD4는 Ronald Rivest에 의해 개발된 해시 함수로, 빠른 계산이 가능하지만 보안 취약점이 있다는 평가를 받았고, 이를 해결하기 위해 Rivest는 1991년에 MD5를 설계함. 이로인해 보안문제를 보완됨.
    • 주요 기능: 데이터를 512비트 단위로 잘라서 128비트 크기의 해시 값을 만듦.
    • 주요 기능을 더 이해 쉽게 설명:

간단한 예시: 종이접기

1. 데이터 나누기

  • 상상해보세요, 우리가 A4 용지(한 장의 종이)를 가지고 있어요.
  • 이 종이를 512개의 작은 사각형으로 나눈다고 생각해보세요. (이게 512비트 단위로 나누는 거예요.)

2. 종이 접기

  • 이제 이 작은 사각형들을 특정한 방식으로 접고 또 접는다고 상상해보세요.
  • 여러 번 접고 나면, 원래 큰 종이는 아주 작은 크기로 변하게 되죠. 이 과정이 복잡한 수학적 계산으로 이루어져요.

3. 작은 사각형 만들기

  • 마지막으로 이 작은 크기의 종이를 128개의 작은 조각으로 자른다고 생각해보세요. (이게 128비트 크기의 해시값이에요.)
  • 원래 큰 종이는 이제 128개의 작은 조각으로 변했어요. 이 작은 조각들이 원래 종이의 '요약'이라고 할 수 있죠.

MD5의 과정

  • 원래 데이터를 512비트 단위로 잘라요.
  • 이 조각들을 복잡한 수학적 방법으로 여러 번 변형시켜요.
  • 마지막으로 128비트 크기의 요약된 값을 얻어요. 이게 MD5 해시값이에요.

예시로 이해하기

  • 우리가 'Hello'라는 단어를 MD5로 해시한다고 상상해볼게요.
  • 'Hello'라는 단어를 종이접기 과정으로 비유하면, 'Hello'라는 단어를 여러 번 접어서 아주 작은 크기로 만들어요.
  • 그 결과로 아주 작은 조각이 나오고, 이 조각이 'Hello'의 MD5 해시값이 되는 거예요.

원래 데이터가 뭐였는지 알아보는 것은 거의 불가능하게 만드는 것이 MD5 해시의 목적이에요. 이처럼 복잡한 과정을 통해서 원래 데이터가 뭐였는지를 추적하기 어렵게 만드는 거죠.

즉, 데이터라는 A4용지 한 장을 512조각으로 자른 후 이를 나만 알 수 있게 암호화하여 128조각의 해시값으로 만듦.

  1. SHA-1:

    • 특징: 1993년에 미국 정부에서 만듦. 디지털 서명(사람의 서명을 전자적으로 만든 것)에 사용됨.
    • 주요 기능: 160비트 크기의 해시 값 만듦
  2. SHA-256/384/512:

    • 특징: SHA는 다양한 버전이 있고, 숫자가 클수록 더 강력.
    • 주요 기능: 예를 들어, SHA-256은 256비트 크기의 해시 값을 만들어서, 숫자가 클수록 더 안전. 즉, 더 많은 해시 조각을 만들어서 더 암호화 됨.
  3. HAS-160:

    • 특징: 한국에서 만들었고, MD5와 SHA-1의 좋은 점을 합침.
    • 주요 기능: 데이터가 안전하게 바뀌지 않았는지 확인하는 데 사용됨.

암기 비법: 해시 함수별 키워드와 용어 연결

1. MD5

  • 키워드: More Data 512 (512 비트 단위)
  • 용어 연결: "데이터를 512개의 작은 조각으로 나눠서, 이를 접고 접어 128비트의 요약값을 만든다."
  • 암기 비법: "더 많은 데이터를 512비트로 나눠서 128비트의 암호화된 요약값을 만든다." (MD = More Data)

2. SHA-1

  • 키워드: Secure Hash Algorithm 1 (미국 정부, 1993년)
  • 용어 연결: "디지털 서명에 사용되며, 160비트 크기의 해시 값을 만든다."
  • 암기 비법: "SHA-1은 디지털 서명을 위해 160비트로 안전하게 암호화." (SHA = Securely Hashing Alg, 1 = 160비트)

3. SHA-256/384/512

  • 키워드: Secure Hash Algorithm, 숫자가 클수록 강력
  • 용어 연결: "SHA-256은 256비트, SHA-384는 384비트, SHA-512는 512비트 크기의 해시 값을 만든다."
  • 암기 비법: "SHA는 숫자가 클수록 강력하게 암호화된다. 예를 들어, SHA-256은 256비트." (SHA = Stronger Hashing, 숫자 = 비트 크기)

4. HAS-160

  • 키워드: Hash Algorithm Secret 160 (한국에서 개발)
  • 용어 연결: "MD5와 SHA-1의 좋은 점을 합쳐서 160비트 크기의 해시 값을 만든다."
  • 암기 비법: "한국에서 만든 해시 알고리즘으로, MD5와 SHA-1의 장점을 결합하여 160비트." (HAS = Hash Algorithm Secret, 160 = 160비트)

추가 암기 팁

각 해시 함수의 특징과 주요 기능을 짧은 문장으로 연결해 보세요:

  • MD5: "더 많은 데이터를 512비트로 나눠 128비트로 압축."
  • SHA-1: "디지털 서명을 위해 160비트로 안전하게 암호화."
  • SHA-256/384/512: "숫자가 클수록 강력한 256, 384, 512 비트 해시."
  • HAS-160: "한국에서 개발, 160비트로 MD5와 SHA-1의 장점 결합."
profile
달달한 거 좋아합니다. 잘부탁드려요.

0개의 댓글