- vừa được xem lúc

Trao đổi khóa Diffie-Hellman trên đường cong Elliptic

0 0 24

Người đăng: Hiếu Võ

Theo Viblo Asia

Đường cong Elliptic được định nghĩa có dạng: y^2 = y^3 + ax + b (4a^3 + 27b^2 ≠ 0).

Phép cộng trên đường cong: Cho hai điểm P, Q trên đường cong. Qua P và Q kẻ đường thẳng cắt đường cong E tại điểm thứ ba là R'. Lấy đối xứng R' qua trục hoành được điểm R, khi đó P + Q = R. Trong trường hợp P trùng Q, ta kẻ đường tiếp tuyến tại P và làm tương tự như trên.

Phép nhân vô hướng trên đường cong: Phép nhân vô hướng một số n với một điểm P trên đường cong chính là thực hiện cộng n lần điểm P lại với nhau. VD: 3P = P + P + P.

Trong trường hữu hạn Fp, việc tìm ra giá trị n khi cho trước P, Q và Q = nP là rất khó do độ phức tạp của bài toán Logarit rời rạc. Vì vậy, giả sử Alice và Bob muốn trao đổi khóa cho nhau, họ có thể làm như sau:

Bước 1: Alice và Bob cùng thỏa thuận tham số của đường cong Elliptic như a, b, điểm sinh G, p, ...

Bước 2: Alice chọn giá trị nA làm private key, sau đó tính public key Qa = nAG. Tương tự với Bob, chọn private key nB sau đó tính public key Qb = nBG.

Bước 3: Alice gửi public key của mình là Qa cho Bob và Bob cũng gửi public key của mình là Qb cho Alice.

Bước 4: Alice lấy private key của mình nhân với public key của Bob và ngược lại Bob cũng lấy private key của mình nhân với public key của Alice để ra được khóa chung: sharedKey = nA * Qb = nB * Qa = nA * nB * G.

Mỗi đường cong Elliptic có độ an toàn khác nhau trong việc trao đổi khóa. Do đó, để đảm bảo độ an toàn và thống nhất giữa các bên, người ta tạo ra một số curve phổ biến bao gồm Curve25519, Curve448, secp256k1, NIST P-256, NIST P-384, NIST P-521 … Trong đó, secp256k1 là curve có độ dài khóa 256 bit được ứng dụng trong Bitcoin.

Bình luận

Bài viết tương tự

- vừa được xem lúc

[Blockchain] Road to Bitcoin

. Chắc mọi người hẳn đã không còn xa lạ gì với anh chàng tỷ phú đã ném vỡ cửa kính ô tô nhà mình cùng với siêu năng lực điều khiển vật giá chỉ bằng lời nói, người đã đẩy định giá Bitcoin trên thị trường vượt ngưỡng 50K dolar/coin với những bài twitter để đời . .

0 0 61

- vừa được xem lúc

Khi Ethereum có chi phí giao dịch quá đắt đỏ - Tương lai cho layer2 ?

Với sự phát triển như vũ bão của Blockchain, ETH dường như đang quá tải và hệ quả là chi phí Gas đã lên đến 1000Gwei, phí để tạo những transaction phức tạp đã xấp xỉ 500$ . Và một giải pháp cứu cánh cho các sản phẩm Defi trên ETH chính là Layer2, và trong nhiệm vụ lần này Matic đang thể hiện khả năn

0 0 88

- vừa được xem lúc

Blockchain với Java - Tại sao không?

Cuộc cách mạng công nghiệp 4.0 ra đời kéo theo nhiều sự thay đổi và xu hướng mới được hình thành. Riêng đối với lĩnh vực CNTT cũng không nằm ngoài vùng ảnh hưởng mạnh mẽ. Chính làn sóng 4.

0 0 91

- vừa được xem lúc

Phân loại và tầm quan trọng của các node trong mạng blockchain

Trước khi đi vào phân loại và nêu rõ được tầm quan trọng của các node trọng mạng blockchain thì mình xin được trích dẫn khái niệm về blockchain từ Wikipedia như sau:. .

0 1 65

- vừa được xem lúc

Code Smart Contract bằng Assembly ?

Introduction. Hồi còn học trong ghế nhà trường bộ môn lập trình tốn nhiều não nhất của mình là code assembly. Nôm na thì bất cứ ngôn ngữ bậc cao nào như C , Go, Java,... được sinh ra để người dễ hiểu và dễ code , tuy nhiên chúng đều sẽ được compiled down xuống assembly một ngôn ngữ bậc thấp để máy h

0 0 58

- vừa được xem lúc

Dextool - Công cụ phân tích Decentralized Exchange tuyệt vời

. Trend Defi mặc dù đã bớt nhiệt nhưng những sản phẩm nổi bật của làn sóng này mang lại thì vẫn rất được người dùng ưa chuộng. Đặc biệt là các nền tảng Decentralized Exchange, tiêu biểu là Uniswap, SushiSwap, 1inch Exchange, FalconSwap,... Nhưng khi đã sử dụng các nền tảng DEx này mà không biết đến

0 0 106