密码学是研究在存在对抗行为的情况下还能安全通信的技术。即算法加密信息,再算法解密出信息。加密分为两类
- Symmetric-key Encryption (secret key encryption)
即一种密钥,加密和解密使用同一密钥,可相互转换
- Asymmetric-key Encryption (public key encryption)
分为公钥和私钥,不能转换,密钥搬运难题,用公钥加密,私钥解密
椭圆密码学ECC
比特币使用的是 secp256k1 这一特定的椭圆曲线参数集
私钥到公钥的转换是容易的,但公钥到私钥的转换却是极其困难的
K(公钥) = k(私钥) * G(椭圆曲线上的初始点)