Làm thế nào để tấn công brute-force trên dữ liệu được mã hóa biết khi nào họ tìm thấy chìa khóa bên phải để giải mã dữ liệu? Có cách nào để biết rằng dữ liệu đã được giải mã, ngoài việc có một con người nhìn vào nó? Điều gì xảy ra nếu nó không phải là dữ liệu thân thiện với con người?Các cuộc tấn công giải mã lực lượng vũ phu biết khi nào họ tìm được giải pháp đúng?
Trả lời
Tùy thuộc vào phương pháp mã hóa. Ví dụ: với mã hóa RSA, nếu bạn đang tìm khóa riêng tư, bạn biết bạn đã tìm thấy khóa đó khi khóa công khai là bội số của số được đề cập.
Các nhà mật mã hy vọng đã biết bản mã và bản rõ. Một chìa khóa giải mã rằng bản mã tới bản rõ đó chắc chắn là chìa khóa bên phải.
Không rõ nguyên bản, định dạng của dữ liệu phải được biết. Ví dụ: HTML văn bản thuần túy chứa thẻ. Một plaintext thư mục điện thoại chứa số điện thoại. Và cứ thế.
... đó là lý do tại sao bạn nên viết các tin nhắn siêu bí mật của mình bằng một ngôn ngữ riêng tư bí mật * trước khi * áp dụng mã hóa. ;) ... tất nhiên ngôn ngữ đó vẫn có thể được giải mã, nhưng nó sẽ làm cho công việc làm nứt các thông điệp khó hơn rất nhiều. – FrustratedWithFormsDesigner
... Hoặc chỉ cần mã hóa nhiều lần. Tôi đã hoàn thành cuốn sách kinh khủng của Dave Brown * Pháo đài số * –
@Adam Gent: Đừng bận tâm. Hầu như bất kỳ hoạt động nào khác đáng giá hơn. – FrustratedWithFormsDesigner
Tùy thuộc vào thuật toán. Với nhiều thuật toán chỉ có một khóa giải mã chính xác. Khi bạn có khóa, bạn có thể dễ dàng xác minh đó là khóa chính xác trong thời gian đa thức.
Với một số thuật toán mặc dù không thể biết khi nào bạn có khóa chính xác. Tất cả các văn bản thuần tuý (có độ dài chính xác) đều có thể cho đầu ra. Ví dụ về sơ đồ như vậy là one-time pad với mã hóa XOR. Tuy nhiên, nếu một pad được sử dụng lại có thể được XORed với nhau để loại bỏ khóa và sau đó có thể trích xuất hai thông điệp rõ ràng bằng cách sử dụng các kỹ thuật như frequency analysis để xác định loại dữ liệu nào và .
+1 cho miếng đệm một lần! ... mặc dù tôi nghĩ rằng chúng được gọi là miếng đệm một lần * bởi vì * chúng không thể được tái sử dụng ... hoặc có thể chúng có thể chống lại. – FrustratedWithFormsDesigner
@Frustrated: Nếu bạn sử dụng lại chúng, chúng sẽ mất * tất cả * bảo mật tuyệt vời về mặt toán học được đảm bảo ... – dmckee
Nếu bạn sử dụng lại chúng, chúng là miếng đệm hai lần. –
- 1. Mã hóa riêng của lực lượng vũ phu trong Java
- 2. Giải mã cuộc tấn công XSS này
- 3. Có phải htmlencoding là một giải pháp thích hợp để tránh các cuộc tấn công SQL injection không?
- 4. Tệp không được giải mã đúng cách
- 5. Mã hóa và muối an toàn hơn MD5 như thế nào so với tấn công bạo lực?
- 6. Làm cách nào để ngăn chặn các cuộc tấn công bạo lực?
- 7. Ngăn chặn các cuộc tấn công XSS
- 8. Ngăn chặn các cuộc tấn công MITM trên máy chủ
- 9. Visual Studio 2012 "Tìm trong tệp" tìm kiếm vượt xa giải pháp khi "Toàn bộ giải pháp" được chỉ định
- 10. Bộ giải SAT có thể được sử dụng để tìm tất cả các giải pháp không?
- 11. Làm cách nào để biết khi nào bạn cần giải pháp BPM?
- 12. Làm thế nào để bạn ngăn chặn các cuộc tấn công bạo lực trên các dịch vụ dữ liệu RESTful
- 13. Tìm giải pháp CMDB thực dụng
- 14. tấn công chuỗi phương pháp
- 15. Giải pháp Công cụ Báo cáo Javafx
- 16. Làm thế nào để tránh các cuộc tấn công BREACH trong đường ray?
- 17. Làm cách nào để kiểm tra URL của bạn cho các cuộc tấn công SQL Injection?
- 18. Tại sao thuật toán phân chia và chinh phục thường chạy nhanh hơn sức mạnh vũ phu?
- 19. Làm thế nào để mã một giải pháp để đối phó với số lượng lớn?
- 20. Tại sao mã hóa HTML ngăn chặn các cuộc tấn công XSS nhất định?
- 21. Các giải pháp thay thế cho công cụ bytecode Java
- 22. Lợi thế của việc giải mã trên bcrypt là gì?
- 23. Ngăn chặn các cuộc tấn công Javascript và XSS
- 24. Bất cứ ai có thể giải thích về đoạn mã tấn công php này cho tôi?
- 25. Các giải pháp thay thế cho ERB
- 26. Làm thế nào để khử trùng mã HTML trong Java để ngăn chặn các cuộc tấn công XSS?
- 27. Làm thế nào để tăng tốc cho mỗi lực lượng tự động giải quyết?
- 28. Mã perl lạ - tìm kiếm giải thích
- 29. Mã được chia sẻ lại qua nhiều giải pháp
- 30. Công cụ để giải thích mã C
Có thể ai đó mã hóa dữ liệu theo cách sao cho dữ liệu có thể được giải mã theo nhiều cách, tạo ra nhiều kết quả hợp lệ, nhưng khác biệt? (Chỉ với một trong số đó là chính xác, có lẽ.) – JAB
@JAB: Bạn nhận được điều đó tự động với một pad thời gian ... nó chỉ là OTPs chỉ hữu ích trong một số trường hợp hạn chế. – dmckee
** Trả lời cho câu hỏi không liên quan đến lập trình này: ** bằng cách tận dụng các thuộc tính đã biết hoặc dự kiến của văn bản thuần túy đối với dự phòng và định dạng. Alice có thể làm cho cuộc sống của Eve trở nên khó khăn hơn bằng cách nén văn bản đơn giản trước khi mã hóa một cách hiệu quả. – dmckee