写在前面:
这是我第一篇CSDN博客,除了跟各位前辈交流学习,我同样想我跟那些没学过计算机的家人朋友分享我所学到的东西(至少让他们知道我是学什么的,真的不是修电脑的)。由于水平所限,肯定无法把这些东西说得十分浅显明白,但我尽量。如有错漏,欢迎指教。
先说几个基本的概念,如果你早知道了就跳过。
1. mod(求余):
mod(求余)是数论中最基本的运算之一,就是求一个数除以另一个数的余数。
例如:5 mod 7 =5 ;(5除以7,商得0,余数为2)
18 mod 7 =4;(18除以7,商得2,余数为4)
5^2 mod 5 =0; (25除以5,商得3,余数为0)
2. RSA算法 :
这是一个目前十分常用公钥加密算法,几乎每次网购都会用到它。所谓的公钥加密算法是一样十分神奇的事物,它的加密密钥和解密密钥并不是同一个密钥,加密密钥是可以公开的。通俗点来说,就是锁上一把锁的钥匙和打开同一把锁的钥匙是两把不一样的钥匙。大家都可以用加密钥匙锁上箱子(加密消息),但只有掌握解密密钥的人才能打开箱子(解密消息)。
3. 模n的大数幂乘算法:
上面那些求余例子十分简单,但遇到像98^193 mod 100 这种数就很难算了。