Điểm:5

Ký RSA - Câu hỏi về tiền tố tin nhắn và giả mạo tồn tại. Đó là một điều kỳ lạ

lá cờ ua

Tôi chưa quen với điều này. Làm ơn. Tôi có một câu hỏi lý thuyết mà tôi muốn kiểm tra sự tỉnh táo:

Bob và Alice đang thực hiện ký RSA mà không cần hàm băm -- chỉ cần nhập thông báo và nhận chữ ký.

Các tin nhắn mà Bob và Alice đang gửi cho nhau là các số ngẫu nhiên.

Nếu không có hàm băm liên quan, kẻ tấn công có thể tạo một thông báo có chữ ký mà họ muốn. Nhưng họ không thể kiểm soát thông điệp.

Tuy nhiên, vì Bob và Alice đang gửi cho nhau các số ngẫu nhiên, kẻ tấn công này có thể tạo một tin nhắn hợp lệ. Đó là, một chữ ký hợp lệ trên một số trông có vẻ ngẫu nhiên.

Nhưng Bob và Alice muốn đảm bảo an toàn cho lược đồ này, vì vậy họ thêm tiền tố đã biết vào tin nhắn của mình. Họ thêm một số cấu trúc.

Vì vậy, thay vì một tin nhắn giống như: 484262 Có vẻ như: tiền tố_484262

Đây là điều tôi muốn kiểm tra sự tỉnh táo:

Bằng cách thêm tiền tố đã biết, kẻ tấn công chỉ có thể giả mạo tin nhắn bằng vũ lực và kết quả là tính bảo mật của sơ đồ này tỷ lệ thuận với độ dài của tiền tố.

Điều đó có nghĩa là, độ dài của tiền tố quan trọng. Chẳng hạn, nếu tiền tố chỉ là một octet, có lẽ kẻ tấn công sẽ chỉ cần khoảng 255 lần cố gắng giả mạo một thông báo hoạt động. Tuy nhiên, nếu tiền tố là hai octet Kẻ tấn công sẽ cần 65.536 lần thử.

Một điều khác tôi muốn kiểm tra sự tỉnh táo là:

Biết tiền tố không phải là một lợi thế để ép buộc các tin nhắn (ngoài thực tế là kẻ tấn công biết đầu ra cần trông như thế nào).

Cảm ơn vì bất kì sự giúp đỡ. Tôi rât cảm kich.

