2010-06-09 33 views
5

Có thể nhận bảo mật bổ sung bằng cách mã hóa tin nhắn bằng cách sử dụng 2 hoặc nhiều khóa RSA không?RSA: Mã hóa tin nhắn bằng nhiều phím

EDIT: Một vài giải thích:

Bối cảnh mà tôi quan tâm nhất trong việc này cho được mã hóa một khóa đối xứng được tạo ngẫu nhiên.

Tôi không muốn giới hạn câu hỏi để mã hóa hai lần liên tiếp; mục đích là để tránh chi phí tính toán cao của các khóa RSA lớn. Sử dụng các chiến thuật đơn giản hơn như phá vỡ thông điệp thành các phần và mã hóa chúng một cách riêng biệt nên được coi là một lựa chọn.

Cần giả định rằng chỉ nhận được một phần của thư được chấp nhận.

Nếu bạn biết về bất kỳ ấn phẩm nào được chuyên gia hoặc thuật toán sử dụng nhiều khóa RSA, thì hãy đóng góp.

+4

Tôi tin rằng cách tiêu chuẩn để có được bảo mật bổ sung là sử dụng khóa lớn hơn. –

+0

không, bạn có nghĩ rằng nó sẽ được an toàn bằng cách mã hóa tin nhắn bằng hai phím? – berkay

+3

Thậm chí giả sử không có gì tinh tế hơn, mã hóa thông điệp của bạn bằng hai phím sẽ tăng gấp đôi độ khó giải mã nó - trong khi mã hóa nó bằng một khóa, gấp đôi độ dài ban đầu, sẽ sử dụng cùng một số bit chính, nhưng cung cấp nhiều đơn đặt hàng khó khăn hơn. –

Trả lời

1

số

Nếu Khóa A được thỏa hiệp hơn mã hóa với A + B sẽ bảo vệ chống lại sự thỏa hiệp, nhưng bên ngoài rằng trường hợp đặc biệt, bạn không nhận được lợi ích bổ sung.

+0

Điều này có nghĩa là 'RSA (Key1, RSA (Key2, Message)) 'có thể được mã hóa bởi một' Key3' không? Nếu không, tôi thấy khó tin rằng có "không có lợi ích bổ sung". – Mike

+0

@mike: Tôi khá chắc chắn rằng Key3 có thể không tồn tại và rằng nếu nó có một mối quan hệ khủng khiếp (không thể đảo ngược?) Với Key1 và Key2. Tuy nhiên, tôi không phải là một nhà mật mã. Đây là suy đoán dựa trên cách thức mà thông điệp tới nhiều người nhận được mã hóa và sử dụng các hệ thống khóa đa yếu tố. Đừng cố gắng này ở nhà, cung cấp void ở Nebraska. – msw

+0

Tôi tích cực rằng Key3 tồn tại tuy nhiên mối quan hệ là không thể đảo ngược. Trường hợp tốt nhất là nó giống như cố gắng để phá vỡ RSA (Key1), nơi thỏa hiệp một phần của Key1 sẽ không giúp đỡ. Tuy nhiên, Key3 có thể có nhiều bit hơn Key1. – Joshua

5

Không.

Không an toàn để thực hiện các thử nghiệm suy nghĩ về mật mã. Bạn nên giữ một cách hẹp để con đường đột ngột bởi các chuyên gia.

Và khi các chuyên gia muốn bảo vệ điều gì đó tốt hơn, họ sử dụng kích thước khóa lớn hơn (ít nhất 2048 bit, chứng chỉ nhỏ hơn là insufficient để yên tâm) hoặc sử dụng chứng chỉ elliptic curve tùy chọn RSA.

Ngẫu nhiên, bạn nhớ rằng nội dung thư của bạn thường được mã hóa bằng mật mã đối xứng và khóa ngẫu nhiên và chỉ có khóa ngẫu nhiên này được mã hóa bằng khóa công khai của người nhận. Việc mã hóa đôi khóa bí mật này sẽ không làm cho khóa bí mật này dài hơn và sẽ không ảnh hưởng đến khả năng tấn công của kẻ tấn công đó.

