比特币属于加密货币,其加密的基础是加密学。秘钥分为公钥和私钥,其成对出现。公钥用于交易中的收款确认,类似于银行交易中的“收款方”。私钥用于数字签名,确认交易的所有权,类似于银行交易中的“签名”。加密基础算法主要分为幂加密和椭圆曲线加密,比特币的加密原理采用后者。此种加密算法的特点是从一方到另一方交易实现,反之则较难实现。
私钥和公钥的生成算法:1)由随机算法形成私钥 2)根据椭圆算法由私钥形成公钥 3)根据公钥形成比特币的地址。其中的核心问题是椭圆曲线算法。
私钥的生成是随机的选择256位0-2 256数字,并对其进行
SHA256算法获得.其核心是随机熵源的选择.如果采用十六进制标识,则私钥显示64位.如果采用bitcoin显示私钥可以采用dumpprivkey。
我们可以通过私钥生成公钥,生成的公式为K=k*G k为私钥,G为离散的常数点,K为公钥。由私钥生成公钥简单,反之则需要通过暴力破解进行逆向运算(理论上几乎不可能)。
比特币的公钥地址是以1开头,
A = RIPEMD160(SHA256(K))其中K为公钥,A为比特币的地址(最终经过Base58形成),为20字节的地址。