数学基础
原根
对于一个给定的素数 p,如果存在一个整数 ,满足以下条件
- 对模 取余的结果都不相同。
- 对模 取余的结果为 1。
模幂运算
公钥加密
也称 “非对称性加密” (Asymmetric Encryption)
Alice 可以利用公钥(加密规则)发出一条加密的消息给 Bob。
Bob 将是唯一能够利用私钥(解密规则)对密文进行解密的人。
例如前后端使用一对密钥。前端使用公钥加密数据,后端使用私钥解密数据。
对称加密(Symmetric Encryption)指的是前后端使用相同的密钥来进行加密和解密。这意味着密钥必须在前后端之间安全地共享。如果有第三方能够获取到密钥,那么加密就失去了意义。
RSA 密码
来自于三位数学家 Rivest、Shamir 和 Adleman,基于大整数的质因数分解问题的困难性
- relies on the dramatic difference between the ease of finding large prime numbers and the difficulty of factoring the product of two large prime numbers
密钥生成
- 选择两个不同的大质数 和
- 计算 , 为模数
- 计算 , 为欧拉函数值
- 选择一个整数 ,,且 与 互质
- 计算 ,满足
- 💀 存在等式转化关系的,如果是小质数,可以暴力枚举,通过公钥破解出私钥
🔐 公钥 ,私钥
加密算法
- 根据编码方案,把消息 转化为相应整数
- 根据公钥 计算 ,获得密文 (ciphertext)
- 把密文发给接收者
解密算法
- 根据私钥 计算明文
- 计算明文 (message)
例
Choose
Let , one solution is (3∗7 𝑚𝑜𝑑 20=1)
Public key , Private key
➢ The encryption of is
➢ The decryption of is