Sử dụng các giá trị Nonce để làm rò rỉ khóa

Một phần của tài liệu NGHIÊN CỨU MỘT SỐ TẤN CÔNG TÌM KHÓA RIÊNG LIÊN QUAN VIỆC THỰC THI GIÁ TRỊ NONCE TRONG CHUẨN KÝ SỐ ECDSA SECP256K1 (Trang 28 - 29)

Được biết, ECDSA sẽ thất bại thảm hại nếu không tái sử dụng. Không sử dụng lại có nghĩa là có nhiều chữ ký sử dụng cùng một nonce k, điều này có thể

cho phép kẻ tấn công làm rò rỉ khóa bí mật trong một số trường hợp nhất định. Ví dụ, nếu cùng k (và do đó có cùng giá trị r) và sk được sử dụng để tạo 2 chữ ký (r, s1) và (r, s2) cho hai thông điệp khác biệt m1 và m2, thì chúng ta có:

= ( + rsk) = ( + rsk) (1)

Điều này cho phép làm rò rỉ sk khóa bí mật với:

= = = sk (2)

Tương tự, k có thể bị rò rỉ với:

= = k (3)

Tuy nhiên, không phải mọi kiểu tái sử dụng nonce đều dẫn đến trường hợp kẻ tấn công có thể làm rò rỉ bí mật. Ví dụ: hãy xem xét trường hợp một nonce k được sử dụng với hai phím s và s khác nhau để ký hai thông báo khác nhau, tức là:

= ( + rs) = ( + rs) (4)

Nó chỉ ra rằng nó không thể để rỉ bất kỳ bí mật trong trường hợp này. Để hiểu rõ hơn về điều này, chúng ta cần xem xét cấu hình cơ bản vấn đề thành hành vi làm sạch bí mật trong này. Nếu chúng ta viết lại Eq. (1):

k – rsk = k – rsk =

Nó trở nên rõ ràng rằng đây là một hệ thống phương trình tuyến tính. Đặc biệt, hệ này bao gồm 2 phương trình độc lập tuyến tính, vì h1 ≠ h2, và 2 ẩn số, tức là k và sk, và do đó có thể giải được duy nhất. Mặt khác, Eq. (4) bao gồm 2 phương trình và 3 ẩn số, tức là k, sk1 và sk2, và do đó không thể giải được duy nhất vì có nhiều ẩn số hơn phương trình.

Một phần của tài liệu NGHIÊN CỨU MỘT SỐ TẤN CÔNG TÌM KHÓA RIÊNG LIÊN QUAN VIỆC THỰC THI GIÁ TRỊ NONCE TRONG CHUẨN KÝ SỐ ECDSA SECP256K1 (Trang 28 - 29)

Tải bản đầy đủ (DOCX)

(43 trang)
w