Điểm:2

Khóa riêng BLS được tạo như thế nào? Các tên khác nhau cho các bộ phận là gì?

lá cờ ru

Thánh tích, thư viện được sử dụng bởi phần lớn các triển khai BLS, khá khó để xây dựng đa nền tảng.

Vì điều này, tôi đã tìm kiếm khác nguyên chất Các triển khai BLS không dựa trên C - và tôi đã tìm thấy một trong Go và một trong Rust.

Tuy nhiên, danh pháp dường như khác nhau giữa mỗi thư viện.

Tôi thấy sự kết hợp của các từ "Affine", "Scalar", "FR", "FRRepr", "G1", "G2", "Public Key", "Secret" và "Seed", trong số những từ khác, mà không nhất thiết phải khớp với những gì tôi đọc trong các bài viết về BLS, WikiPedia hoặc các thư viện mã khác.

Tôi giả định rằng một số thuật ngữ này có thể hoán đổi cho nhau và một số thuật ngữ có ý nghĩa riêng biệt.

Ví dụ: có vẻ như "G1Element" đồng nghĩa với "Khóa công khai".

Nhưng các từ đồng nghĩa kỹ thuật cho "Khóa riêng" hoặc "Bí mật" là gì?

Cụ thể, tôi đang cố gắng nhận ra cách tôi có thể sử dụng những thứ như sau:

Tại thời điểm này, tất cả những gì tôi muốn làm là có thể biên dịch chéo một số mã cho 6 nền tảng arch+os phổ biến nhất sẽ tạo ra cặp khóa riêng tư + công khai.

Điều đó nói rằng, tôi muốn tìm hiểu bất cứ điều gì mà bạn cung cấp liên quan đến cách liên kết thuật ngữ giáo dân ("Khóa riêng", "Khóa chung", "Chữ ký") với thuật ngữ lập trình và toán học ("G1" , vân vân).

Điểm:2
lá cờ tr

Sự nhầm lẫn bắt nguồn từ một cái tên ám chỉ hai thứ khác nhau nhưng có liên quan với nhau. cụ thể là,

  1. BLS, như trong chữ ký BLS: viết tắt của Digital signatures that use mật mã dựa trên ghép nối để cung cấp chữ ký ngắn với các thuộc tính bổ sung như khả năng tổng hợp, Xem thêm tại đây. Chúng lần đầu tiên được giới thiệu bởi Boneh, Lynn và Shacham, do đó có tên BLS

  2. BLS, như trong BLS12_381: là một cái gọi là đường cong Elliptic "Thân thiện với ghép nối" cho phép các ứng dụng mã hóa dựa trên ghép nối hiệu quả và an toàn, bao gồm cả chữ ký BLS. Chúng đến từ tác phẩm của Barreto, Lynn và Scott, do đó BLS.

Vì vậy, có vẻ như bạn đang tìm cách triển khai 1) trong khi các thư viện bạn đang xem chỉ cung cấp cách triển khai cho 2), tức là: đường cong cơ bản.

Hãy xem xét các chữ ký BLS triển khai Python thuần túy để xem hai khái niệm này có liên quan như thế nào. https://github.com/Chia-Network/bls-signatures/blob/main/python-impl/schemes.py

Nhưng nói chung và như mô tả đây, việc tạo khóa hoạt động ở mức cao như sau: chọn một giá trị ngẫu nhiên $x, 0 < x < N$, ở đâu $N$ là thứ tự của đường cong và đặt khóa chung thành $xG$, ở đâu $G$ là máy phát của đường cong.

Các chi tiết chính xác phụ thuộc vào tiêu chuẩ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.