
# RSA-256는 단방향 암호화 알고리즘해싱을 통해 암호화를 진행한다.여기서 해싱은 임의의 길이의 데이터를 고정된 길이의 값으로 바꾸는 과정 즉, 매핑하는 과정을 '해싱'이라 하며 해싱된 결과는 해싱값이라고 부른다. 해싱된 값은 복호화가 거의 불가능에 가깝지만, 여기서 고려해야 할 점은 `동일한 메시지는 동일한 다이제스트`를 갖는다는 점이다. 만약 여러분이 해커라고 가정해볼 때 해싱된 메시지의 원문을 얻기 위해서 가장 편한 방법은 무엇일까? 그것은 바로 그동안 해커들이 여러 값들을 대입해보며 얻었던 다이제스트들을 모아놓은 리스트에서 찾아보는 것이다. 이러한 다이제스트들의 테이블을 우리는 레인보우 테이블(Rainbow Table) 이라고 한다. 사용자가 123456 이라는 비밀번호를 사용했다고 가정해보자..