本人是加大尔湾数学专业出身,在学习密码学上走过弯路,不过通过努力还是上道了。所以我很愿意分享我的的经验,希望各位大佬看了不要笑。感兴趣的新手可以拿我当参考~大学时,我以为密码学是特工用的所以没当回事。但是密码学最近很火,是因为一个叫区块链的黑科技诞生了。这项科技还在金融领域上有了不小的轰动,据说华尔街的大佬也纷纷看好。两三句话很难解释区块链是什么,在金融界,可以理解成一种新的交易模式,在这里,密码学是主要运用于把信息安全地置于整个区块链网络中。
密码学的基础:
密码学的一切都是要靠数学当中的不同分支去支撑,一般大学期间,抽象代数,线性代数,概率论,泛函分析,微分几何,代数几何等这些毫不相关领域会让人迷茫。对于密码学来说,其首先是跟数论紧紧相关,所有的运算,算法和时间复杂度分析都会涉及到最基础的欧拉定理,费马小定理和discrete logarithm等等。而数论和抽象代数紧紧联系一起,各种抽象代数中的结构,群(group),域(ring),galois group,lattice等等都是数论的基础。当然概率论也会在密码学中的各种频率分析中出现。比较科学的是,先学抽象代数并且学到伽罗瓦理论和概率论,再攻读数论。如果倒过来先学数论,在没有抽象代数的基础下,很多数论知识会无法解决。对于数论,从最初的euclidean algorithm要学到圆锥曲线才能开始学习基础的密码学(我比较幸运,我在学完抽象代数和概率学后马上学了数论,这个时间我耗费了一年)但并不是说,这些就够了。我在学习factorisation using diffe