Câu trả lời:
Khóa riêng của bạn có nhiều thông tin hơn khóa công khai của bạn. Trong khi khóa công khai chỉ truyền số mũ mã hóa (e) và mô đun (n), thì khóa riêng còn bao gồm số mũ giải mã (d) và hai thừa số nguyên tố (p và q) của mô đun. Khóa riêng về cơ bản có một khóa công khai bên trong nó.
[Mã hóa: cexttext = tin nhắn ^ e (mod n); Giải mã: message = cexttext ^ d (mod n)]
Để xem tất cả dữ liệu trong tệp khóa riêng của bạn:
$ openssl rsa -in id_rsa -text -noout
Chỉnh sửa: Tệp khóa riêng dường như không có số mũ mã hóa, nhưng nó có số mũ d_1 và d_2, trong đó d_1 = d (mod p-1) và d_2 = d (mod q-1). Chúng được sử dụng để tăng tốc độ giải mã - bạn có thể phân chia lũy thừa giải mã của mình thành các cuộc gọi lũy thừa song song nhỏ hơn, kết thúc nhanh hơn một m = c ^ d (mod n) cho d lớn và n lớn.
Thật không may, bạn đã không chỉ định định dạng các khóa được lưu trữ. Tôi đoán bạn đang đề cập đến mã hóa khóa OpenSSH. Trong định dạng này, các khóa được lưu trữ trong các khối dữ liệu được mã hóa base64. Tùy thuộc vào mã hóa khi mã hóa, thường có một số loại đệm liên quan khi mã hóa dữ liệu. Vì vậy, dữ liệu kết quả là bội số của kích thước khối mã hóa.
Các khóa OpenSSH cũng có thể bao gồm một số loại nhận xét và thuộc tính bổ sung được chèn giữa ---- BEGIN SSH2 [PUBLIC|PRIVATE] KEY ----
và -----END RSA [PUBLIC|PRIVATE] KEY-----
các điểm đánh dấu. Xem RFC4716 .
Ngoài ra, đối với khóa chung, mô đun và số mũ công khai được lưu trong khi đối với khóa riêng thì số mũ riêng được lưu. Xem thế hệ khóa RSA trên Wikipedia để biết chi tiết về cơ sở toán học. Có nhiều nơi trên web mô tả kết nối toán học giữa các khóa này. Không chắc chắn nếu bạn cần một bản sao của những lời giải thích ở đây.
Về mặt lý thuyết, có thể tính toán khóa riêng từ thông tin khóa công khai nhưng thực hiện việc này khó khăn hơn nhiều so với cách khác. Chỉ coi khóa riêng là "nguồn" bao gồm tất cả các biến và khóa chung là kết quả của phép tính. Thật dễ dàng để thực hiện tính toán nhiều lần nếu bạn biết tất cả các biến nhưng chỉ biết kết quả thì rất khó để có được tất cả các biến nguồn. Đây cũng là lý do tại sao nó đủ để bạn lưu khóa riêng ở nơi an toàn. Bạn luôn có thể sử dụng khóa riêng để tính lại khóa chung. Nhưng không phải là cách khác - tốt, về mặt lý thuyết bạn có thể làm điều này nhưng tùy thuộc vào độ dài khóa, việc này có thể mất nhiều năm;).