试题详情
简答题简述RSA公开密钥密码体制。
  • RSA公开密钥密码体制所根据的原理是:根据数论,寻求两个大素数比较简单,而将它们的乘积分解开则极其困难。
    每个用户有两个密钥:加密密钥PK={e,n}和解密密钥SK={d,n}。
    用户把加密密钥公开,使得系统中任何其他用户都可使用,而对解密密钥中的d则保密。
    N为两个大素数p和q之积(素数p和q一般为100位以上的十进数),e和d满足一定的关系。当敌手已知e和n时并不能求出d。
    (1)加密算法:若用整数X表示明文,用整数Y表示密文(X和Y均小于n),则加密和解密运算为:

    (2)密钥的产生:
    ①计算n。用户秘密地选择两个大素数p和q,计算出n=pq。n称为RSA算法的模数。明文必须能够用小于n的数来表示。实际上n是几百比特长的数。
    ②计算φ(n)。用户再计算出n的欧拉函数
    φ(n)=(p-1)(q-1)
    φ(n)定义为不超过n并与n互素的数的个数。
    ③选择e。用户从[0,φ(n)-1]中选择一个与φ(n)互素的数e作为公开的加密指数。
    ④计算d。用户计算出满足下式的d
    ed=1 mod φ(n)作为解密指数。
    ⑤得出所需要的公开密钥和秘密密钥:
    公开密钥(即加密密钥)PK={e,n}
    秘密密钥(即解密密钥)SK={d,n}
  • 关注下方微信公众号,在线模考后查看

热门试题