区块链-1-区块链中的密码学
Crypto-Currency 加密货币其实本身不加密
1. cryptographic hash function密码哈希函数
比特币中的哈希函数:SHA-256 (Secure Hash Algorithm 256)
1.1. collision resistance 抗哈希碰撞性
含义:无法高效的方法寻找两个哈希碰撞的输入。
说明:已知 \(H(x_1) = y\),没有一个高效的方法可以寻找到 \(x_2\) 使得 \(H(x_2) = y\)。
无法证明一个哈希函数具备抗哈希碰撞性。
1.2. hiding 隐藏性
含义:哈希函数是单向的,根据输出值无法高效找到输入值。
说明:已知 \(H(x) = y\),但 \(x\)未知,没有一个高效的方法可以根据 \(y\) 找到 \(x\)。
hiding 的前提是输入空间足够大且映射分布较均匀。
digital commitment 数字签名 (又称为 digital equivalent of a sealed envelope 数字化的密封信封)
输入值后拼接一个随机数,来使得整体输入随机且分布均匀。
1.3. puzzle friendly 无法预测性
含义:无法根据输入值去预测输出值或输出值的特征。
挖矿:找到一个随机数 nonce 和 block header 区块头的其他信息合并在一起,使得 H(block header) <= target
2. asymmetric encryption algorithm 非对称加密
symmetric encryption algorithm 对称加密
通讯双方在通讯前,提前约定好密钥,然后双方基于这个密钥对信息进行加解密。
对称加密时,密码的分发过程不安全。如果密钥泄露了,那么攻击者就可以获取到所有通讯信息。
asymmetric encryption algorithm 非对称加密
非对称加密是基于一对公私钥,私钥需要持有人保密,公钥无需保密,可以发送给任何人。
公私钥有两种用法:
公钥加密,私钥解密:保证加密数据仅有私钥的持有者才能解密。
私钥加密,公钥解密:保证加密数据来自于私钥的持有者。
区块链-1-区块链中的密码学
https://cqu-linmu.github.io/linmu-blog/2024/08/27/区块链-1-区块链中的密码学/