每天一道面试题:非对称加密之RSA算法
Posted YP校招
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每天一道面试题:非对称加密之RSA算法相关的知识,希望对你有一定的参考价值。
说到非对称加密,很多人的第一反应可能都是RSA加密了。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院RSA就是他们三人姓氏开头字母拼在一起组成的。
算法原理
RSA算法基于一个事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。RSA算法三个参数:n、e1、e2
n=pq (p、q为2个大质数) n的二进制所占用的位数即秘钥的长度。
e1与e2是一对相关的值,e1可以任意取,但要求e1与(p-1)(q-1)互质;要求(e2e1)mod((p-1)(q-1))=1。
(n,e1),(n,e2)就是密钥对,其中(n,e1)为公钥,(n,e2)为私钥。
RSA的弊端
由于RSA算法的原理都是大数计算,使得RSA最快的情况也比对称加密算法慢上好几倍。速度一直是RSA的缺陷,一般来说RSA只用于小数据的加密,比如说用于加密传输对称加密方法的密钥。RSA的速度是对应同样安全级别的对称加密算法的1/1000左右。
以上是关于每天一道面试题:非对称加密之RSA算法的主要内容,如果未能解决你的问题,请参考以下文章