目录
⚠️ 原文:Understanding How ECDSA Protects Your Data.
⚠️ 写在前面:本文属于搬运博客,自己留着学习。同时,经过几天的折磨后,我对椭圆曲线已经有点基础了,因此删除了一些我认为无关紧要的原文。
1 ECDSA 是什么?
ECDSA 代表 “椭圆曲线数字签名算法”,它用于对数据(例如文件)进行签名,以便让您验证其真实性,同时不损害其安全性。ECDSA 签名与真实签名之间的区别在于,伪造 ECDSA 签名是不可能的。
您不应该将 ECDSA 与 AES(高级加密标准)混淆,后者是用来加密数据的。ECDSA不加密或阻止他人查看或访问您的数据,但它保护的是确保数据未被篡改。
😽 加密是用来加密数据以防泄漏的,签名是用来验证数据是否被篡改的。在第 3 节会再次进行说明。
ECDSA 这一短语中的两个词值得注意,那就是 “曲线” 和 “算法”,因此 ECDSA 本质上都是关于数学的。这些数学知识相当复杂,所以尽管我会尝试使其易于理解,您可能仍然需要一些数学知识才能真正理解它。
2 理解基础知识
原理很简单,假设你有一个数学方程,并在图上画出它的曲线,然后你在曲线上选择一个随机点作为起点。接着你生成一个 随机数,这就是你的 私钥,你用这个 随机数和 “起点” 进行一些神秘的数学运算,你在曲线上得到第二个点,那就是你的 公钥。
可以看出,公钥是由私钥决定的。
当你想要签名一个文件时,你会使用这个私钥和文件的哈希(表示文件的独特数字)进行一个神秘的方程,这将为你生成签名。签名本身分为两部分,称为 R 和 S 。
为了验证签名是否正确,你只需要公钥和签名的一部分(S),将其放入另一个神秘的方程中。如果这个数学方程给了你 R,那么签名是有效的。