Điểm:1

Câu hỏi về dẫn xuất Harden và Khóa thông thường

lá cờ vn

Tôi đang đọc về khóa con Bình thường và Cứng trong chương 5 của cuốn sách "Làm chủ Bitcoin" của Andreas, cùng với điều này chủ đề chi tiếtBIP-32. Dưới đây là một số hiểu biết của tôi về hai thủ tục này:

k: khóa riêng // K: khóa công khai // tôi mục lục // c chuỗi mã // h Kết quả băm HMAC // Hleft 32 bit đầu tiên của kết quả băm. // N thứ tự của đường cong Elliptic. // g điểm bắt đầu của đường cong Elliptic

Dẫn xuất khóa bình thường

Trường hợp 1: parPrivkey -> childPrivkey (và từ đó, childPubkey)

H = HMAC(cpar, Kpar || icon) 
=> kcon = (kpar + Hleft) mod n
=> Kchild = G*kchild = G*[ (kpar + Hleft) mod n)]

Trường hợp 2: parPubkey -> childPubkey

H = HMAC(cpar, Kpar || icon)
=> Kcon = G*Hleft + Kpar

Dẫn xuất khóa cứng`

Trường hợp 3: parPrivkey -> childPrivkey (và từ childPubkey đó)

H = HMAC(cpar, kpar || ichild)
=> kcon = (kpar + Hleft) mod n
=> Kchild = G*kchild = G*[ (kpar + Hleft) mod n]

Với 3 phương pháp này, tôi hơi bối rối:

  1. sự khác biệt trong phương trình tạo giữa trường hợp 1 và 2 là khá nhỏ, do đó chúng ta chỉ cần nhân kcon = (kpar + Hleft) mod n bởi G để có được điều đó trong trường hợp 2. Tuy nhiên, vì có một yếu tố mod n cuối cùng, tôi không thể biết liệu trẻ em của Trường hợp 1 sẽ liên quan đến trường hợp của Trường hợp 2. Nếu không, thì điểm chỉ tạo khóa công khai mà không thể chi tiêu số tiền được gửi đến đó là gì?
  1. Điều này không liên quan đến câu hỏi trên, mà là về việc tạo khóa riêng chính: Tôi đã đọc được rằng sau khi lấy hạt giống Gốc, hạt giống đó đã được đưa vào hàm HMAC-SHA512 để lấy hàm băm 512 bit, 32 bit đầu tiên byte đóng vai trò là khóa riêng chính. Vì vậy, câu hỏi của tôi là vì hàm HMAC có 2 đầu vào là Chìa khóachữ, "chìa khóa" trong trường hợp này là gì? Nếu không có "chìa khóa", thì tại sao không chỉ sử dụng hàm băm SHA-512?

Cảm ơn bạn rất nhiều trước.

Điểm:1
lá cờ gb

Tuy nhiên, vì có một yếu tố mod n ở cuối, nên tôi không thể biết liệu Kchild của Trường hợp 1 có liên quan đến Kchild của Trường hợp 2 hay không.

Có, khóa riêng con từ trường hợp 1 là khóa bí mật cho khóa chung được lấy trong trường hợp 2. $n$ là thứ tự của điểm máy phát điện $G$ vì vậy nó không ảnh hưởng đến tính chính xác của khóa bí mật.

vì hàm HMAC nhận 2 đầu vào là khóa và văn bản, vậy "chìa khóa" trong trường hợp này là gì? Nếu không có "chìa khóa", thì tại sao không chỉ sử dụng hàm băm SHA-512?

Trong trường hợp cụ thể của hạt giống, khóa là "hạt giống Bitcoin" và được sử dụng như một loại phân tách tên miền - một chuỗi duy nhất chỉ dành cho mục đích này.

Trong các cách sử dụng khác của HMAC trong BIP 32, khóa là "mã chuỗi", trong khi văn bản/dữ liệu như bạn đã viết ở trên trong câu hỏi của mình.Mã chuỗi này đảm bảo các khóa con không chỉ được lấy từ các khóa cha mà còn sử dụng một số entropy bổ sung cần phải biết để lấy được các khóa con. Vì vậy, bạn có thể chọn cung cấp mã chuỗi nếu bạn muốn mọi người có thể lấy được khóa con hoặc giữ bí mật để họ không thể lấy được.

John Pham avatar
lá cờ vn
Đối với câu trả lời cho câu hỏi thứ hai của bạn, không phải *bitcoin seed* được sử dụng làm thông số "văn bản" cho chức năng HMAC sao? Hoặc định dạng của hàm băm cho khóa riêng chính là HMAC(seed, seed)?
meshcollider avatar
lá cờ gb
@JohnPham, khóa theo nghĩa đen là chuỗi "hạt giống Bitcoin", không phải chính hạt giống đó. Nó là sợi dây cố định đó.
John Pham avatar
lá cờ vn
Oh okey mình hiểu rồi, không ngờ lại đơn giản thế :)) Cảm ơn bạn nhiều. Nhân tiện, tôi rất vui khi gặp lại bạn từ một trong [chuỗi câu hỏi trước] của tôi (https://crypto.stackexchange.com/questions/98362/elliptic-curve-how-to-calculate-y-value)

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