본문 바로가기
개발일기

암호학에서의 솔트(salt)

by Nhahan 2023. 4. 12.

이 소금 아님!

 

 

암호학에서 솔트(salt)는 데이터, 비밀번호, 통과암호를 해시 처리하는 단방향 함수의 추가 입력으로 사용되는 랜덤 데이터이다. 솔트는 스토리지에서 비밀번호를 보호하기 위해 사용된다.

 

 

사용자의 비밀번호를 암호화처리할 때, 단순히 암호화하는 것이 아니라 사용자의 비밀번호에 랜덤한 솔트값(소금같은 존재라 salt인듯...)을 더해서 해시 처리한다.

 

예를 들면, 비밀번호가 1234라고 하고 솔트값이 abcd라고 하면

1234abcd로 해시 처리하는 것.

 

 

 

그래서 솔트가 무슨 의미가 있는가?

솔트값 없이 비밀번호를 암호화한다면 같은 패턴으로 암호화되기 때문에 동일한 비밀번호는 동일한 해시값을 가지게 된다. 솔트값을 추가함으로써 동일한 비밀번호를 가진 두 사용자의 해시값이 다르게 저장되므로, 해커가 해시값을 추측하여 비밀번호를 유추하는 것을 방지할 수 있다.

 

 

댓글