Điểm:1

Các quyền hạn RSA của hai mô-đun luôn có MSB được đặt thành một và vì vậy khi DER được mã hóa có tiền tố 0x00?

lá cờ ug

Nhìn https://crypto.stackexchange.com/a/30616/16548 và tất cả các cách tôi tạo khóa RSA (mã, SSL), MSB luôn là 1 và do đó khi mã hóa DER có 0x00 tiếp đầu ngữ.

Tôi nghĩ nó luôn như vậy khi độ dài khóa RSA là lũy thừa của hai (ví dụ: 2048 hoặc 4096).

Nhưng câu hỏi tôi đang tự hỏi bây giờ trước khi đi ngủ: có phải vậy không?

Trích dẫn từ liên kết

Chúng tôi thường chọn các kích thước mô-đun RSA là lũy thừa của hai hoặc bội số nhỏ của chúng (1024, 1536, 2048, 3072, v.v.) và do đó, điều này thường xảy ra ở đó.

vì bây giờ tôi đang tự hỏi làm thế nào để chứng minh hoặc bằng cách nào đó điều này thực sự là như vậy.

Đối với tôi, độ dài mô đun được đặt như vậy và MSB được đặt do cấu trúc mô đun và đây là số nguyên không dấu. Vì vậy, 0x00 sẽ luôn ở đó và không cần kiểm tra xem MSB có được đặt hay không.

Vì vậy, câu trả lời cho câu hỏi là trong ngắn hạn: Vâng hoặc không. Tôi cũng đang nghĩ đến một lập luận thuyết phục mà hiện tại tôi không thể đưa ra nhưng nếu ai đó có trong tay thì tất nhiên sẽ rất thú vị.

Điểm:1
lá cờ in

Vâng, nó luôn luôn như vậy, nếu chỉ vì kích thước khóa thực sự là kích thước của mô-đun cho RSA.Nên chọn kích thước của các số nguyên tố tạo ra mô đun sao cho kích thước khóa nằm trong khoảng $[2^{len-1}, 2^{len})$. Nếu đó là trường hợp sau đó nếu $len$ là bội số của 8 thì nó sẽ có MSB của từng byte được đặt.

Điều này có nghĩa là tiền tố byte 0 cũng sẽ xuất hiện cho kích thước khóa, ví dụ: 1792 bit hoặc 1920 bit. Các loại kích thước này đôi khi được sử dụng cho các hệ thống nhúng/thẻ thông minh vì tổng kích thước dữ liệu phản hồi là 256 byte, do đó, chữ ký hoặc văn bản mã hóa sẽ không còn chỗ cho dữ liệu bổ sung hoặc nhắn tin an toàn.

Xin lưu ý rằng RSA có thể có bất kỳ kích thước khóa nào, vì vậy tôi sẽ không xem xét việc bỏ qua byte mà không kiểm tra một phương pháp lập trình phòng thủ tốt và thông thường bạn sẽ sử dụng các hàm thư viện để thực hiện chuyển đổi thành byte - tức là hầu hết thời gian bạn sẽ sử dụng ASN .1 thành phần.

lá cờ ug
Giải thích thêm thực sự tốt. Cảm ơn bạn. (Tôi thực sự đã đi xuống để xây dựng bằng chứng, nhưng tôi nghĩ bây giờ hãy dừng lại và cố gắng làm điều gì đó khác. :))

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.