橢圓曲線密碼學(Elliptic Curve Cryptography, ECC)是一種基於有限域橢圓曲線數學的公開密鑰加密演算法,有限域的特徵數必為某一質數P,元素個數為P的有限域一般記為GF(p),而其中的GF又稱為伽羅華域。它的主要優勢在於與RSA加密演算法相比使用較小的密鑰長度並提供相當等級的安全性(160位元的ECC與1024位元的RSA、DSA具相同的安全強度),且在加解密的速度也比較快。其中在橢圓曲線中的純量乘法算是它的核心,有好的純量乘法能使ECC金鑰加密的速度有效地縮短。橢圓曲線公式為$y^2=x^3+ax+b$ (mod P)
關於橢圓曲線乘量運算: 設K為一個整數,P為有限域的橢圓曲線上的某點,在計算K*P的過程稱之為純量乘運算,也可稱為點乘運算或多倍點運算。
ECDSA是由橢圓曲線密碼(ECC)與數位簽章演算法(DSA)組合而成的,其簽名的過程與DSA相同,差別在於演算法的不同,它是使用ECC演算法。
公鑰生成的流程是 :
橢圓曲線加密
[橢圓曲線加密](Windows C/C++ 加密解密實戰)
ECC