讀書班第一講——公鑰加密算法

發布者:jsj發布時間:2019-04-12浏覽次數:345

    同學們,大家好! 

    在這春光明媚的大好時光裡,你卻被考勤禁足,代碼束縛,是否有那麼些許的遺憾與煩躁。為了豐富大家的業餘生活,拓展同學們的知識面,提高大學生的科研能力,本學院特别課程“讀書班”正式啟動 !

    在這個周四讓我們和胡志華老師一起踏入知識的海洋。


這一期我們将一起學習了解密碼學的基礎概念,并分章節為大家解密

一:如何通俗的理解公鑰加密系統?

       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是被研究得最廣泛的公鑰算法,從提出到現在的三十多年裡,經曆了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優秀的公鑰方案之一。

       這一期的“讀書班”到這兒就結束啦!下期再見