# 4.8 椭圆曲线数字签名算法

数字签名算法是众多区块链技术中的关键，可以在不暴露地址私钥的前提下证明该地址的所有权归属，一般用于签名交易、证明交易的发起方以及防止交易内容被篡改。椭圆曲线（Ellipse Curve Cryptography，ECC）和签名算法（Ellipse Curve Digital Signature Algorithm，ECDSA）在数字货币和区块链的应用中已被广泛采用。

DxChain采用了secp256k1的椭圆曲线和ECDSA签名算法进行链上交易签名。在密码学中，相比于对称加密算法，如AES，DES，椭圆曲线加密算法具有安全性能更高，处理速度更快，带宽要求更低，存储空间更小的优点。ECC与其他基于大质数因子分解困难性的加密方法不同，其依赖的数学原理是求解椭圆曲线上离散对数问题（DLP）的困难性，正是这种求解困难性为数据加密提供了保障。

<figure><img src="https://402733873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ft7Yq0wZVG1pJ3PiTzoaE%2Fuploads%2FqZM92BNG5eR6Z9b0EpTI%2Fimage.png?alt=media&#x26;token=13b723b0-38d6-4286-b613-12bd99f3093f" alt=""><figcaption><p>图10：椭圆曲线的类型之一</p></figcaption></figure>

DxChain通过椭圆曲线的椭圆曲线点乘算法（elliptic curve point manipulation），由私钥构建出一个值来作为公钥。椭圆曲线点乘算法是一种陷门函数，陷门函数在一个方向上易于计算，但是在缺少特殊信息（陷门）的情况下难以逆向计算，因此难以从公钥逆向计算出私钥。在DxChain链上交易时由私钥进行签署交易，公钥验证交易，创建出安全且不可篡改的签名。
