Điểm:3

Phương pháp logarit rời rạc ElGamal để gửi khóa

lá cờ cn

Trong khóa học viết mã của tôi, tôi đã được giao bài tập sau:

ElGamal đã đề xuất sơ đồ chữ ký số sau sử dụng logarit rời rạc trên một trường $\mathbb{F}_p$, ở đâu $p$ là một số nguyên tố lớn.

  • Bước 1) Mọi người đều đồng ý về số nguyên tố $p$ và một máy phát điện $g$$\mathbb{F}_p^*$.

  • Bước 2) A (và tất cả các mục đích sử dụng khác) chọn một số mũ bí mật $d_A$, và công khai $e_A\equiv g^{d_A}\mod p$ (giống như trong hệ thống mật mã ElGamal).

  • Bước 3) Để ký một tin nhắn, được mã hóa dưới dạng số nguyên $m$ với $0\le m\le p-1$, A chọn một số nguyên ngẫu nhiên $k$ tương đối nguyên tố để $p-1$ (I E. $\gcd(k,p-1)=1$). Sau đó tính toán $r\equiv g^k \mod p$ và giải phương trình $g^m\equiv e_A^r r^s \mod p$ trong những điều chưa biết $s$. Trong trường hợp $s=0$ (khá khó xảy ra), cô ấy bắt đầu lại với một cách khác $k$. Cuối cùng, A gửi cho B thông điệp $m$ cùng với cặp $(r,s)$, đó là chữ ký của cô ấy cho tin nhắn đó.

  • Bước 4) Beatriz kiểm tra xem $g^m \equiv e_A^r r^s \mod p$. Nếu điều này đúng, B chấp nhận rằng chữ ký $(r,s)$ thực sự thuộc về A.

a) Kiểm tra xem Ana có biết tất cả những gì cô ấy cần tính toán không $s$.

b) Kiểm tra xem C không thể giả làm A mà không biết $d_A$, nghĩa là không thể giải bài toán logarit rời rạc, và do đó $B$ có thể chắc chắn rằng thông điệp thực sự đến từ A.

c) Tại sao A phải loại bỏ $k$ nếu nó chỉ ra rằng $s=0$?

Đây là những gì tôi có:

a) Kể từ khi $r\equiv g^k\mod p$$e_A=g^{d_A}\mod p$ sau đó: $$g^m\equiv e_A^rr^s\equiv (g^{d_A})^{r}(g^k)^s=g^{d_Ar+ks}\mod p$$ Và, định lý nhỏ của Fermat ngụ ý rằng $m\equiv d_Ar+ks\mod p-1\Rightarrow ks\equiv m-d_Ar\mod p-1$. Do đó, kể từ khi $\gcd(k,p-1)=1$ chúng tôi có cái đó $k$ là nghịch đảo trong $\mathbb{F}^*_p$ và vì thế $s\equiv k^{-1}(m-d_Ar)\mod p-1$. Do đó, chúng tôi đã hoàn thành, vì Ana biết $p,k,m,d_A$$r$.

b) Nếu $C$ muốn giả vờ là $A$, nó cần gửi $m$$(r,s)$ như vậy mà $g^m\equiv e_A^rr^s\mod p$. Nhưng mà $s$ phụ thuộc $d_A$ như chúng ta đã thấy trong $a)$. Do đó, chúng ta không thể xây dựng $s$ không biết $d_A$, và như vậy, nếu $C$ muốn giả vờ là $B$, nó cần tìm $d_A$. Nhưng điều đó thật khó, vì điều duy nhất chúng ta biết về $d_A$ (nếu chúng ta không $A$) đó là $e_A\equiv g^{d_A}\mod p$ và vì vậy, giả vờ là $A$ tương đương với việc giải một bài toán logarit rời rạc.

c) Nếu $s=0$ sau đó $g^m\equiv e_A^r\equiv g^{d_Ar}\mod p$ và vì thế $m\equiv d_Ar\mod p-1$. Từ đây tôi bị mắc kẹt, vì đây là thông tin duy nhất tôi có, nhưng tôi không hiểu làm thế nào điều này cho phép chúng tôi xây dựng một chữ ký mà không cần biết $d_A$. Tất nhiên, chúng ta có thể giải quyết $m\equiv d_Ar\mod p-1$, sẽ có $\gcd(r,p-1)$ các giải pháp và sau đó kiểm tra xem cái nào là đúng $d_A$, nhưng $\gcd(r,p-1)$ có thể gần $p-1$ nếu chúng ta gặp xui xẻo, và điều đó có nghĩa là quá trình này diễn ra theo cấp số nhân, và nó không tốt hơn việc giải logarit rời rạc.

Nếu bạn có thể kiểm tra xem a) và b) có đúng không và cho tôi gợi ý về c) thì tôi sẽ rất biết ơn.

Điểm:2
lá cờ ng

Giải pháp đưa ra cho một Ổn.


Các cố gắng chứng minh cho b là sai: có thể là C send $m$$(r,s)$ như vậy mà $g^m\equiv(e_A)^r\,r^s\pmod p$â.