Mật mã lượng tử - Tôi đề cập đến nó chỉ là một thú vị sang một bên, bạn không cần phải nhân tố này vào lựa chọn của bạn - hứa hẹn những điều thú vị cho keyizes: các khóa RSA sẽ bị xóa bởi thuật toán Shor, nhưng các phím đối xứng (Grover 's) sẽ chỉ có một nửa độ dài (128-bit sẽ được equiv đến 64-bit, do đó sẽ có thể crack). Tất nhiên, có cuộc tranh luận về việc liệu các máy lượng tử như vậy có thể được thực hiện hay không vv :) ​​

0

Có!

Nhưng không sử dụng mã hóa thô. Sử dụng lược đồ mã hóa RSA. Thay vì mã hóa lại tin nhắn được mã hóa bằng khóa thứ hai, có thể có tác động làm suy yếu (tôi không biết), hãy sử dụng thuật toán bí mật được chia sẻ để tách bí mật của bạn thành hai. Thuật toán bí mật được chia sẻ làm cho nó có thể chia một bí mật thành từng phần và đảm bảo rằng nếu kẻ tấn công quản lý để nhận được các mảnh n-1, anh ta không biết gì về bí mật. Vì vậy, không chỉ đơn giản là tách bí mật thành hai.

Sau đó, bạn có thể có thêm 2 khóa RSA.Một thuộc tính mạnh mẽ khác của thuật toán bí mật được chia sẻ là có thể truyền bá bí mật trên phần n và chỉ yêu cầu phần m, với m nhỏ hơn n, để khôi phục bí mật. Điều này làm cho sự phục hồi bí mật mạnh mẽ hơn để mất miếng.

Nhìn vào đây để biết thêm thông tin về chia sẻ bí mật: http://en.wikipedia.org/wiki/Shared_secret

0

Trong bổ sung cho các câu trả lời được đưa ra, nó cũng chỉ đơn giản là không hoạt động trừ khi bạn làm một số vá. Rất đơn giản, một trong những moduli phải lớn hơn cái kia. Nếu bạn thực hiện RSA mod modulus lớn hơn đầu tiên và mod nhỏ hơn cuối cùng bạn mất thông tin và không thể đảm bảo giải mã thành công. Các miếng vá rõ ràng là luôn luôn mã hóa với mô đun nhỏ hơn đầu tiên. Tất nhiên, bạn phải thực hiện giải mã theo thứ tự ngược lại. Một bản vá đơn giản khác là chọn moduli có kích thước rất gần nhau, do đó xác suất mà bạn gặp phải một bản mã không thể được giải mã duy nhất là biến mất nhỏ.

0

Soạn mật mã

Giả sử bạn có một chức năng mã hóa E(M, K), nơi M là thông điệp rõ và K là chìa khóa. Nói không có lỗ hổng đã biết nào tồn tại trong E.

Bạn tạo hai hoàn toàn không có liên quan phím K1K2.

Đảm bảo rằng nếu bạn soạn chúng ở dạng E(E(M, K1), K2), bạn không thể thực sự an toàn mất bằng cách này. Nếu số có thể mất an ninh khi mã hóa E(M, K1), hãy là K2 hoặc bất kỳ khóa nào khác, mật mã bị hỏng.

Để biết thêm thông tin, hãy xem here.

Encrypting mỗi khối thứ hai với một chìa khóa khác nhau

Ý nghĩa ở đây là hiển nhiên. Giả sử bạn đang sử dụng các phần tử mã hóa được soạn đúng cách với cả hai kết hợp encryption function:key, nếu bạn mã hóa mỗi khối thứ hai bằng một khóa khác trong tập hợp hai khóa, kẻ tấn công chỉ có thể giải mã các khối mà người đó có khóa.

Các vấn đề liên quan