Điểm:1

Sự khác biệt giữa "Hàm đường cong Elliptic" và "Hàm băm" như SHA256 là gì?

lá cờ hk

Tôi đang đọc về bitcoin và tôi hơi bối rối về "hàm đường cong elip" và "SHA256". Chúng có cùng tính chất không? Cả hai có thể được sử dụng để tạo các cặp khóa riêng và khóa chung không?

lá cờ et
SHA256 là một hàm băm - https://en.wikipedia.org/wiki/Hash_function & đối với ECC, hãy xem tại đây - https://en.wikipedia.org/wiki/Elliptic-curve_cryptography
kelalaka avatar
lá cờ in
Bản chỉnh sửa của bạn hoàn toàn là một câu hỏi mới, nên được khôi phục.Thay đổi hướng của câu hỏi sau khi được trả lời không phải là hành vi được chấp nhận trong [vì vậy]. Đầu vào của SHA-256 là gì? Có [sự cố về không gian đầu vào ngắn](https://crypto.stackexchange.com/a/81652/18298) trên các hàm băm. Ngoài ra, [không có phép nhân trên ECC](https://crypto.stackexchange.com/q/88214/18298), chỉ có phép nhân vô hướng.
kelalaka avatar
lá cờ in
Ngoài ra, nếu tôi hiểu chính xác, bạn không thể ánh xạ các đầu vào tùy ý tới điểm trên đường cong. ECC dựa trên [bài toán logarit rời rạc](https://crypto.stackexchange.com/q/76230/18298), vì vậy, trước tiên chúng tôi chọn một số nguyên ngẫu nhiên thống nhất, sau đó ánh xạ nó tới một điểm trên đường cong bằng phép nhân vô hướng.
Điểm:10
lá cờ in

Sự khác biệt giữa "Hàm đường cong Elliptic" và "Hàm băm" như SHA256 là gì?

Không có bối cảnh thực sự được đưa ra, tuy nhiên chúng ta có thể hiểu nó là

  • Hàm SHA-256:

    Vâng, đó là một chức năng, theo một cách khá chính xác: a hàm băm mật mã (băm chống va chạm);

    $$\operatorname{SHA256}:\{0,1\}^* \to \{0,1\}^{256}$$

    • Một chiều: thực tế không thể đảo ngược thông báo băm đã cho (hoặc, các đối thủ bị ràng buộc đa thức không thể đảo ngược nó).
    • xác định: cùng một đầu vào phải cung cấp cùng một đầu ra.
    • Ngẫu nhiên: chúng ta không nên biết hàm băm của đầu vào trước khi băm nó. Chúng ta có thể đọc điều này vì các hàm băm là ứng cử viên cho Random Oracles (RO) và SHA256 thì không vì nó có một cuộc tấn công mở rộng độ dài, SHA3 và Blake2 gần với RO hơn.
    • Điện trở hình ảnh trước: gần một chiều; đưa ra một giá trị băm $h$ nó phải không khả thi đối với các đối thủ thời gian đa thức để tìm đầu vào $m$ như vậy mà $\operatorname{SHA256}(m) = h$.
    • Điện trở tiền ảnh thứ hai: đưa ra một tin nhắn $m$ và đó là giá trị băm $h$, tìm thư khác $m'$ như vậy mà $\operatorname{SHA256}(m) = h = \operatorname{SHA256}(m')$.
    • chống va chạm; tìm các thông báo đầu vào riêng biệt $m_1 \neq m_2$ như vậy mà $\operatorname{SHA256}(m_1) = \operatorname{SHA256}(m_2)$.

    Bitcoin sử dụng gấp đôi SHA256 (SHA256d) và SHA256d an toàn trước các cuộc tấn công mở rộng độ dài.

  • Chức năng đường cong elip:

    Đây là cách đặt tên lạ, nó có phải là hàm L của các đường cong Elliptic hay không? Vì câu hỏi đang nói về Bitcoin, nên nó nên là tập hợp các chức năng mà đường cong Elliptic cung cấp nhiều hơn các chức năng bên dưới:

    • Phép cộng như phép toán nhóm (cộng, phủ định, nghịch đảo, giao hoán và kết hợp).

    • Nhân bản vô tính: đã cho một điểm cơ sở $G$ và thêm nó $t$ lần:

      $$[t]G : = \underbrace{G + G + \cdots + G}_{t-times} $$

    • Tạo khóa công khai: Chọn ngẫu nhiên $k$ và tính toán $[k]G$.

    • ECDSA thế hệ chữ ký.

    • ECDSA xác thực chữ ký.

Bây giờ câu trả lời cho câu hỏi khác của bạn là rõ ràng.

Chúng có cùng tính chất không?

Không, họ không! Thậm chí một cái là một chức năng còn lại là một tập hợp các chức năng.

Cả hai có thể được sử dụng để tạo các cặp khóa riêng và khóa chung không?

Không.

Tuy nhiên, người ta có thể sử dụng SHA256 để tiêu hóa nguồn entropy để chọn ngẫu nhiên $k$ cho khóa riêng của họ và tìm khóa chung của họ $K = [k]G$ bằng cách sử dụng phép nhân vô hướng của các đường cong Elliptic.

Và Địa chỉ Bitcoin được tính là;

$$\text{Địa chỉ Bitcoin} = \operatorname{RIPEMD160(SHA256(}K))$$ dưới dạng địa chỉ 20 byte (RIPEMD).


Đặc biệt lưu ý: Một số sách/trang web về blockchain sử dụng phép nhân EC cho phép nhân vô hướng EC, như cuốn sách Mastering Bitcoin của Antonolopus, trang 68. Điều này khiến nhiều người bối rối vì họ bắt đầu nghĩ rằng $P\cdot Q$ tồn tại. Không! EC tạo thành các nhóm Abelian cộng tính và với phép nhân vô hướng (cách thông thường để xác định cho các nhóm cộng tính), chúng tạo thành một Mô-đun Z, chỉ có bấy nhiêu thôi.

Cort Ammon avatar
lá cờ gb
+1. Tôi đã nói rằng chúng giống như so sánh táo và đười ươi, nhưng bạn đã nỗ lực hơn nữa để mô tả các đặc tính của táo và đặc tính của đười ươi theo cách sẽ giúp OP nghiên cứu chủ đề và có khả năng hình thành một câu hỏi chính xác hơn trong tương lai. Hình thức trao đổi ngăn xếp tuyệt vời!
kelalaka avatar
lá cờ in
@CortAmmon, OP không chỉ định nguồn, tuy nhiên, tôi đã thấy rằng nhiều trang web và sách gây nhầm lẫn. Xem ghi chú đặc biệt mới được thêm vào với một ví dụ.
Maarten Bodewes avatar
lá cờ in
Tôi đoán bây giờ chúng tôi sẽ loại trừ các chữ ký dựa trên hàm băm. Nếu bạn đếm chúng, bạn cũng có thể thực hiện xác thực tin nhắn, dẫn xuất khóa và tạo số ngẫu nhiên "với hàm băm".
kelalaka avatar
lá cờ in
@MaartenBodewes Chắc chắn chúng tồn tại. Tôi muốn giữ câu trả lời trong bối cảnh bitcoin. Và các hàm băm rất phổ biến khi chúng tôi liệt kê một số [tại đây](https://crypto.stackexchange.com/q/64588/18298). Bạn có biết nó được sử dụng bằng bitcoin không?
kelalaka avatar
lá cờ in
@MaartenBodewes chuỗi khối bây giờ là một chủ đề rộng mà tôi có thể bỏ lỡ một chủ đề sử dụng...
kelalaka avatar
lá cờ in
@MaartenBodewes có lý do cụ thể nào để bị xóa khỏi HNQ không? Đã thấy ngay bây giờ khi xem các chỉnh sửa của OP.
Điểm:1
lá cờ cn

Cả hai đều là chức năng. điều đó có nghĩa là chúng là quan hệ giữa hai tập hợp (tập hợp đầu vào và tập hợp đầu ra) sao cho mọi phần tử $x$ của tập hợp đầu vào có quan hệ với nhiều nhất một phần tử của tập hợp đầu ra. Phần tử này được gọi là ảnh của $x$.

Nhưng chúng không có cùng trạng thái trong mật mã học. Hàm trong "hàm đường cong elip" là một cách để mô tả đường cong elip. Nếu chức năng là $f$, các điểm của đường cong là $(x, f(x))$.

SHA-256, là một thuật toán (thuật toán chính xác hơn một hàm, vì nó cho biết cách tính toán hình ảnh) được sử dụng để tạo băm.

Để tạo khóa riêng, chúng tôi chọn ngẫu nhiên một số nguyên $n$ của $256$ chút ít.

Để tạo khóa công khai, chúng tôi nhân một trình tạo $G$ (được đưa ra dưới dạng tham số công khai của đường cong) bởi $n$ (bằng cách sử dụng thủ tục bình phương và nhân). Nó cho chúng ta một điểm của đường cong $P$. Đôi khi điều này $P$ được coi là một hàm băm của khóa riêng. Nhưng nó không chỉ là một hàm băm đơn giản, nó là một khóa công khai. Nó xác minh nhiều thuộc tính hơn các hàm băm thông thường như SHA-256.

Nếu bạn muốn biết thêm chi tiết, bạn có thể xem: https://en.wikipedia.org/wiki/Elliptic_curve_digital_signature_algorithm

lá cờ hk
Nếu SHA256 không thể đảo ngược hoặc chống tạo ảnh trước. Tại sao bitcoin không sử dụng SHA256 để tạo khóa công khai từ khóa riêng được tạo ngẫu nhiên thay vì nhân đường cong elip. Tôi biết đầu vào của SHA256 có thể là bất kỳ thứ gì và đầu ra có thể từ 0 đến 2^256. Ai đó có thể giải thích cho tôi phép nhân hoặc hàm của đường cong elip là gì theo nghĩa đầu vào và đầu ra giống như SHA256 không. Bởi vì tôi không thể hiểu nó từ Wikipedia. Tôi đã thử nó nhiều lần.
Ievgeni avatar
lá cờ cn
Preimage sức đề kháng là không đủ. Bạn cần ký tên, nó khó thực hiện hơn nhiều, một hàm băm đơn giản là không đủ. Đường cong elip không phải là phép toán cơ bản, bạn có thể thử đọc phần này: cryptobook.nakov.com/asymmetric-key-ciphers/

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