这是一个签名算法。介绍: http://zhiqiang.org/blog/it/das-and-ecdsa-rsa.html
维基百科 DSA http://en.wikipedia.org/wiki/Digital_Signature_Algorithm
维基百科ECDSA http://en.wikipedia.org/wiki/Elliptic_Curve_DSA
综述文章 http://cs.ucsb.edu/~koc/ccs130h/notes/ecdsa-cert.pdf
最粗糙的理解:似乎所有的非对称加密算法的原理,都是基于模运算。已知一个整数a,它被整数b除,得到余数c,这很容易。但是反过来,已知b和c,想要求出a,则是不可能的,只能去一个数一个数的去猜。a是私钥,c是公钥。只不过实际的加密算法把这个过程复杂化了。当然,这只是针对DSA。
看到有网友更准确的总结为:素数域上的模幂运算。(见《非对称算法-数字签名算法-DSA》http://blog.sina.com.cn/s/blog_55a9111c0100z1h1.html
在DSA的g的选取过程中,用到了费马小定理。