Tôi đã triển khai một thư viện mật mã theo sở thích và tôi đang ở phần triển khai mật mã đường cong elip. Tôi đã triển khai và thử nghiệm ECDSA với P-256 và P-384, trong đó các khóa riêng tĩnh và tạm thời là 256 bit và 384 bit, cho đến nay vẫn rất tốt.
Điều làm phiền tôi là P-521. Tôi đang lên kế hoạch tạo tĩnh 512-bit ($d$) và các khóa phù du ($k$) để dễ triển khai, vì hầu hết các hàm băm (không bao gồm XOF) có tối đa đầu ra 512 bit (Tôi không sử dụng hàm băm để tạo khóa trực tiếp, tôi chỉ phân bổ không gian ngăn xếp theo độ dài đầu ra của các hàm băm thông thường ).
Nếu tôi làm điều này, thành phần chữ ký kết quả $s$ có thể có một số loại sai lệch, nhưng vì sản phẩm của $d \cdot k^{-1}$ sẽ tràn $n$, Tôi có niềm tin giả tạo rằng đây không phải là vấn đề quá nghiêm trọng.
Vì vậy, tôi hỏi 2 câu hỏi liên quan:
Q1: tôi có thể thoát khỏi việc tạo các khóa tạm thời và tĩnh 512-bit cho ECDSA qua P-521 và không gây hại cho bảo mật không?
quý 2: đối với trường hợp chung, được cung cấp một mô đun nguyên tố $n$, một đối thủ được đưa ra $s = k \cdot r + d \pmod n$ và $r$, ở đâu $d$ là tĩnh và $r$ được tính ngẫu nhiên một cách xác định từ $k$; cả hai $k$ và $d$ có ít hơn $\lceil {\log_2{n} \trên 4} \rceil$ của các bit trên cùng bị cắt nhỏ; kẻ thù có thể có được bất kỳ phần nào của $d$ hoặc $k$?