在这春光明媚的大好时光里,你却被考勤禁足,代码束缚,是否有那么些许的遗憾与烦躁。为了丰富大家的业余生活,拓展同学们的知识面,提高大学生的科研能力,本学院特别课程“读书班”正式启动 !
在这个周四让我们和胡志华老师一起踏入知识的海洋。
这一期我们将一起学习了解密码学的基础概念,并分章节为大家解密
一:如何通俗的理解公钥加密系统?
RSA算法,是一种公开密钥加密,1977年由 Ron Rivest, Adi Shamir, Leonard Adleman三人一起提出,因此称作RSA算法。该算法于2002年获得图灵奖。
算法逻辑:
1.”我“生成两把密钥(公钥和私钥)。公钥是公开的,密钥是保密的。
2.对象获得我的公钥,然后用它对信息进行加密。
3.我获得加密后的信息,再用私钥进行解密。
二:公钥加密算法产生的背景
世界上第一台电脑诞生于1946年的美国宾夕法尼亚大学,这台计算机的一个重要功能是破译密码。
因特网始于1969年的美国。是美军在ARPA(阿帕网,美国国防部研究计划署)制定的协定下,首先用于军事连接,后将美国西南部的加利福尼亚大学洛杉矶分校、斯坦福大学研究学院、UCSB(加利福尼亚大学)和犹他州大学的四台主要的计算机连接起来。
三:所需要的数学知识介绍
a.单向函数:
给定x,容易计算y=f(x),给定y =f(x), 难以计算出x。
b.模运算
迪菲和黑尔曼想寻找反向计算很困难的单向函数,后来发现模运算 (modular arithmetic) 是很合适的单向函数。
a mod n称为模运算(modulo operation);模运算a mod n就是a除以n后所得的余数r。
c:欧拉定理
如果正整数a和质数p互质,因为φ(p)=p-1。那么欧拉定理可以写成a^(p-1)
≡1(mod n)。
d:乘法逆元:
a×a-1=a-1×a=1(mod n)该元素a-1称为Zn中元素a的乘法逆元
e:加密解密
信息加密
用以加密消息 M,则发送方:
1. 获取接收方的公钥:Ku(e, N)
2. 计算:C = MemodN, 这里0<=M<=N
信息解密
用以解密密文 C,则接收方:
1. 使用自己的私钥:KR(d, N)
2. 计算:M = CdmodN
RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,从提出到现在的三十多年里,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。
这一期的“读书班”到这儿就结束啦!下期再见