2010-04-02 5 views
5

누군가가 자세히 설명 할 수 있는지 궁금 해서요. 초보자라면 무지개 테이블에서 체인이 어떻게 작동하는지 프로그래밍과 관련이 있습니다.레인보우 테이블에서 체인은 어떻게 작동합니까?

체인이 16 바이트 길이라는 것을 알고 있습니다. 8 바이트는 시작점을 표시하고 8은 끝을 표시합니다. 또한 파일 이름에서 체인 길이가 2400이라는 것을 알고 있습니다. 즉, 시작점과 끝점 사이에 16 바이트 만 있으면 2400 개의 일반 텍스트가 가능하다는 것을 의미합니다. 어떻게 작동합니까? 이 16 바이트에서 2400 개의 해시 및 텍스트를 가져 오는 방법은 무엇입니까? 아니면이 점을 오해하고 있습니까?

귀하의 도움에 감사드립니다.

감사합니다.

추신 : 나는 관련 논문을 읽었으며이 주제를 공정하게 알아 보았다. 나는이 기어를 돌리기 위해 중요한 무엇인가를 놓치고 있다고 생각한다.

+0

비밀번호를 크랙하는데 도움이 필요하십니까? – bmargulies

+0

아니, 어떻게 시작과 끝 점이 일반 텍스트와 해시를 생성하는 데 사용되는지 알고 싶습니다. 추가 64 비트 int가 문자열로 변환되는 방법도 이해합니다. 2400 해시가 어디에서 왔는지 이해하고 싶었습니다. –

답변

3

해시 체인의 시작점을 알면 해시 - 감소 함수를 반복적으로 적용하여 모든 중간체와 끝점을 계산할 수 있습니다.

해시 된 암호가 체인을 검색 할 때 끝점이옵니다. chain-length 횟수까지 해시 및 축소를 적용합니다. 각 단계에서 중급이 계산 한 체인의 끝점과 일치하는지 확인하십시오. 그렇다면 비밀번호가 포함 된 체인을 찾았습니다. 그런 다음 시작점을 저장했기 때문에 체인이 시작되는 위치를 알 수 있습니다. 그러면 해시를 한 번 해시 값을 산출하는 암호를 찾기 위해 사슬을 통해 앞으로 걸어 갈 수 있습니다.

전체 무지개 표 프로세스는 이러한 종류의 검색을 적용하지만 해시 충돌을 피하기 위해 다양한 감소 함수 집합을 적용합니다. 나는 세부 사항에 정통하지 않다.

+0

체인의 끝점에 대해 해시가 계산되지 않는다는 뜻입니까? 내 이해입니다 : 체인 해시 함수가 끝나지 않으므로 [그림] (https://upload.wikimedia.org/wikipedia/commons/thumb/7/78/Rainbow_table1.svg/1200px-Rainbow_table1)과 같이 체인 해시 함수가 적용되지 않습니다. .svg.png) [Wikipedia article] (https://en.wikipedia.org/wiki/Rainbow_table). 아니면 여기서 뭔가를 놓치고 있습니까? –

+0

정확히 어떻게 체인이 계산되는지 설명하는 좋은 [answer on crypto.stackexchange] (https://crypto.stackexchange.com/a/5901/53497)입니다. –