Maarten Bodewes avatar
lá cờ in
Có lẽ bạn có thể kiểm tra [câu trả lời này](https://crypto.stackexchange.com/a/60039/1172). Lưu ý rằng phần đệm PKCS#1 v1.5 về cơ bản là tiền tố + hàm băm được đặt thông qua lũy thừa mô-đun với khóa riêng. Cũng lưu ý rằng bạn sẽ muốn kết quả lớn bằng mô đun, do đó, việc sử dụng tiền tố có kích thước động sẽ hợp lý.
Điểm:5
lá cờ my

Bằng cách thêm tiền tố đã biết, kẻ tấn công chỉ có thể giả mạo tin nhắn bằng vũ lực và kết quả là tính bảo mật của sơ đồ này tỷ lệ thuận với độ dài của tiền tố.

Đây là hiểu biết của tôi về kịch bản (và nếu điều này không chính xác, những gì tôi nói sẽ không hợp lệ):

  • Alice (và Bob) sẵn sàng tính toán $M^d \bmod n$, cho các tin nhắn tùy ý $M$ miễn là $M$ có tiền tố đã thỏa thuận (và bí mật $d$, nhưng công khai $n$$e$ (là số mũ công khai tương ứng với số mũ riêng $d$).

  • Cuộc tấn công bạn đang xem xét là một cuộc tấn công RSA mù; kẻ tấn công có một tin nhắn $M'$ và họ muốn tính toán $M'^d \bmod n$, Tuy vậy $M'$ không bắt đầu bằng tiền tố. Vì vậy, những gì kẻ tấn công làm là chọn một giá trị ngẫu nhiên $R$, tính toán $R^eM'$và kiểm tra xem có tiền tố nào không - nếu có, họ sẽ đưa tiền tố đó cho Alice, người ký tên, tạo thành $R M'^d$, và kẻ tấn công chia ra $R$ và họ chiến thắng.

Xác suất (mỗi lần lặp lại) của cuộc tấn công này thành công phụ thuộc vào xác suất mà $R^eM'$ tình cờ có tiền tố, tỷ lệ thuận với độ dài tiền tố.

Nếu đó là kịch bản, thì đó không phải là cuộc tấn công duy nhất mà chúng ta cần quan tâm.

Một cuộc tấn công khác sẽ là nếu kẻ tấn công tìm thấy một số lượng lớn các số nguyên trơn bắt đầu bằng tiền tố và có Alice 'ký' chúng; số nguyên trơn là số chỉ có thừa số nhỏ. Nếu kẻ tấn công có thể tìm thấy $k$ các số nguyên mượt như vậy mà mỗi số chỉ bao gồm số đầu tiên $k$ số nguyên tố, sau đó (bỏ qua khả năng các phương trình tuyến tính không độc lập; điều này có thể dễ dàng giải quyết bằng cách có thêm một vài số nguyên tố), kẻ tấn công có thể học được giá trị $p^d \bmod n$ cho tất cả những người đầu tiên $k$ số nguyên tố $p$.

Có một số cách kẻ tấn công có thể khai thác điều này, cách có khả năng nhất là cải thiện thời gian tìm kiếm cho cuộc tấn công ban đầu: nếu chúng ta cho rằng kẻ tấn công có thể học $2^d \bmod n$, sau đó họ có thể kiểm tra $2^z M'$ để tăng giá trị của $z$; đối với mỗi bài kiểm tra không đạt, họ sẽ nhân đôi, rẻ hơn rất nhiều so với ban đầu (khi nhân với $2^e \bmod n$ dường như là hiệu quả nhất có thể).

Joshua avatar
lá cờ cn
Tôi đã đi đến kết luận rằng RSA nổi tiếng nhưng khó sử dụng hơn DSA. Chúng tôi chỉ quen với việc tránh các điểm yếu của RSA (cho đến khi chúng tôi không làm như vậy; ai đó đã phá một số lượng lớn các khóa được tạo bởi một thuật toán ngu ngốc đặt chúng quá gần điểm giữa). Tất nhiên, DSA có cái riêng của nó. Đừng rò rỉ bất kỳ thông tin nào về k; sử dụng RNG mạnh về tiền điện tử để nhận k mới cho mỗi tin nhắn.
Điểm:3
lá cờ ng

Tôi cho rằng hệ thống chữ ký được đề xuất sẽ nhận một thông điệp $M$, chuyển đổi nó thành một số nguyên $m$ ít hơn $n$ bằng cách thêm vào một hằng số cố định $c$ ở bên trái biểu thức của $M$ như là $i$ chữ số trong một số cơ sở $b\ge2$ (cơ sở 10 trong câu hỏi) do đó $m:=c\,b^i+M$, sau đó xây dựng chữ ký $\sigma=\mathrm{Sig}(M)$ mỗi RSA trong sách giáo khoa với khóa riêng $(n,d)$, đó là $\sigma:=m^d\bmod n$; và xác minh đưa ra $(n,e)$$(M,\sigma)$ (hoặc chỉ $\sigma$) tính toán $\sigma^e\bmod n$ sau đó kiểm tra đó là $c\,b^i+M$. Hiện tại, tôi không xác định nếu $i$ là cố định, hoặc phụ thuộc vào $M$ (và làm thế nào).

Bằng cách thêm tiền tố đã biết, kẻ tấn công chỉ có thể giả mạo tin nhắn bằng vũ lực và kết quả là tính bảo mật của sơ đồ này tỷ lệ thuận với độ dài của tiền tố.

Để đề xuất này có bất kỳ cơ hội nào là đúng, chúng ta phải thêm "lên đến điểm tiền tố $c$ trở nên lớn đến mức nhân tử hóa của $n$ trở thành cuộc tấn công dễ dàng nhất". Tôi giả định điều này sau đây.

Đề xuất đó có vẻ đúng (nhưng chúng tôi không có bằng chứng) nếu chúng tôi coi định nghĩa về bảo mật cho chữ ký Sự tồn tại không thể giả mạo trong cuộc tấn công bằng tin nhắn đã biết, trong đó đối thủ có khóa công khai $(n,e)$ cộng với một số hợp lệ $(M_j,\sigma_j)$ cặp cho ngẫu nhiên $M_j$, và cố gắng thể hiện một $(M,\sigma)$ cặp cho $M$ không ai trong số $M_j$.

Nhưng điều đó là không chính xác nếu chúng ta lấy Sự tồn tại không thể giả mạo trong cuộc tấn công bằng tin nhắn được chọn, trong đó đối thủ được phép truy vấn chữ ký $\sigma_j$ của bất kỳ tin nhắn $M_j$ của sự lựa chọn của họ, trước khi triển lãm $(M,\sigma)$ như trên. Vấn đề là, theo mô hình bảo mật này, có những cuộc tấn công tốt hơn so với vũ phu.

  • Tấn công dễ dàng nếu chúng ta cho phép $i$ là số chữ số của $M$ ở cơ sở $b$ (có thể có hoặc không triệt tiêu các số 0 đứng đầu) và sử dụng một số mũ công khai nhỏ $e$ (ví dụ: 3): kẻ tấn công tìm thấy chữ ký của bất kỳ tin nhắn nào $M$ nó thấy phù hợp (lên đến một số giới hạn kích thước) từ chữ ký của tin nhắn $M'=M\,b^e$ nếu $M$ đủ ngắn để đáp ứng $c\,b^{i'}+M'=c\,b^{i+e}+M\,b^e<n$ yêu cầu, kể từ khi $\mathrm{Sig}(M')\,b^{-1}\bmod n=\mathrm{Sig}(M)$.
  • Đối với cố định $i$, mọi thứ khó khăn hơn, nhưng Desmedt và Odlyzko tấn công cho phép giả mạo với độ khó thấp hơn nhiều so với vũ phu, không tăng gấp đôi khi chúng tôi cho phép $c$ lớn gấp đôi và thậm chí là cấp số nhân với $\log_2(c)$.
  • Cuộc tấn công trước đó trở nên dễ dàng hơn nếu chúng ta cho phép $i$ cố định cho một $c$, nhưng bằng kích thước của $c$ ở cơ sở $b$.

Biết tiền tố không phải là một lợi thế để ép buộc các tin nhắn (ngoài thực tế là kẻ tấn công biết đầu ra cần trông như thế nào).

Động lực của chữ ký là cho phép xác minh mà không có thông tin bí mật và việc đặt tiền tố bí mật đi ngược lại điều đó. Tôi sẽ cho rằng nó tuy nhiên.

Sau đó, tuyên bố đó là chính xác ngoại trừ các cuộc tấn công chỉ có khóa không thực tế, nhưng hãy tranh luận vì lý do khiến nó đúng: kẻ thù biết ít nhất một $(M_0,\sigma_0)$ cặp ngoài khóa công khai $(n,e)$, và do đó họ có thể dễ dàng tìm thấy tiền tố $c$ bằng máy tính ${\sigma_0}^e\bmod n$.

Đă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.