스킬캠퍼스
9강 · 해시 함수
강의

오늘 끝나면

해시 함수

  • 해시 함수의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 해시이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

데이터의 지문 — 한 글자만 바꿔도 통째로 달라짐 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

암호 & 보안 · 09

해시
데이터의 지문

아무 데이터나 넣어도 고정 길이 지문이 나옴. 한 글자만 바꿔도 통째로 달라짐.

P.01암호 & 보안 · 09

아무거나 넣어도 길이는 똑같음

해시 함수는 입력을 정해진 길이로 뭉개는 것임. 한 글자를 넣든 책 한 권을 넣든 나오는 값의 길이는 늘 같음.

이 고정 길이 값을 지문이라 함. 데이터를 짧게 대표하는 표식임. 원본은 길어도 지문은 한 줄임.

약속 하나. 같은 입력이면 늘 같은 지문이 나옴. 매번 굴려도 안 변함. 그래서 두 데이터가 같은지는 지문만 비교하면 됨.

짧은 글도 · 긴 글도 → 같은 길이 지문
입력 길이는 제각각 · 지문은 한 줄
a1글자
고정 16자리
안녕하세요짧은 문장
고정 16자리
책 한 권 전체…엄청 긴 글
고정 16자리
뭘 넣든 → 길이는 늘 똑같음
P.02암호 & 보안 · 09

한 글자만 바꿔도 통째로 달라짐

오른쪽에서 직접 쳐보셈. 글자를 딱 1개만 고쳐도 지문이 와르르 바뀜. 바뀐 자리는 파란 칸으로 표시됨.

이걸 아발란치(눈사태)라 함. 산 위 눈 한 줌이 미끄러지면 산사태가 됨. 입력의 작은 차이가 출력 전체로 번지는 것.

왜 좋음? 살짝 닮은 입력끼리도 지문은 전혀 안 닮게 만들기 때문임. 지문만 보고는 원본이 비슷했는지조차 못 짐작함. 위·변조 잡는 힘이 여기서 나옴.

입력 1글자 차이 → 출력 전체 출렁
해시 함수 · 직접 쳐보기
입력 — 아무 글자나 (길이 자유)
입력 길이 5자 → 출력은 늘 16자리
출력 — 고정 길이 지문 (hex)
9d22e505e417ce99
아발란치 — 직전 입력과 비교
글자를 1개만 고쳐보셈

같은 입력은 늘 같은 지문임(결정적). 이제 글자를 1개만 바꿔보셈 — 파란 칸이 와르르 생김.

P.03암호 & 보안 · 09

지문에서 원본은 못 돌아감

해시는 일방향임. 원본 → 지문은 한순간인데, 지문 → 원본은 못 돌아감.

고기를 갈면 다짐육이 됨. 근데 다짐육 보고 원래 부위는 복원 못 함. 뭉갠 정보는 사라짐. 해시도 똑같이 되돌릴 단서를 안 남김.

유일한 방법은 전부 대입해보기뿐임. 근데 경우의 수가 천문학적이라 현실적으로 불가능함. 그래서 지문은 공개해도 원본은 안전함.

앞으로만 감 · 되돌리기 불가
한 방향으로만 흐름
원본“비밀번호 1234”
↓ 쉬움
지문a3f9…1c
↑ 불가

다짐육 → 원래 고기? 못 돌림. 정보가 사라짐.

P.04암호 & 보안 · 09

그래서 어디에 쓰나

지문 한 줄이 이 세 가지를 떠받침. 무결성 검사 · 비밀번호 저장 · 블록체인의 핵심 부품임.

무결성은 받기 전후 지문을 비교하는 것 / 같으면 한 글자도 안 바뀐 거임(아발란치 덕분). 비밀번호는 원문 말고 지문만 저장하는 것 / 털려도 원문은 못 알아냄(일방향 덕분).

블록체인은 블록마다 앞 블록 지문을 품는 것 / 과거 하나 고치면 이후 지문이 전부 깨져 즉시 들통남. 다음 강(10강) 인증서도 결국 이 지문 위에서 신뢰를 쌓음.

무결성 · 비밀번호 · 블록체인
지문 하나가 떠받치는 것
무결성

받기 전후 지문 비교 → 안 바뀌었나

비밀번호

원문 말고 지문만 저장 → 털려도 안전

블록체인

앞 블록 지문을 품음 → 고치면 들통

P.05암호 & 보안 · 09

해시 = 데이터의 지문

정리하면 셋임. 고정 길이로 뭉갬 · 1글자 차이가 전체를 바꿈 · 되돌리기 불가.

이 세 성질 덕분에 해시는 “데이터가 그대로인가”와 “같은 데이터인가”를 싸고 빠르게 판정함. 원본 안 들춰도 됨.

그래서 무결성·비번·블록체인이 다 같은 부품 하나에 기댐. 짧은 지문 한 줄이 신뢰의 기초가 됨.

Q. 해시로 원본을 복원할 수 있나?없음. 해시는 일방향이라 지문만 보고 원본은 못 되돌림. 정보를 뭉개서 단서를 안 남기기 때문임. 그래서 비밀번호 저장에 씀 — 원문 말고 지문만 저장하면 털려도 원문은 못 알아냄.
세 줄 요약
해시의 세 성질
고정 길이아무 입력 → 같은 길이 지문
아발란치1글자 차이 → 출력 통째로 변화
일방향지문 → 원본 복원 불가
이 셋이 무결성·비번·블록체인을 떠받침

3줄 요약

  1. 1데이터의 지문 — 한 글자만 바꿔도 통째로 달라짐
  2. 2해시 함수은 고전 암호 → 키와 신뢰 → 웹 보안 → 블록체인 → 다음 시대 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

해시

데이터의 지문 — 한 글자만 바꿔도 통째로 달라짐

암호를 잠그고 풀 때 쓰는 비밀 또는 공개 숫자

서명

누가 보냈는지와 변조 여부를 증명하는 암호 절차