레인보우 테이블이란?
해시 함수의 모든 입력값에 대한 결과를 표로 정리한 것
레인보우 테이블이 사용되는 곳
현재 대부분의 암호화는 해시 함수를 통해 이루어지고 있다.
이 해시 함수는 결과값으로 입력값을 찾아내기가 매우 어려우므로, 이를 이용해 정보를 안전하게 보관한다.
해커는 정보를 탈취하기 위해, 해시 함수에 0~최대값 을 전부 넣어 결과값을 구하고, 표에 정리한다.
이제 해커는 결과값을 가지고 입력값을 찾아낼 수 있고, 이 표를 레인보우 테이블이라고 부른다.
레인보우 테이블에 대비하는 법
해커의 레인보우 테이블에 대비하는 법은 의외로 쉬운데,
오직 개발자만 알 수 있는 임의의 정보를 입력값에 추가하는 것이다.
(보호할 정보) + (개발자 임의 정보) >==해시함수==> (결과값)
이로 인해 해커는 결과값에 대한 입력값을 알 수 있을지 몰라도,
그 입력값이 어떤 결과를 통해 만들어졌는지 알 수 없다.
반응형