Một cách để làm như vậy ngay cả khi A không sử dụng $d_A$ ngoài bước 1: C chọn $r=s=(p-1)/2$, và tính toán $(e_A)^r\,r^s\bmod p$. Đó là một trong hai $p-1$ hoặc $1$. C chọn tương ứng $m=(p-1)/2$ hoặc $m=0$, và bây giờ có $m$$(r,s)$ vượt qua xác minh của bước 4. Đây là sự giả mạo tồn tại (có người khác dẫn đến tìm kiếm ngẫu nhiên $m$). Có thể đạt được một số mức độ giảm nhẹ chống lại những điều này bằng cách yêu cầu rằng trong bước 4, B chỉ chấp nhận ý nghĩa $m$ cho một số định nghĩa về ý nghĩa. Hoặc thay đổi phương trình xác minh thành $g^{H(m)}\equiv(e_A)^r\,r^s\pmod p$.

Nhưng sau đó, có một vấn đề là C có thể chiếm được một $m$$(r,s)$ do A chuẩn bị trước khi thực hiện bước 3 và gửi cho B. Đây là một cuộc tấn công lặp lại vào giao thức được nêu trong b. Một cách để chặn những thứ này là để B chọn $m$ trước mỗi lần thực hiện bước 3.

Nhưng sau đó, C có thể chuyển tiếp tới A bất kỳ thông báo nào C nhận được từ B và tới B bất kỳ thông báo nào C nhận được từ A. Đây là một cuộc tấn công chuyển tiếp vào giao thức được nêu trong b. Giải pháp cho vấn đề đó trong phạm vi của câu hỏi khá hạn chế: quyết định đó không phải là vấn đề hoặc đưa ra giả thuyết rằng A bị cô lập khỏi các tương tác giữa B và C.

Nếu câu hỏi sao chép chính xác tuyên bố vấn đề, thì phần sau là sai! Nếu chỉ đơn thuần chỉ ra nó được coi là rủi ro, tôi đề nghị viết lại giao thức được nêu trong b như: giả sử $m$ được chọn ngẫu nhiên trong $[0,p-1)$ bởi B trước bước 3 và A không tham gia vào việc trao đổi giữa B và C từ sự lựa chọn đó $m$ đến khi hoàn thành bước 4. Chứng minh rằng nếu C có thể vượt qua bài kiểm tra của bước 4 với xác suất khác 0, thì C có thể tìm thấy $d_A$ với xác suất như nhau. Tôi hy vọng (không chắc chắn) có một giải pháp tương đối đơn giản cho việc cải cách đó.


gợi ý cho c: Giả sử đầu tiên $(p-1)/2$ là nguyên tố (một yêu cầu phổ biến để giúp làm cho DLP trở nên cứng cáp) và một kẻ nghe lén sẽ nắm được $m$$(r,s=0)$ vượt qua bài kiểm tra 4, và $m\not\equiv0\pmod{(p-1)/2}$. Chứng minh rằng kẻ nghe lén này có thể tìm thấy $d_A$, sau đó mạo danh A.


Ngay cả khi báo cáo vấn đề ban đầu không có, tôi khuyên bạn nên sử dụng ký hiệu chuẩn cho$\bmod$:

  • $a\equiv b\pmod q$, được nhập dưới dạng $a\equiv b\pmod q$, có nghĩa là $q\ne0$$b-a$ là bội số của $q$, không có giới hạn cho $a$. Có một dấu ngoặc đơn mở ngay trước$\bmod$, ngụ ý rằng nó không có toán hạng bên trái. Các$\bmod$và toán hạng bên phải đủ điều kiện sớm hơn $\equiv$ dấu hiệu. Có thể có một số, như trong $a\equiv b\equiv c\pmod q$.
  • $a=b\bmod q$ (được nhập dưới dạng $a=b\bmod q$) có nghĩa là $0\le a<q$$b-a$ là bội số của $q$. trong biểu thức này$\bmod$là toán tử hai đối số, áp dụng cho toán hạng bên trái $b$ và toán hạng bên phải $q$. Không có $\equiv$ dấu và không có dấu ngoặc đơn ngay trước$\bmod$. Chúng ta có thể viết tương đương $a=(b\bmod q)$, $(b\bmod q)=a$, hoặc $b\bmod q=a$.
Marcos avatar
lá cờ cn
Hmm, cảm ơn vì giải pháp của bạn, tôi sẽ hỏi giáo viên của tôi về phần b) bởi vì bạn đúng và nó phải sai. Đối với c) đây là nỗ lực của tôi, nếu bạn có thể kiểm tra nó: Đặt $\frac{p-1}{2}$ là số nguyên tố thì $m\equiv d_Ar\pmod {p-1}$ ngụ ý $m\equiv d_A \,r\pmod {\frac{p-1}{2}}$ và như vậy, vì $\gcd(r,p-1)\in\lbrace 1,\frac{p-1}{2},p -1\rbrace$ nếu chúng ta giả sử $m\neq 0\pmod{\frac{p-1}{2}}$ thì chúng ta có $\gcd(r,p-1)=1$ và chúng ta đã hoàn thành, vì $ r^{-1}m\equiv d_A\pmod{p-1}$
fgrieu avatar
lá cờ ng
@Marcos: tất cả đều ổn với tôi.

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