学生活动

读书班第一讲——公钥加密算法

发布者:jsj发布时间:2019-04-12浏览次数:204

    同学们,大家好! 

    在这春光明媚的大好时光里,你却被考勤禁足,代码束缚,是否有那么些许的遗憾与烦躁。为了丰富大家的业余生活,拓展同学们的知识面,提高大学生的科研能力,本学院特别课程“读书班”正式启动 !

    在这个周四让我们和胡志华老师一起踏入知识的海洋。


这一期我们将一起学习了解密码学的基础概念,并分章节为大家解密

一:如何通俗的理解公钥加密系统?

       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=1mod 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是被研究得最广泛的公钥算法,从提出到现在的三十多年里,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。

       这一期的“读书班”到这儿就结束啦!下期再见