단방향 암호화(hash)

김석·2023년 5월 27일
0

Security

목록 보기
2/6

1. hash란

  • hash: 다지다라는 의미. 식재료를 믹서기에 넣고 갈면 원래 상태도 되돌릴 수 없다.
  • hash 알고리즘은 함수. A를 hash하면 B가 나옴.
  • earth라는 문자열을 SHA-256 hash 알고리즘에 적용하면 7B74B....A40670이라는 값이 나옴.

2. hash 특징

  • earth라는 문자열을 hash 알고리즘에 적용하면 항상 같은 값이 나옴.
  • 7B74B....A40670라는 해싱 값을 통해서는 earth를 알 수 없음.
  • 같은 값에 대해서 항상 같은 hash 값을 생성하기 때문.
  • 따라서 hash를 사용해서 무결성을 판별할 수 있음.
  • 어떠한 정보가 원본으로부터 훼손되었거나 조작되었을 때, 원본을 알지 못하더라도 원본의 hash값과 비교하여 조작 여부를 판단할 수 있음.
  • md5, sha 등의 알고리즘이 있음.

3. 해시 충돌

  • 다른 값에 대해서 동일한 hash 값이 나오는 것.
  • md5같은 간단하고 오래된 함수에서는 해시 충돌이 발견됨.
  • 이론상으로 해시 충돌은 가능하지만, 잘 설계된 SHA-256 또는 SHA-3 같은 알고리즘에서는 이러한 가능성이 매우 낮음.
  • 해시 충돌을 찾는데 너무 많은 계산 비용과 시간이 걸리기 때문.

4. 사용 예시

  1. 메시지, 파일, 데이터의 무결성을 검증할 때
  2. 전자서명을 할 때
  3. 사용자의 비밀번호를 안전하게 서버에 저장할 때
  4. proof of work

출처

https://www.youtube.com/watch?v=qP1H2dwnAVA

profile
handsome

0개의 댓글