2010-04-02 30 views
5

Tôi đã tự hỏi liệu ai đó có thể giải thích chi tiết, cách chuỗi hoạt động trong các bảng cầu vồng như bạn sẽ làm quen hoàn toàn, nhưng có liên quan đến lập trình.Chuỗi hoạt động như thế nào trong bảng Rainbow?

Tôi hiểu rằng chuỗi dài 16 byte. 8 byte đánh dấu điểm bắt đầu và 8 đánh dấu kết thúc. Tôi cũng hiểu rằng trong tên tệp, chúng tôi có chiều dài chuỗi tức là 2400. Điều đó có nghĩa là giữa điểm xuất phát và điểm kết thúc của chúng tôi chỉ trong 16 byte, chúng tôi có 2400 văn bản rõ ràng có thể, cái gì? Nó hoạt động như thế nào? Trong 16 byte đó, làm thế nào để tôi nhận được 2400 băm và các văn bản rõ ràng, hay tôi hiểu nhầm điều này?

Trợ giúp của bạn được đánh giá cao.

Cảm ơn.

P.S .: Tôi đã đọc các tài liệu liên quan và googled chủ đề này một chút công bằng. Tôi nghĩ rằng im chỉ thiếu một cái gì đó quan trọng để làm cho các bánh răng biến.

+0

Bạn muốn trợ giúp bẻ khóa mật khẩu? – bmargulies

+0

không, tôi muốn hiểu cách bắt đầu và kết thúc điểm được sử dụng để tạo văn bản rõ ràng và băm. Thêm tôi cũng hiểu cách int 64-bit được chuyển đổi thành một chuỗi. Chỉ muốn hiểu nơi mà 2400 băm xuất phát từ đó. –

Trả lời

3

Biết điểm bắt đầu cho chuỗi băm, bạn có thể tính toán tất cả các trung gian và điểm cuối bằng cách liên tục áp dụng hàm băm và giảm.

Điểm đến đến khi bạn muốn tìm kiếm chuỗi mật khẩu được băm. Áp dụng hàm băm và giảm đến số lần chuỗi dài; ở mỗi giai đoạn, hãy xem liệu trung gian của bạn có khớp với điểm cuối của chuỗi bất kỳ mà bạn đã tính toán hay không. Nếu vậy, bạn đã tìm thấy chuỗi bao gồm mật khẩu. Sau đó bạn biết chuỗi bắt đầu từ đâu vì bạn đã lưu trữ điểm bắt đầu của nó, và vì vậy bạn có thể đi bộ một cách trivially qua chuỗi từ đó để tìm mật khẩu, khi băm một lần, sinh ra giá trị băm.

Quy trình bảng cầu vồng đầy đủ áp dụng loại tìm kiếm này nhưng với một họ các chức năng giảm khác nhau để tránh va chạm băm; Tôi không thạo thông tin chi tiết.

+0

Điều này có nghĩa là băm không bao giờ được tính cho điểm cuối của chuỗi? Sự hiểu biết của tôi là: vì nó kết thúc chức năng băm chuỗi không bao giờ được áp dụng cho nó, như trên [minh hoạ] (https://upload.wikimedia.org/wikipedia/commons/thumb/7/78/Rainbow_table1.svg/1200px-Rainbow_table1 .svg.png) từ [Wikipedia article] (https://en.wikipedia.org/wiki/Rainbow_table). Hoặc tôi đang thiếu một cái gì đó ở đây? –

+0

Đây là một câu trả lời hay về crypto.stackexchange (https://crypto.stackexchange.com/a/5901/53497), giải thích cách thức, chính xác, chuỗi được tính toán. –

Các vấn đề liên quan