RSA算法原理

1.RSA是什么?

  • RSA是一种非对称加密算法;
  • 分为公钥与私钥,公钥公开作为其他人加密使用,私钥自己保留作为解密使用;
  • RSA是当今广泛使用最安全的加密算法之一;

2.基础数学知识

  • 中国剩余定理-求余(韩信点兵问题)
  1. 5 mod 3 = 2
  2. 10 mod 4 = 2
  3. 14 mod 3 = 2
  4. 14 mod 4 = 2 说明:14与2以4为模同余;
  5. 10^2 mod 3 = 1

3.RSA加解密原理

  • 密文 = 明文^E mod N
  • 明文 = 密文^D mod N
  • 计算N、E、D?
  1. 获取两个足够大的素数(又称质数:一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数) p和q;

       N = p * q;

    2.计算L,L是p-1与q-1的最小公倍数:

        最小公倍数:

                10与3的最小公倍数:30

                10与2的最小公倍数:10

        L = lcm(p-1,q-1)

 3.计算E,E是一个比1大,比L小的数,E和L的最大公约数为1

        1<E<L

        gcd(E,L)  = 1

   4.求D

      1<D<L

      E*D mod L = 1

注意:求模运算中的等号硬干三个横

判断质数的方法包括费马测试和米勒.拉宾测试等;

4.RSA破解

      关键点是在于对N的质因子分解,如果分解了N,则会很方便的破解;

5.RSA其他用途

     RSA还可以用来做数字签名

    

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值