大约公元前300年,欧几里德编著了《元素》。他13本书中的3本都论述了数论,介绍了可除数,素数及复合数的基础概念。
公元前58年至公元前51年,朱利叶斯·凯撒征服了高卢。他的《高卢战记》中包含了第一次有史料记载的加密信息的使用的事例。
1586年,法国的一名外交家Blaise de Vigenère开发出了第一种复合字母顺序密码,在这种加密术中信件可以依靠在文件中字母位置的不同而被进行不同的加密。
1640年,法国数学家Pierre de Fermat发现了“Fermat小法则”,虽然这个法则并非无懈可击,但直到今天让染被用来测试大量的素数。
1801年,德国数学家Carl Friedrich Gauss发表了《Disquisitiones Arithmeticae》,这是现代数字理论的基础。他是第一个推崇模运算的能力的人,这也在很大程度上解释了Fermat理论中为人所费解的一些部分。
1940年,依靠一些波兰数学家和解密学家的早期工作,英国数学家Alan Turing破解了Enigma密码。欧洲西部战场的盟军解密德国军事情报加速了盟国在第二次世界大战中的胜利。
1976 年,Whitfield Diffie、Martin Hellman和Ralph Merkle促进了加密术的发展,此时加密和解密的密钥已经是不同的了。这揭开了公共密钥加密术时代的帷幕。这个时候他们并不知道英国情报人员James Ellis已经采用了相同的技术,但却不得不保守秘密。
1977 年,Ronald Rivest、Adi Shamir和Leonard Adleman发明了RSA加密运算法则,在这个运算法则中一个公共密钥系统的安全要依靠庞大数字的因式分解的难度。他们公开向任何可以解开他们公布的以 129位数字进行编码的信息的人进行挑战。
1981年,Carl Pomerance开发出了“二次方程过滤”方法,可以让大数字因式分解的问题通过多台电脑同时工作的方法来打包处理。
1988年,“数字领域过滤”方法由John Pollard发明。
1994年,Rivest、Shamir和Adleman于1977年公布的信息由一个数百名计算机学家组成的小组通过使用二次方程过滤方法破解。
1994年,AT&T实验室的Peter Shor开发出了一种“迅速”(也就是说多项时间)因式分解运算法则,这项运算可以在一台量子计算机工作。但是,是否能制造出这样一台计算机仍然是一个未知数。
1999年,一个155位的RSA挑战数字由一群研究人员破解,他们使用的是综合数字领域过滤方法。
2002年,Manindra Agrawal、Neeraj Kayal和Nitin Saxena开发出了一种多项时间测试运算法则,可以在一台常规计算机上分析素数。这种运算要依靠对Fermat小法则所进行的一项天才的改进。