Hasty Briefsbeta

双语

Show HN: I made a zero dependency Bitcoin math implementation in C

a year ago
  • #Cryptography
  • #Bitcoin
  • #C Programming
  • Bitcoin_math项目是一个零依赖的C语言实现,用于学习比特币数学基础。
  • 仅使用标准C语言库,将代码可读性置于效率之上。
  • 通过密码学函数生成助记词、种子、密钥和地址。
  • 支持任意精度整数运算、椭圆曲线数学和进制转换。
  • 可在Windows和Linux上用gcc编译(Linux需添加-lm标志)。
  • 包含四个主菜单:主密钥、子密钥、进制转换器和功能函数。
  • 主密钥模块从熵值生成私钥、链码和公钥。
  • 子密钥模块通过父密钥和链码派生子密钥。
  • 进制转换器支持2至64进制之间的转换。
  • 功能函数菜单包含P2PKH序列化和Secp256k1操作。
  • 使用第三方密码学哈希函数(RIPEMD160、SHA256、SHA512、HMAC-SHA512)。
  • 任意精度整数运算灵感来自GMP和BigDigits库。
  • 椭圆曲线算法改编自学术论文和维基百科伪代码。
  • 源代码分为五大模块:哈希函数、整数运算、椭圆曲线、比特币功能函数和菜单系统。