Rainbow Tables (bảng cầu vồng) là một tập các giá trị băm được tính toán trước cho hầu hết sự kết hợp của các ký tự đặc biệt, chữ cái và biểu tượng. Tấn công mật khẩu sử dụng phương thức brute force để phá mật khẩu có thể tính toán cho bất kỳ giá trị băm nhưng sử dụng bảng cầu vồng thì toàn bộ giá trị băm có sẵn trong bộ nhớ RAM.
Hình 3.3 Phương thức hoạt động của bảng cầu vồng
Kích thước tập tin bảng cầu vồng phụ thuộc vào mật khẩu gồm những loại ký tự nào (chỉ chữ cái, chữ số, chữ cái và chữ số hay toàn bộ tập ký tự). Kích thước tập tin là một yếu tố quan trọng do số lượng lớn các tập tin trong bảng cầu vồng. Một bảng cầu vồng có thể đòi hỏi nhiều gigabyte lưu trữ , bảng cầu vồng có thể chứa hàng nghìn tỷ giá trị băm.
Một bảng cầu vồng cụ thể được xây dựng trên cơ sở chứa các ký tự trong mật khẩu được băm và chiều dài mật khẩu. Điều này có nghĩa là nếu mật khẩu quá dài hoặc mật khẩu chứa một ký tự không có trong bảng cầu vồng thì việc dò tìm là không có kết quả.
Hiện nay sử dụng bảng cầu vồng để dò mật khẩu có các công cụ như RainbowCrack, Ophcrack.
Việc dò tìm mật khẩu phụ thuộc lớn vào việc xây dựng các bảng cầu vồng chứa nhiều giá trị băm và các biến thể của nó. Nhưng như vậy tài nguyên để lưu trữ bảng cầu vồng và thời gian để xây dựng nó là rất lớn. Những kẻ tấn công
Tìm hiểu và phân tích đánh giá độ an toàn của thuật toán MD5
thường sử dụng bảng cầu vồng trên cơ sở dữ liệu lớn của các hash mật khẩu bị đánh cắp. Nó là không thực tế cho những kẻ tấn công sử dụng bảng cầu vồng trên máy tính bị xâm nhập đơn. Đối với an ninh quốc phòng để chống lại các cuộc tấn công bảng cầu vồng là thêm “muối”vào mật khẩu được lưu trữ.