RSA加密系统具体原理是什么?
一把锁两把钥匙,一把加密一把解密。
加密的公匙就要用到之前的模运算了。
解密的私匙这个数学公式就特别复杂,关健步骤就是
比如Alice公开的钥匙是用两个很大的素数p同q相乘得到一个更大的数N。p同q只有Alice自己知道,公开出N就可以,因为不可逆别人也不知道p同q。
只要给Alice 发信息的人用N加密就可以了,整个过程用的模运算,模就是N因为不可逆就算Eve知道也解不了。
那爱丽丝如何解密呢?她这个时候就不需要N了,只要用到P同q即可,具体来说,爱丽丝私下做的另外一个模运算中的模,不是刚才我们说的N,而是另外一个值(p-1)×(q-1),所以关健在p和q。
至于为什么是(p-1)×(q-1),这是数学决定了它能得一把新的钥匙来解密。
我们开始可能也会想到EVE知道了这个N值,那么不断尝用两个数相乘去解密这也不安全呀!
但是这个N不是一般的N,现在的银行使用RsA糸统这个N一般都是300位数的大数,要解这个p和q把全球所有计算机算力加在一起要几亿年才可以解密。
为什么用两个巨大的质数相乘都是由数学决定的。
钥匙越公开越安全
到现在第六代RSA加密系统越来越透明,不但技术公开,钥匙也公开,只有私匙不公开,这并不是逼不得已而是变成越公开越安全。
RSA加密系统用到了两大数学领域的知识——质数方面的应用和数论有关,单向函数的应用和群论有关。
这个算法背后的数学证明,一般在计算机系《算法导论》有详细论述。如果想深入了解,可以参考这类教科书。
数学有很多分支,现在大多已经成为工程应用的理论基础了。不过它们化身为应用的范围有宽有窄,比如群论的应用就广阔很多,而数论部分就狭窄很多,目前只有密码学在应用。
网友评论