AI 백과반도체·딥테크새로 배울 개념 1

해시

Hash Function

데이터를 고정된 길이의 짧은 값으로 바꾸는 계산 방법이에요.

어떤 개념인가요

해시는 긴 데이터를 입력하면 일정한 길이의 짧은 값, 즉 해시값으로 바꿔 주는 함수예요. 같은 입력에는 항상 같은 값이 나오고, 입력이 조금만 달라져도 결과가 크게 달라져요. 원래 내용을 되돌리기 어렵다는 성질 덕분에 여러 보안 기술의 바탕이 돼요.

해시는 파일이 중간에 바뀌지 않았는지 확인하려는 필요에서 널리 쓰이게 되었어요. 대량의 데이터를 빠르게 비교하고 찾는 자료 구조에도 쓰이면서 컴퓨터 과학의 기본 도구가 되었어요. 비밀번호를 평문 대신 저장하는 방식도 이런 배경에서 출발했어요.

작동 원리

해시 함수는 입력 데이터를 여러 번 섞고 자르는 연산을 반복해 고정 길이의 출력을 만들어요. 작은 입력 차이가 출력 전체에 퍼지도록 설계되어 있어요. 그래서 결과를 보고 원래 입력을 역으로 추정하기가 매우 어려워요.

같은 해시 함수를 쓰면 두 사람이 각자 계산해도 같은 값이 나와 비교가 가능해요. 저장된 해시값과 새로 계산한 값을 맞춰 보는 방식으로 내용이 바뀌었는지 확인해요.

어디에 쓰이나요

비밀번호는 원문 대신 해시값을 저장해 두고, 로그인할 때 입력값을 같은 방식으로 계산해 비교해요. 내려받은 파일의 해시값을 공개된 값과 맞춰 보면 손상이나 변조를 확인할 수 있어요.

실제 사용할 때는 충돌 저항성이 강한 SHA-256 같은 검증된 함수를 골라야 해요. 비밀번호 저장에는 솔트를 더하고 느리게 계산하는 전용 방식을 써야 안전해요.

한계와 오해

해시는 암호화와 달리 저장된 값을 풀어서 원문을 되찾는 용도가 아니에요. 같은 값을 만드는 다른 입력, 즉 충돌이 이론상 존재하므로 오래된 함수는 쓰지 않는 것이 좋아요.

흔한 오해는 해시를 쓰면 데이터가 완전히 비밀이 된다는 생각이에요. 입력 후보가 적으면 흔한 값을 미리 계산해 맞춰 보는 공격이 가능해서 솔트 같은 보완이 필요해요.

예를 들면

종이 문서를 압축해 도장 모양의 짧은 표식으로 만들어 두는 것과 비슷해요. 문서 한 글자만 고쳐도 표식이 완전히 달라져서 변조 여부를 알아챌 수 있어요.

왜 알아둘 만한가요

해시를 이해하면 비밀번호 저장, 파일 무결성 검사, 블록체인 같은 기술이 왜 원본을 직접 보관하지 않는지 알 수 있어요. 보안 사고를 분석할 때도 해시값이 자주 등장하므로 알아 두면 도움이 돼요.

출처와 더 읽기

이렇게도 불러요해시 함수, 해시값

LastAI에서 직접 보기

백과 문서는 AI가 쓰고, 개념이 맞는지 다시 살펴본 뒤 올렸어요. 값·순위처럼 금방 바뀌는 내용은 적지 않았어요. 틀린 곳이 있으면 알려 주세요. 틀린 곳 알리기마지막으로 고친 날

마이