在這春光明媚的大好時光裡,你卻被考勤禁足,代碼束縛,是否有那麼些許的遺憾與煩躁。為了豐富大家的業餘生活,拓展同學們的知識面,提高大學生的科研能力,本學院特别課程“讀書班”正式啟動 !
在這個周四讓我們和胡志華老師一起踏入知識的海洋。
這一期我們将一起學習了解密碼學的基礎概念,并分章節為大家解密
一:如何通俗的理解公鑰加密系統?
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是被研究得最廣泛的公鑰算法,從提出到現在的三十多年裡,經曆了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優秀的公鑰方案之一。
這一期的“讀書班”到這兒就結束啦!下期再見