首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用BIP39规范加密secp256k1密钥?

用BIP39规范加密secp256k1密钥?
EN

Ethereum用户
提问于 2018-09-10 21:30:03
回答 1查看 660关注 0票数 1

我们正在建立一个系统,用户可以与其他人共享文件,但没有人能够发现所有这些不同的文件属于同一用户的区块链。

这些是我们所遵循的步骤。

  1. 生成主公钥和私钥及其2**32 -1子密钥的bip39规范。
  2. 如果用户想要存储此文件,将生成一个新的子密钥,并生成一个新的AES密钥。该文件将被加密此AES密钥(GCM)模式,附加的现在和标签与密文。AES将使用此子私钥加密。
  3. 现在浮动一个契约,使用加密数据的位置、加密的AES密钥和子公钥,并根据某种机制保存在从公钥生成的地址上。
  4. 如果用户希望与其他用户共享该文件,只需根据其他用户的公钥和用户的私钥生成密钥,并使用此公用密钥加密AES,以便其他用户可以解密和读取该文件。

我的问题是,如何用secp256k1密钥加密AES密钥,因为我在python或golang中找不到这方面的任何实现。另一个问题是,用子secp256k1密钥加密AES密钥是否安全。

EN

回答 1

Ethereum用户

发布于 2018-09-13 08:06:22

我想出了一个答案,https://pypi.org/project/eciespy/,这个库使用从Sep256k1曲线生成的私钥/公钥进行加密和解密。

代码语言:javascript
复制
from ecies.utils import generate_eth_key
from ecies import encrypt, decrypt
k = generate_eth_key() ##Instead of generating a new key, you can use sep256k1 keys generated with bip39 specifications.
prvhex = k.to_hex()
pubhex = k.public_key.to_hex()
data = b'this is a test'
decrypt(prvhex, encrypt(pubhex, data))
b'this is a test'
票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/58480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档