明天网络安全考试了,看了一下午,还没理解透,持续更新...
质数: 除了1和它本身以外不再有其他因素的数
互质关系: 两个正整数,除了1以外,没有其他公因子
RSA实现了非对称加密
DES实现了对称加密
**************************************************
RSA密钥生成的步骤
step1: 随机选择两个不相等的质数p和q
step2: 计算p和q的乘积n
step3: 计算n的欧拉函数φ(n)=(p-1)(q-1)
step4: 随机选择一个整数e,条件是1< e < φ(n),且e与φ(n)互质
step5: 计算e对于φ(n)的模反元素d(多组取一) ed ≡ 1 (mod φ(n))
p q //基础随机
公n私
φ(n)
公e //在上一步基础随机上随机
d私 //d多组取一,在解密过程中效果一样(为什么效果一样,只是我一知半解的猜测)
***************************************************
RSA算法的可靠性
若已知n、e要推出d
->先推出φ(n)
->将n因式分解
->大整数的因式分解基本不能完成,
虽然此处只有除1外的一对因子,现存方法只有暴力破解
成对的生成公钥、私钥,却无法单独由公钥推出私钥
***************************************************
RSA密钥如何加密解密
公钥(n,e) 只能加密小于n的整数m(解密出m的必要条件)
用公钥 (n,e)对m进行加密,算出下式的c,逆向只能暴力破解
m^e ≡ c (mod n)
解密要用私钥(n,d),逆向只能暴力破解
c^d ≡ m (mod n)
m的值最终得唯一值--原始的明文(具体算法比较复杂,过程中c被消去,而多组取一的d无法影响结果,利用了不同层次互质关系)
公钥加密私钥解,私钥加密公钥解,
***************************************************
模拟信息传输过程
公钥(n,e) 只能加密小于n的整数m,那么长信息怎么办
安全
公钥
私钥 ----------------->公钥
DES加密
Alice <----------------Bob
被公钥加密的
#DES密钥#
无法保证安全
DES加密
Alice <----------------Bob
DES密钥