kích thước khối tối đa RSA nào mà tôi có thể mã hóa trong một chu kỳ và tốc độ tối đa của thuật toán RSA với kích thước khóa 4096 là bao nhiêu?kích thước khối tối đa RSA nào để mã hóa?
Trả lời
Theo phương trình được cập nhật của Lenstra có sẵn on this site, mức độ bảo mật của khóa RSA bit 4096 được kết hợp bằng mã băm mật mã dài ít nhất 248 bit, ví dụ SHA-256.
Nếu bạn sử dụng RSA OAEP (và bạn nên), lượng dữ liệu bạn có thể mã hóa nhiều nhất là modulus size - 2 - 2*hash size
, là 446 byte.
Với RSA PKCS # 1 v1.5, bạn có thể mã hóa tối đa modulus size - 11
byte, nhưng RSA PKCS # 1 v1.5 cung cấp bảo mật kém hơn (nó không được bảo mật một cách an toàn, và số byte đệm ngẫu nhiên tối thiểu phải được mở rộng đến ít nhất 16 byte).
Nếu bạn cần mã hóa nhiều dữ liệu hơn, bạn không nên chỉ cần cắt nó lên và sử dụng RSA nhiều lần trên mỗi khối. Đó là một lỗ hổng bảo mật. Bạn phải thực hiện một cách tiếp cận khác, chính xác hơn:
- Chọn khóa đối xứng 128 bit ngẫu nhiên.
- Sử dụng chế độ hoạt động được xác thực để mã hóa dữ liệu của bạn (ví dụ: AES-128 GCM).
- Mã hóa khóa đối xứng bằng cách sử dụng RSA OAEP.
Mã hóa RSA (không giống giải mã) khá nhanh, nhưng thời gian thực sự phụ thuộc vào thư viện và trên nền tảng bạn sử dụng. Để tham khảo, hãy xem cryptopp library's website.
- 1. Kích thước đoạn tối đa trong phản hồi HTTP với Mã hóa chuyển mã là gì?
- 2. Tính kích thước tối đa cho dữ liệu được mã hóa
- 3. Kích thước đỉnh tối đa
- 4. Kích thước mã tối đa cho Google App Engine
- 5. Kích thước tệp tối đa và kích thước kho lưu trữ tối đa trong Git?
- 6. Kích thước bộ nhớ cache tối đa
- 7. $ _POST kích thước mảng tối đa
- 8. Kích thước tối đa của SharedPreferences lớp
- 9. Kích thước tối đa của phiên PHP
- 10. kích thước tối đa trong BlobProperty (appengine)
- 11. Kích thước tối đa cho StringBuffer
- 12. Kích thước tối đa cho đa xử lý.Queue mục?
- 13. Mã hóa/giải mã RSA
- 14. Kích thước tối đa của vị trí.hash trong trình duyệt
- 15. Java DatagramPacket (UDP) tối đa gửi/recv đệm kích thước
- 16. Mã hóa RSA .NET Giải mã Java
- 17. Làm cách nào để tăng kích thước Tải lên tối đa trong cPanel?
- 18. Mã hóa RSA trong Android
- 19. Làm thế nào để mã hóa hoặc giải mã bằng Rijndael và kích thước khối 256 bit?
- 20. thiết lập kích thước tối đa của JPanel bên BorderLayout.CENTER
- 21. Đã đạt đến kích thước bể bơi tối đa?
- 22. Kích thước bộ đệm tối đa UDP sendto() và recvfrom() tối đa
- 23. Kích thước tối đa của varchar (tối đa) trong SQL Server 2000
- 24. Làm cách nào để đặt số lượng cuộn tối đa và kích thước nhật ký tối đa cho tomcat?
- 25. emacs: x-popup-menu hạn chế kích thước tối đa?
- 26. Cả tối đa hóa và ngăn thay đổi kích thước trên JFrame?
- 27. Kích thước tối đa cho các thư SockJS là gì?
- 28. lập trình thiết lập kích thước heap java tối đa
- 29. tối ưu hóa kích thước bộ nhớ trong java
- 30. Lưu trữ bảng Azure: kích thước biến tối đa?
@owlstead Điểm tốt về động từ đúng để sử dụng, tôi đã chỉnh sửa câu trả lời. Đối với tính toàn vẹn của khóa đối xứng được bảo vệ bằng mã hóa RSA, OAEP đã cung cấp tính toàn vẹn. Theo tôi, nó thậm chí không cần thiết, bởi vì chế độ xác thực (nhúng một MAC) được sử dụng sau này. Có lẽ bạn có nghĩa là tính xác thực (mà chương trình này không cung cấp)? – SquareRootOfTwentyThree
Không, tôi có nghĩa là tính toàn vẹn. Nhưng tôi đã nhầm lẫn trong ý nghĩa rằng các cuộc tấn công oracle padding vào OAEP chỉ có thể là * tấn công kênh phụ *, nói cách khác, các cuộc tấn công vào việc thực hiện. –
@SquareRootOfTwentyThree: bạn có tham chiếu nào giải thích ** tại sao ** kích thước tối đa là 'kích thước modulus - 2 - 2 * kích thước băm'? – eckes