Nó phụ thuộc vào nhiều yếu tố.
Hãy làm một số rất lạc quan giả thiết. Giả sử mật khẩu bao gồm các ký tự trong bộ 64 ký tự (64 được lấy cho đơn giản, ví dụ: chữ cái tiếng Anh viết thường và viết hoa, các chữ số từ 0 đến 9 và một vài ký tự đặc biệt). Giả sử mật khẩu có độ dài 12. Nếu các ký tự được chọn ngẫu nhiên, entropy là 6 x 12 = 72 bit. Và giả sử, một lần nữa rất lạc quan, rằng một hàm băm đơn giản như SHA-256 là đủ để kiểm tra một mật khẩu. Do đó, trong trường hợp xấu nhất, bạn cần tính 272 băm.
Nó có thể có giá bao nhiêu?
Hãy xem xét GPU NVIDIA GeForce RTX 3090 tương đối mạnh, có thể tính toán 121 MH/s. Nó là ~239 băm mỗi giờ. GPU này tiêu thụ 350W, với lạc quan giá thấp 0,1 USD mỗi KWh có nghĩa là 0,035 USD mỗi giờ.
Dành cho 272 băm bạn sẽ cần 272 / 239 = 233 ~= 8.600.000.000 giờ của GPU đó. Điều này sẽ tiêu tốn của bạn ~300.000.000 USD.
Nếu sơ đồ mã hóa sử dụng khóa 128 bit (không có ý nghĩa gì đối với lực lượng vũ phu) được bắt nguồn từ một số thuật toán như Argon2 từ mật khẩu 12 ký tự và các tham số của nó làm bạn chậm lại, chẳng hạn như hệ số 1.000.000, thì chi phí của bạn sẽ tăng lên bởi yếu tố này. Có nghĩa là, một mật khẩu 12 ký tự có thể tiêu tốn của bạn 300.000.000.000.000 USD.
Chi phí cho sức mạnh tính toán như vậy tại MS Azure sẽ cao hơn, bởi vì còn có chi phí cho phần cứng, hệ thống làm mát, nhân sự, v.v.
Nếu bạn muốn brute-force một mật khẩu 8 ký tự và không sử dụng dẫn xuất khóa nào, thì sau khi áp dụng logic tương tự, chúng ta sẽ nhận được như sau: Entropy = 6 x 8 = 48 bit. Thời gian cần thiết để vũ phu: 248 / 239 = 29 = 512 giờ ~= 21 ngày. Do đó, ngay cả với một GPU duy nhất, bạn có thể bắt buộc sử dụng mật khẩu 8 ký tự trong vòng 21 ngày, ngay cả khi không sử dụng MS Azure.
TLDR: Ngay cả trong một trường hợp tương đối đơn giản mà không cần dẫn xuất khóa với mật khẩu 12 ký tự, việc cưỡng chế vũ phu có thể tiêu tốn ~300.000.000 USD. Và nếu một số biện pháp tiếp theo được thực hiện, ví dụ: mật khẩu dài hơn hoặc sử dụng dẫn xuất khóa ngốn tài nguyên, chi phí có thể cao hơn nhiều.