Tôi đang cố giải quyết vấn đề CTF liên quan đến mã hóa RSA.
Tôi có thể chạy tệp nhị phân thử thách sẽ đọc cờ từ một tệp, cờ sẽ khớp với RegEx sau:
AB1234C\{[0-9a-f]{32}\}\n
Vì vậy, tổng cộng cờ là 42 byte bao gồm cả dòng mới
Sau đó, cờ được đệm bằng đệm ngẫu nhiên với tổng số 128 byte.
Tôi có thể chọn số mũ công khai e, miễn là e>1. Nhị phân sẽ tạo mô-đun 2048 bit ngẫu nhiên bằng hàm python Crypto.PublicKey.RSA.generate(bits=2048)
Hệ nhị phân sẽ in ra mô-đun cũng như bản mã của cờ đệm được mã hóa.
Tôi có thể chạy nhị phân nhiều lần, mô-đun và phần đệm sẽ khác nhau giữa mỗi lần chạy.
Tôi nghĩ rằng nó có thể liên quan đến cuộc tấn công của Hastad nhưng điều đó dường như chỉ hoạt động đối với phần đệm tuyến tính và cuộc tấn công phần đệm ngắn của Coppersmith chỉ hoạt động nếu bạn có hai tin nhắn với phần đệm ngẫu nhiên nhưng được mã hóa bằng cùng một mô-đun mà tôi không có ở đây do thực tế là một mô-đun khác nhau được tạo ra mỗi khi tôi chạy mã nhị phân.
Tôi vẫn là người mới bắt đầu khi nói đến tiền điện tử nên có thể tôi đã nhầm về những cuộc tấn công đó và có thể đã bỏ sót điều gì đó hiển nhiên.
Tôi tin rằng lỗ hổng có thể liên quan đến kích thước của phần đệm, vì thông báo được đệm chỉ bằng một nửa chiều dài của mô-đun.
Tôi không nhất thiết muốn có giải pháp, mà chỉ cần một cú hích đúng hướng. Cảm ơn.