Các nhà nghiên cứu từ Đại học Masaryk tiết lộ thông tin quan trọng về các vụ đột nhập trong tôi khác nhauTriển khai thuật toán tạo chữ ký số ECDSA / EdDSA, điều đó cho phép phục hồi giá trị của khóa riêng dựa trên phân tích rò rỉ . Các lỗi tìm kiếm có tên mã là Minerva
Các dự án nổi tiếng nhất cùng ảnh hưởng đến phương pháp tấn công được đề xuất là OpenJDK, OracleJDK [CVE-2019-2894] và thư viện libgcrypt [CVE-2019-13627] được sử dụng trong GnuPG. Các vấn đề cũng dễ dàng ảnh hưởng đến các thư viện MatrixSSL, Crypto ++, wolfCrypt, elip, jsrsasign, Python-ECDSA, ruby_ecdsa, fastecdsa và một số thẻ thông minh Athena IDProtect, Thẻ bọc thép TecSec, SafeNet eToken 4300,
Ngoài các lỗi khóa đã được cập nhật tại thời điểm này, chúng không ảnh hưởng đến OpenSSL, Botan, mbedTLS và BoringSSL. Mozilla NSS, LibreSSL, Nettle, BearSSL, cryptlib, OpenSSL ở FIPS mode. Microsoft. NET crypto, Linux kernel libkcapi, Natri và GnuTLS vẫn chưa được thử nghiệm
Chúng tôi đã tìm thấy các triển khai làm mất độ dài của bit vô hướng trong quá trình nhân vô hướng trong ECC. Sự cố rò rỉ này có vẻ rất nhỏ vì độ dài của bit có một lượng thông tin rất nhỏ hiện diện trong vô hướng. Tuy nhiên, trong trường hợp tạo chữ ký ECDSA / EdDSA, việc lọc độ dài bit của nonce ngẫu nhiên là đủ để khôi phục toàn bộ khóa cá nhân được sử dụng sau khi quan sát vài trăm đến vài chữ ký trong các thư đã ký
Chúng tôi tin rằng tất cả các thẻ trước đó đều bị ảnh hưởng vì chúng chia sẻ một thành phần ECDSA chung [mô-đun FIPS 214], được mô tả là Thành phần Athena OS2 ECDSA755 trong Inside Secure AT90SC A1. 0 [Phần mềm cơ sở]. Chúng tôi đã kiểm tra lỗi bảo mật chỉ trên thẻ Athena IDProtect với dữ liệu CPLC và ATR
Vấn đề là khả năng xác định các giá trị bit riêng lẻ trong quá trình nhân với một đại lượng trong giao dịch ECC. Các phương pháp gián tiếp, giả sử như ước tính độ trong khi thực hiện các tính năng được phép, được sử dụng để trích xuất thông tin về bit
Một cuộc tấn công yêu cầu quyền truy cập không có đặc quyền đối với máy chủ trong đó ký tự điện tử được tạo ra [không loại trừ một cuộc tấn công từ xa, nhưng nó rất phức tạp và cần một lượng lớn dữ liệu để phân tích
Mặc dù kích thước rò rỉ nhỏ, đối với ECDSA, định nghĩa chỉ một vài bit với thông tin về khởi tạo [nonce] là đủ để thực hiện một cuộc tấn công Khôi phục tuần tự khóa riêng tư hoàn chỉnh
Theo các tác giả của phương pháp, để khôi phục lại khóa thành công, phân tích một vài phần trăm đến một vài chữ ký điện tử được tạo là đủ cho các tin nhắn mà kẻ tấn công biết. Ví dụ, để xác định khóa cá nhân được sử dụng trong thẻ thông minh Athena IDProtect dựa trên chip Inside Secure AT90SC, sử dụng đường cong elliptic secp256r1, 11 ký tự số giải mã đã được phân tích. Tổng thời gian tấn công là 30 phút
Mã tấn công và khái niệm bằng chứng từ của chúng tôi được lấy cảm hứng từ phương pháp Brumley & Tuveri
Sự cố đã được giải quyết trong libgcrypt 1. 8. 5 và wolfCrypt 4. 1. 0, các dự án khác chưa được tạo bản cập nhật. Cũng có thể theo dõi bản chỉnh sửa lỗi bị trộm trong gói libgcrypt trong các bản phân phối trên các trang này. Debian, Ubuntu, RHEL, Fedora, openSUSE/SUSE, FreeBSD, Vòm
Các nhà nghiên cứu cũng đã kiểm tra các thẻ và thư viện khác, trong đó những thẻ và thư viện sau đây không dễ bị tấn công
- OpenSSL 1. 1. 1ngày
- Lâu đài Bouncy 1. 58
- Nhàm chánSSL 974f4dddf
- libtomcrypt 1. 18. 2
- Khởi động 2. 11. 0
- Microsoft CNG
- mbedTLS 2. 16. 0
- Intel IPP-Crypto
Các
- DHW ACOSJ 40K
- Phi Thiên A22CR
- G&D SmartCafe 6. 0
- G&D SmartCafe 7. 0
- Infineon CJTOP 80K INF SLJ 52GLA080AL M8. 4
- Thẻ JCard đa năng Infineon SLE78
- NXP JOP31 v2. 4. 1
- NXP JOP CJ2A081
- NXP JOP v2. 4. 2 R2
- NXP JOP v2. 4. 2 R3
- SIMONE TaiSYS Vault
Nếu bạn muốn biết thêm về các cuộc tấn công được sử dụng và các lỗ hổng được phát hiện, bạn có thể làm như vậy trong phần liên kết theo dõi. Các công cụ được sử dụng để tái tạo cuộc tấn công có sẵn để tải xuống
Về cơ bản tôi đã làm theo các hướng dẫn ở đây làm thế nào để tạo địa chỉ sợi nấm từ 12 trong Python
Nội dung chính Hiển thị
- python-mnemonic
- BIP 32 là đề xuất cải tiến tiến trình Bitcoin được đưa ra tiêu chuẩn của ví xác định phân cấp [HD] và các khóa mở rộng cho Bitcoin. BIP 32 là một tiến trình cải tiến đáng kể cho ví bitcoin theo nhiều cách
- Cài đặt
- Ví dụ sử dụng
- BIP thư viện tiện ích
- Giới thiệu
- Tiền hỗ trợ
- Cài đặt gói
- Và sau đó chỉ cần chạy nó
- Tài liệu
- Ví dụ mã hóa
- ERC20/BEP20. in "Khóa công khai. " + Cơ sở58. check_encode[key. ChildKey[44 + BIP32_HARDEN] \. ChildKey[0 + BIP32_HARDEN] \. ChildKey[account_number + BIP32_HARDEN] \. Khóa con[0] \. Khóa con[i] \. PublicKey[]] in "Khóa riêng. " + Cơ sở58. check_encode[key. ChildKey[44 + BIP32_HARDEN] \. ChildKey[0 + BIP32_HARDEN] \. ChildKey[account_number + BIP32_HARDEN] \. Khóa con[0] \. Khóa con[i] \. Khóa riêng[]] 9
- Làm thế nào tôi có thể nhận được một cụm từ ghi nhớ từ một khóa riêng?
- Mnemonic có giống như khóa riêng không?
- Python ghi nhớ là gì?
- Ví BIP32 là gì?
Vì vậy, mã của tôi tương tự
from bip32utils import BIP32Key
from bip32utils import BIP32_HARDEN
from bip32utils import Base58
import os, bip39
strength_bits = 128
entropy = os.urandom[strength_bits // 8]
wallet_generator = bip39.Mnemonic['english']
mnemonic = wallet_generator.to_mnemonic[entropy]
assert wallet_generator.to_entropy[mnemonic] == entropy # see, bijective!
# Or specify the mnemonic directly if you prefer:
mnemonic = 'aware report movie exile buyer drum poverty supreme gym oppose float elegant'
passphrase = 'test'
seed = bip39.Mnemonic.to_seed[mnemonic, passphrase=passphrase]
key = BIP32Key.fromEntropy[seed]
account_number = 0
i = 0
print "Address: " + key.ChildKey[44 + BIP32_HARDEN] \
.ChildKey[0 + BIP32_HARDEN] \
.ChildKey[account_number + BIP32_HARDEN] \
.ChildKey[0] \
.ChildKey[i] \
.Address[]
Và tôi đã xác minh nó bằng cách sử dụng https. // iancoleman. io/bip39/#english rằng địa chỉ được tạo thực sự là địa chỉ đầu tiên mà trang web này được tạo. Tuy nhiên, tôi cũng muốn có được cặp từ khóa công khai và tư nhân bằng cách sử dụng cùng một thư viện này. Ban đầu tôi đã thử
print "Public Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \
.ChildKey[0 + BIP32_HARDEN] \
.ChildKey[account_number + BIP32_HARDEN] \
.ChildKey[0] \
.ChildKey[i] \
.PublicKey[]]
print "Private Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \
.ChildKey[0 + BIP32_HARDEN] \
.ChildKey[account_number + BIP32_HARDEN] \
.ChildKey[0] \
.ChildKey[i] \
.PrivateKey[]]
Tuy nhiên, đầu ra của hai cuộc gọi này không giống với các cuộc gọi được cung cấp bởi trang web trên cùng một địa chỉ
Vì vậy, câu hỏi của tôi là. cách thích hợp để tôi tạo cặp từ khóa công khai và tư nhân là gì?
chỉnh sửa. Để làm rõ, để biết chính xác ghi nhớ và cụm mật khẩu ở trên, trang web tôi đang sử dụng để tham khảo cho tôi biết địa chỉ đầu tiên và bàn phím nên là
Mặc dù đầu ra của mã Python ở trên là
Address: 1K6WQtD7bLQ5nQ14GyBV33mBWSbkiRKhQs
Public Key: 62Yi9HBYYagf8CY1Ve2fquHKjBqAA7GFjGUUtkUHbkP5PHzv3W
Private Key: EGHMsAp7nY7Jo9F589zCU227KBLTDhiwRq5vYVvRVZxJNPJn4
Vì vậy, địa chỉ khớp, nhưng không phải là bàn phím
python-mnemonic
Ví BIP32 là gì?
BIP 32 là đề xuất cải tiến tiến trình Bitcoin được đưa ra tiêu chuẩn của ví xác định phân cấp [HD] và các khóa mở rộng cho Bitcoin. BIP 32 là một tiến trình cải tiến đáng kể cho ví bitcoin theo nhiều cách
Thực hiện tham chiếu BIP-0039. Ghi nhớ mã để tạo khóa xác định
object
Giấy Bíp
Xem https. //github. com/bitcoin/bips/blob/master/bip-0039. mediawiki to know the full number of skill
Cài đặt
Để cài đặt thư viện này và các thành phần phụ thuộc của nó bằng cách sử dụng
7print "Public Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \ .ChildKey[0 + BIP32_HARDEN] \ .ChildKey[account_number + BIP32_HARDEN] \ .ChildKey[0] \ .ChildKey[i] \ .PublicKey[]] print "Private Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \ .ChildKey[0 + BIP32_HARDEN] \ .ChildKey[account_number + BIP32_HARDEN] \ .ChildKey[0] \ .ChildKey[i] \ .PrivateKey[]]
Ví dụ sử dụng
Nhập thư viện vào dự án Python thông qua
from mnemonic import Mnemonic
Khởi tạo có thể hiện lớp, chọn từ điển có sẵn
- Anh
- tiếng trung_giản thể
- truyền thống Trung Hoa
- người Pháp
- người ý
- tiếng Nhật
- Hàn Quốc
- người Tây Ban Nha
mnemo = Mnemonic[language] mnemo = Mnemonic["english"]
Tạo danh sách từ sức mạnh được đưa ra [128 - 256]
words = mnemo.generate[strength=256]
xóa danh sách từ và cụm mật khẩu tùy chỉnh [ví dụ trống], tạo hạt giống
seed = mnemo.to_seed[words, passphrase=""]
drop list from, root entropy tính toán
________số 8BIP thư viện tiện ích
Giới thiệu
Gói này cho phép tạo ghi nhớ, hạt giống, khóa riêng/công cộng và địa chỉ cho các loại tiền điện tử khác nhau. Special
- MNEMONIC VÀ SEED SVERATION Theo định nghĩa của BIP-0039
- Mã hóa khóa/giải mã riêng như được định nghĩa bởi BIP-0038
- Chìa khóa phái từ được định nghĩa bởi
- BIP-0032
- SLIP-0010
- BIP32-ED25519 [Khovratovich/Luật]
- Đạo hàm của một hệ thống phím như đã được định nghĩa bởi
- BIP-0044
- BIP-0049 [Bitcoin Segwit]
- BIP-0084 [Segwit address Bitcoin]
- BIP-0086 [Bitcoin Taproot]
- CIP-1852
- MNEMONIC VÀ SEED SENTRATION CHO NỀN TẢNG [Hệ sinh thái Polkadot/Kusama]
- Chìa khóa xuất cho chất nền [Hệ sinh thái Polkadot/Kusama, cùng của Polkadot-JS]
- Khóa và địa chỉ Thế hệ cho Cardano [Byron-Legacy, Byron-Icarus và Shelley, cùng sổ cái và ví Adalite/Yoroi]
- MNEMONIC VÀ SEED SVERATION cho Monero
- Khóa và địa chỉ/thế hệ phụ cho Monero [cùng một ví dụ Monero chính thức]
- Mnemonic và tạo hạt cho Algorand [Algorand 25 từ Mnemonic]
- MNEMONIC VÀ SEED SELEATION như ví điện tử [V1 và V2]
- Chìa khóa đầu ra dưới dạng ví điện thoại [V1 và V2]
Các chức năng được khai thác khác nhau
- Partition con đường dẫn xuất BIP-0032
- Đường dẫn xuất phát cơ chất
- Khóa tự động hóa mở rộng phiên bản như được định nghĩa bởi SLIP-0032
- Mã hóa/giải mã địa chỉ cho tất cả các đồng tiền được hỗ trợ
- Mã hóa/giải mã wifi
- Mã hóa/Giải mã Base58 và Base58 Monero
- Mã hóa/giải mã SS58
- Mã hóa/giải mã bech32 và bech32m
- Mã hóa/giải mã Bitcoin Cash Bech32
- Nhận địa chỉ tài khoản mã thông báo cho mã thông báo SPL [tức là mã thông báo Solana]
Gói phụ thuộc
- CBOR2 để mã hóa/giải mã CBOR
- CRCMOD cho tính toán CRC
- pycryptodome cho chức năng mã hóa mật mã
- trùng khớp với đường cong Secp256K1
- ECDSA cho các đường cong NIST256P1 và SECP256K1
- ED25519-BLAKE2B cho đường cong ED25519-BLAKE2B
- Pynacl cho đường cong ED25519
- PY-SR25519-Ràng buộc cho đường cong SR25519
Xin lưu ý rằng, đối với thư viện PY-SR25519-Bindings, phải cài đặt Rust mới được cài đặt
Tiền hỗ trợ
Tiền BIP được hỗ trợ
- Mạng Akash
- Algorand
- Avalanche [tất cả 3 chuỗi]
- trục
- Giao thức ban nhạc
- chuỗi binance
- Chuỗi thông tin Binance
- Bitcoin [và mạng thử nghiệm liên quan]
- Bitcoin Cash [và mạng thử nghiệm liên quan]
- Bitcoin Cash Simple Sổ cái Sổ cái [và mạng thử nghiệm liên quan]
- BitcoInsv [và mạng thử nghiệm liên quan]
- Cardano [Byron-Legacy, Byron-Icarus và Shelley]
- Celo
- chứng nhận
- vũ trụ
- Dash [và mạng thử nghiệm liên quan]
- Dogecoin [và mạng thử nghiệm liên quan]
- ECASH [và mạng thử nghiệm liên quan]
- Elrond
- EOS
- ERGO [và mạng thử nghiệm liên quan]
- Ethereum
- Ethereum cổ điển
- Fantom Opera
- Filecoin
- Harmony One [Địa chỉ Ethereum và Cosmos]
- Chuỗi Huobi Heco
- Mạng Iris
- kava
- Kusama [dựa trên BIP44 và ED25519 SLIP-0010, như TrustWallet, nó sẽ không tạo ra cùng một địa chỉ của Polkadot-JS]
- Litecoin [và mạng thử nghiệm liên quan]
- Monero [dựa trên BIP44 và SECP256K1 hoặc ED25519 SLIP-0010, nó sẽ không tạo ra các địa chỉ tương tự của ví chính thức, nhưng nó hỗ trợ thế hệ con]
- nano
- Gần giao thức
- Tân
- Chuỗi OKEX [Địa chỉ Ethereum và Cosmos]
- Unable to learning
- thẩm định
- Polkadot [dựa trên BIP44 và ED25519 Slip-0010, như TrustWallet, nó sẽ không tạo ra các địa chỉ tương tự của Polkadot-JS]
- Đa giác
- Go to wave
- Bí mật mạng
- solana
- sao thuộc về
- KHU VỰC
- Tezos
- Network Theta
- Tron
- vechain
- bờ vực
- ZCASH [và mạng thử nghiệm liên quan]
- Zilliqa
Các đồng tiền được hỗ trợ
- Acala
- BIFROST
- chuỗix
- Phần mềm
- Karura
- Kusama
- Mặt trăng
- Dòng mặt trăng
- Phala Network
- Mạng plasm
- sora
- nhân viên
- chấm bi
- Đồng xu cơ chất chung
Đối với những gì liên quan đến Monero, cũng có thể tạo ra các địa chỉ tương tự của ví chính thức mà không cần sử dụng hàm đạo BIP44
Rõ ràng, đối với những đồng tiền hỗ trợ các hợp đồng thông minh [ví dụ. Ethereum, Tron,. ], các key và address được tạo là hợp lệ cho tất cả các mã thông báo liên quan
Cài đặt gói
Đối với đường cong SECP256K1, có thể sử dụng thư viện Coincurve hoặc ECDSA. Coincurve nhanh hơn nhiều vì đây là một trình bao bọc Python cho thư viện SecP256K1 C, trong khi ECDSA là một Python khai thác phát triển thuần túy. Theo mặc định Coincurve sẽ được sử dụng, nhưng có thể vô hiệu hóa nó khi cài đặt.
Theo mặc định, đường cong đồng xu sẽ được sử dụng, nhưng có thể tắt nó khi cài đặt.
To install the package
Cài đặt mặc định [Coincurve sẽ được sử dụng cho SECP256K1]
Use PIP, from this directory [cục bộ]
pip install .
Use PIP, from PYPI
0print "Public Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \ .ChildKey[0 + BIP32_HARDEN] \ .ChildKey[account_number + BIP32_HARDEN] \ .ChildKey[0] \ .ChildKey[i] \ .PublicKey[]] print "Private Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \ .ChildKey[0 + BIP32_HARDEN] \ .ChildKey[account_number + BIP32_HARDEN] \ .ChildKey[0] \ .ChildKey[i] \ .PrivateKey[]]
Cài đặt thay thế [ECDSA sẽ được sử dụng cho SECP256K1]
Use setuptools
0print "Public Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \ .ChildKey[0 + BIP32_HARDEN] \ .ChildKey[account_number + BIP32_HARDEN] \ .ChildKey[0] \ .ChildKey[i] \ .PublicKey[]] print "Private Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \ .ChildKey[0 + BIP32_HARDEN] \ .ChildKey[account_number + BIP32_HARDEN] \ .ChildKey[0] \ .ChildKey[i] \ .PrivateKey[]]
Use PIP, from this directory [cục bộ]
1print "Public Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \ .ChildKey[0 + BIP32_HARDEN] \ .ChildKey[account_number + BIP32_HARDEN] \ .ChildKey[0] \ .ChildKey[i] \ .PublicKey[]] print "Private Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \ .ChildKey[0 + BIP32_HARDEN] \ .ChildKey[account_number + BIP32_HARDEN] \ .ChildKey[0] \ .ChildKey[i] \ .PrivateKey[]]
Use PIP, from PYPI
2print "Public Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \ .ChildKey[0 + BIP32_HARDEN] \ .ChildKey[account_number + BIP32_HARDEN] \ .ChildKey[0] \ .ChildKey[i] \ .PublicKey[]] print "Private Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \ .ChildKey[0 + BIP32_HARDEN] \ .ChildKey[account_number + BIP32_HARDEN] \ .ChildKey[0] \ .ChildKey[i] \ .PrivateKey[]]
Cài đặt thay thế [ECDSA sẽ được sử dụng cho SECP256K1] nếu bạn đang sử dụng Apple M1, vui lòng đảm bảo cập nhật coincurve lên phiên bản 17. 0. 0 nếu không nó sẽ không hoạt động
Use setuptools
print "Public Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \
.ChildKey[0 + BIP32_HARDEN] \
.ChildKey[account_number + BIP32_HARDEN] \
.ChildKey[0] \
.ChildKey[i] \
.PublicKey[]]
print "Private Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \
.ChildKey[0 + BIP32_HARDEN] \
.ChildKey[account_number + BIP32_HARDEN] \
.ChildKey[0] \
.ChildKey[i] \
.PrivateKey[]]
3Lưu ý. Nếu bạn đang sử dụng Apple M1, vui lòng đảm bảo cập nhật Coincurve lên phiên bản 17. 0. 0 if not it will not active
print "Public Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \
.ChildKey[0 + BIP32_HARDEN] \
.ChildKey[account_number + BIP32_HARDEN] \
.ChildKey[0] \
.ChildKey[i] \
.PublicKey[]]
print "Private Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \
.ChildKey[0 + BIP32_HARDEN] \
.ChildKey[account_number + BIP32_HARDEN] \
.ChildKey[0] \
.ChildKey[i] \
.PrivateKey[]]
4Để chạy các bài kiểm tra
print "Public Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \
.ChildKey[0 + BIP32_HARDEN] \
.ChildKey[account_number + BIP32_HARDEN] \
.ChildKey[0] \
.ChildKey[i] \
.PublicKey[]]
print "Private Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \
.ChildKey[0 + BIP32_HARDEN] \
.ChildKey[account_number + BIP32_HARDEN] \
.ChildKey[0] \
.ChildKey[i] \
.PrivateKey[]]
5Hoặc bạn có thể cài đặt TOX.
Để kiểm tra nhanh.
print "Public Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \
.ChildKey[0 + BIP32_HARDEN] \
.ChildKey[account_number + BIP32_HARDEN] \
.ChildKey[0] \
.ChildKey[i] \
.PublicKey[]]
print "Private Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \
.ChildKey[0 + BIP32_HARDEN] \
.ChildKey[account_number + BIP32_HARDEN] \
.ChildKey[0] \
.ChildKey[i] \
.PrivateKey[]]
6Và sau đó chỉ cần chạy nó
- BIP-0039
- Điều này sẽ chạy phạm vi mã bảo hiểm với các phiên bản Python khác nhau và thực hiện phân tích mã và kiểu mã. To check fast
- Mô - Module description
- Algorand Mnemonic
- BIP-0038
- BIP-0032
- BIP-0044
- ghi nhớ điện tử
- Thuật nhớ Monero
- Cardano
- điện tử
- đồng tiền
Cơ chất
thư viện tiện ích
Tài liệu
Tài liệu thư viện có sẵn tại BIP-UTILS. READTHEDOCS. IO
Ví dụ mã hóa
Đối với một số ví dụ mã hoàn chỉnh [từ tạo khóa đến tạo khóa], hãy tham khảo thư mục ví dụ
- Mua cho tôi một ly cà phê
- Bạn biết đấy, tôi là người Ý và tôi thích uống cà phê [đặc biệt là trong khi mã hóa 😃]. Vì vậy, nếu bạn muốn mua cho tôi một cái
BTC
print "Public Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \
.ChildKey[0 + BIP32_HARDEN] \
.ChildKey[account_number + BIP32_HARDEN] \
.ChildKey[0] \
.ChildKey[i] \
.PublicKey[]]
print "Private Key: " + Base58.check_encode[key.ChildKey[44 + BIP32_HARDEN] \
.ChildKey[0 + BIP32_HARDEN] \
.ChildKey[account_number + BIP32_HARDEN] \
.ChildKey[0] \
.ChildKey[i] \
.PrivateKey[]]
8ERC20/BEP20. in "Khóa công khai. " + Cơ sở58. check_encode[key. ChildKey[44 + BIP32_HARDEN] \. ChildKey[0 + BIP32_HARDEN] \. ChildKey[account_number + BIP32_HARDEN] \. Khóa con[0] \. Khóa con[i] \. PublicKey[]] in "Khóa riêng. " + Cơ sở58. check_encode[key. ChildKey[44 + BIP32_HARDEN] \. ChildKey[0 + BIP32_HARDEN] \. ChildKey[account_number + BIP32_HARDEN] \. Khóa con[0] \. Khóa con[i] \. Khóa riêng[]] 9
Cảm ơn bạn rất nhiều vì sự hỗ trợ của bạn
Làm thế nào tôi có thể nhận được một cụm từ ghi nhớ từ một khóa riêng?
Mô tả. .
Java. // Sử dụng ghi nhớ để phục hồi khóa riêng. Khóa riêng Khóa riêng = Khóa riêng. FromMnemonic [Mnemonic];
JavaScript. // Sử dụng bản ghi đã được khôi phục để khôi phục khóa riêng. const recomedMnemonic = Đang chờ Mnemonic. từ chống đối [Mnemonic.
đi. Đã khôi phụcKey, lỗi. = Hedera. PrivateKeyFrommnemonic [Mnemonic, ""]
Mnemonic có giống như khóa riêng không?
2. Nói cách khác, cụm từ ghi nhớ là một dạng khác của khóa riêng, nó chuyển đổi khóa riêng 64 bit thành một số từ tiếng Anh phổ biến để dễ ghi nhớ hơn. cụm từ ghi nhớ là một dạng khác của khóa riêng tư , nó chuyển đổi khóa riêng tư 64 bit thành một số từ tiếng Anh phổ biến để dễ ghi nhớ hơn.
Python ghi nhớ là gì?
Python-mnemonic Nó bao gồm hai phần. tạo ra mnenomic và chuyển đổi nó thành phân số nhị phân. Các hạt này sau đó có thể được sử dụng để tạo ví dụ xác định bằng BIP-0032 hoặc các phương pháp tương tự. tạo mnenomic và chuyển đổi nó thành hạt giống nhị phân . Hạt giống này sau đó có thể được sử dụng để tạo ví xác định bằng BIP-0032 hoặc các phương pháp tương tự.
Ví BIP32 là gì?
BIP 32 là đề xuất cải tiến tiến trình Bitcoin được đưa ra tiêu chuẩn của ví xác định phân cấp [HD] và các khóa mở rộng cho Bitcoin. BIP 32 là một tiến trình cải tiến đáng kể cho ví bitcoin theo nhiều cách. Đề xuất cải tiến Bitcoin đã giới thiệu tiêu chuẩn ví xác định phân cấp [HD] và khóa mở rộng cho Bitcoin