椭圆曲线数字签名算法
散列函数
计算机科学
数字签名
数字信号运算法则
Merkle签名方案
ElGamal签名方案
梅克尔树
密码学
密码哈希函数
算法
Schnorr签名
公钥密码术
椭圆曲线密码
计算机安全
理论计算机科学
盲签名
加密
摘要
Digital signature and hash algorithms are essential components of the blockchain. Bitcoin and Ethereum use the same digital signature scheme Elliptic Curve Digital Signature Algorithm (ECDSA). However, they use the different hash algorithms. Bitcoin chooses to use Secure Hash Algorithm (SHA), and Ethereum uses Keccak-256. This paper studies the digital signature ECDSA by looking into its design, implementation and security. ECDSA is a variant of Digital Signature Algorithm (DSA). It requires a shorter key length than Rivest–Shamir–Adleman (RSA), so it was preferred to use in the blockchain. Furthermore, this paper will also explore the design and implementation of SHA-256 and Keccak- 256. Bitcoin chose to use SHA-256 since it came out earlier than Keccak-256 with adequate security. Conversely, Keccak-256 is preferred by Ethereum since it has better performance and security compared to SHA-256. The role of SHA-256 and Keccak-256 in Bitcoin and Ethereum are also explored. SHA-256 and Keccak-256 are used in the blockchains' proof-of-work (or proof-of-stake) and merkle tree structure. The paper will also look into their security by analyzing the result of possible attacks against them. In addition, the paper will provide some thoughts on the security of ECDSA, SHA-256 and Keccak-256 by analyzing their designs and possible attacks.
科研通智能强力驱动
Strongly Powered by AbleSci AI