Android程序员需要了解的RSA加密(二)

本文深入探讨了RSA加密算法,适用于Android程序员。介绍了RSA的数学基础,包括互质关系、欧拉函数和欧拉定理。通过实例详细阐述了如何生成公钥和私钥,以及加密和解密过程,揭示了RSA在实际应用中的安全性及其限制。
摘要由CSDN通过智能技术生成

 

上篇文章我们介绍了密码学的基础,相信你已经对密码学及相关的知识有所了解,如果还没有阅读过,可以点击这里查看? 

这篇文章主要给大家讲解下RSA加密的过程,但在讲加密过程前我们需要了解几个数学公式。都很简单,相信大家看了就会明白,文中遇到有链接的地方,可先跳过不影响阅读。下面我们先来看看RSA加密的介绍。

RSA加密简介

本文开篇的这张图就是RSA加密的三位作者,RSA算法是由Rivest、Shamir和Adleman在1977年共同提出,他们当时正好都在麻省理工学院工作,RSA就是他们三人姓氏开头字母拼在一起组成的。

当年的照片,留心下他们的发际线对比?

但其实在RSA算法提出的4年前的1973年,在英国政府通讯总部工作的数学家克利福德·柯克斯(Clifford Cocks)在一个内部文件中便提出了一个与之等效的算法,但该算法当时被列入机密,直到1997年才得到公开(稍微有一些些可惜了~)。

从上篇文章我们了解到,RSA加密算法是通过分解质因数的困难性来实现的。换言之,对一个极大整数做因数分解愈困难,RSA算法愈可靠。假如有人找到一种快速因数分解的算法的话,那么用RSA加密的信息的可靠性就会极度下降。但找到这样的算法的可能性是非常小的。今天只有短的RSA钥匙才可能被强力方式破解。到当前为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被破解的,正因为RSA加密的安全性,所以RSA加密算法在当今互联网信息传递中被广泛的使用。

可以毫不夸张的说:只要有计算机网络的地方就有RSA加密算法。

数学公式

前面说到要理解RSA加密需要先了解一些数论相关的知识,这里我总结了几个必要的公式,方便后面能够更好的理解加密过程。

1.互质关系

1.质数定义:除了1和它本身,不能被其它数整除的数。例如:2、3、5、7、11、13、17、19、23、29...

2.任意两个质数构成互质关系。例如5和7,除1之外没有其他数能够整除5和7。

3.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值