freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

rsa加密課程設計-資料下載頁

2025-06-29 10:58本頁面
  

【正文】 獲了許多,首先就是了解到了要做一個課程的研究設計是需要我們有一種很嚴謹?shù)目茖W態(tài)度和扎實的跟課題項目相關(guān)的理論知識作為基礎(chǔ)和后盾的,還要有將理論知識與實際課題相結(jié)合起來,融會貫通,即理論聯(lián)系實際的那種能力,這次關(guān)于RSA非對稱密碼算法的課程設計,我們雖然對這方面的內(nèi)容不很熟悉,但同樣可以通過自己的自主學習,查閱相關(guān)的資料,并且結(jié)合自己所學的專業(yè)知識,最終完成本次課程設計,撰寫出完成的設計論文,這次綜合設計,我學到了一些密碼學的基礎(chǔ)知識和一些常見的加密算法及其原理,其中主要是RSA非對稱加密算法,又叫公鑰密碼算法,在進行加解密算法的選擇上,一方面要考慮保密的強度,另一方面還必須考慮加解密的執(zhí)行速度。在系統(tǒng)中,不應因加解密功能的加入而明顯降低系統(tǒng)的執(zhí)行速率。數(shù)據(jù)庫中的數(shù)據(jù)必須以字段為單位進行加密,否則數(shù)據(jù)庫將無法進行操作。這次課程設計的程序中同樣也存在一些有待進一步改進和完善的地方,那就需要我們更加深入的去學習和了解這方面的知識了,用更加完善的知識儲備和自己的思考動手能力相結(jié)合,相信能夠?qū)⒄n程設計做的更好,也能更好的提高的自己的綜合素質(zhì)和能力!致 謝經(jīng)過兩周的查找資料、整理材料、編寫程序和寫作設計報告,今天終于可以順利的完成課程設計論文的最后的謝辭了,想了很久,想寫下這段感謝的話。回想起這短短兩周的課程設計,隨著今天論文的完成,也讓這次的課程設計畫上了一個完整的句號了。報告論文得以完成,不單單是靠自己的努力,更要感謝很多人,包括指導老師和同學還有寢室的冰哥等,首先要感謝的是肖利芳老師,因為這次課程設計是在肖利芳老師的悉心指導下進行和完成的。肖老師淵博的專業(yè)知識,嚴謹?shù)闹螌W態(tài)度,精益求精的工作作風,讓我在課程設計的過程中學到了很多知識,在報告論文的撰寫中也受益很多,也得以完成最后的設計論文。每堂課肖老師都會輔導同學進行課程設計中一些問題的的討論和解釋。還要感謝這次課程設計的指導教師金國祥老師,金老師是我們專業(yè)的教研室主任,在每天都忙與教學任務的同時,金老師也會經(jīng)常到課堂機房來跟我們同學進行交流,幫助我們解決一些設計過程中遇到的一些問題,督促我完成這次課程設計的報告和最終論文,在此,我向肖老師和金老師表示崇高的敬意和衷心的感謝!同時,論文的順利完成,也離不開其他老師、同學和朋友的關(guān)心和幫助。在整個論文的寫作中,他們幫助我查找資料以及提供論文寫作的建議和意見,在他們的幫助下,論文得以不斷的完善。感謝所有給過我?guī)椭睦蠋熀屯瑢W,謝謝你們!通過此次論文,我學到了很多知識,也學到了做好一件事情所要有的態(tài)度,而且體會到了與人合作的快樂,這樣做起事情來會事半功倍。總之,在此次論文的寫作過程中,我收獲了很多。再次感謝所有幫助、鼓勵過我的老師、同學和朋友,謝謝你們!參考文獻:1.張福泰.《密碼學教程》.武漢:武漢大學出版社,2006 2.Michael Welschenbach.《編碼密碼學——加密方法的C與C++實現(xiàn)》. 北京:電子工業(yè)出版社,20033.楊波.《現(xiàn)代密碼學》.北京:清華大學出版社,20074.王育民.《通信網(wǎng)的安全—理論與技術(shù)》.西安:西安電子科技大學出版社,1999 5.馮登國.《密碼學導引》北京:科學出版社,1999年6.《對稱密碼學及其應用》. 北京:北京郵電大學出版社,2009年7. 盧開澄.《計算機密碼學》.北京:清華大學出版社,20038. 何明星,林昊.《RSA算法原理及其實現(xiàn)》.重慶:重慶師范大學學報,2003附錄 程序源代碼編寫運行環(huán)境:VC++ include include include typedef int Elemtype。Elemtype p,q,e。Elemtype fn。Elemtype m,c。int flag = 0。typedef void (*Msghandler) (void)。struct MsgMap {char ch。Msghandler handler。}。/* 公鑰 */struct PU {Elemtype e。Elemtype n。} pu。/* 私鑰 */struct PR {Elemtype d。Elemtype n。} pr。/* 判定一個數(shù)是否為素數(shù) */bool test_prime(Elemtype m) {if (m = 1) { return false。}else if (m == 2) { return true。}else { for(int i=2。 i=sqrt(m)。 i++) { if((m % i) == 0) { return false。 break。 } } return true。}}/* 將十進制數(shù)據(jù)轉(zhuǎn)化為二進制數(shù)組 */void switch_to_bit(Elemtype b, Elemtype bin[32]) {int n = 0。while( b 0) { bin[n] = b % 2。 n++。 b /= 2。} }/* 候選菜單,主界面 */void Init() {cout*********************************************endl。cout*** Wele to use RSA encoder ***endl。cout*** ***endl。cout*** ***endl。cout*** ***endl。cout*** ***endl。cout*** ***endl。cout**********************************by*Terry***endl。coutpress a key:endl。}/* 將兩個數(shù)排序,大的在前面*/void order(Elemtype amp。in1, Elemtype amp。in2) {Elemtype a = ( in1 in2 ? in1 : in2)。Elemtype b = ( in1 in2 ? in1 : in2)。in1 = a。in2 = b。}/* 求最大公約數(shù) */Elemtype gcd(Elemtype a, Elemtype b) {order(a,b)。int r。if(b == 0) {return a。}else { while(true) { r = a % b。 a = b。 b = r。 if (b == 0) { return a。 break。 } }}}/* 用擴展的歐幾里得算法求乘法逆元 */Elemtype extend_euclid(Elemtype m, Elemtype bin) {order(m,bin)。Elemtype a[3],b[3],t[3]。a[0] = 1, a[1] = 0, a[2] = m。b[0] = 0, b[1] = 1, b[2] = bin。if (b[2] == 0) { return a[2] = gcd(m, bin)。 }if (b[2] ==1) { return b[2] = gcd(m, bin)。}while(true) { if (b[2] ==1) { return b[1]。 break。 } int q = a[2] / b[2]。 for(int i=0。 i3。 i++) { t[i] = a[i] q * b[i]。 a[i] = b[i]。 b[i] = t[i]。 }}}/* 快速模冪算法 */Elemtype modular_multiplication(Elemtype a, Elemtype b, Elemtype n) {Elemtype f = 1。Elemtype bin[32]。switch_to_bit(b,bin)。for(int i=31。 i=0。 i) { f = (f * f) % n。 if(bin[i] == 1) { f = (f * a) % n。 }}return f。}/* 產(chǎn)生密鑰 */void produce_key() {coutinput two primes p and q:。cinpq。 while (!(test_prime(p)amp。amp。test_prime(q))){ coutwrong input,please make sure two number are both primes!endl。 coutinput two primes p and q:。 cinpq。}。 = p * q。 = p * q。fn = (p 1) * (q 1)。coutfn = fnendl。coutinput e :。cine。while((gcd(fn,e)!=1)) { coute is error,try again!。 coutinput e :。 cine。} = (extend_euclid(fn,e) + fn) % fn。 = e。flag = 1。cout: : endl。cout: : endl。}/* 加密 */void encrypt() {if(flag == 0) { coutsetkey first:endl。 produce_key()。}coutinput m:。cinm。c = modular_multiplication(m,)。coutc is:cendl。}/* 解密 */void decrypt() {if(flag == 0) { coutsetkey first:endl。 produce_key()。}coutinput c:。cinc。m = modular_multiplication(c,)。coutm is:mendl。}void about() { cout*********************************************endl。cout*** by Terry ***endl。cout*** copyright 2010,All rights reserved by ***endl。cout*** Terry,technology supported by weizuo !***endl。cout*** If you have any question, please mail ***endl。cout*** to 18679376@ ! ***endl。cout*** Computer of science and engineering ***endl。cout*** XiDian University 2010429 ***endl。cout*********************************************endl。coutendlendl。Init()。}MsgMap Messagemap[] = { {39。a39。,about},{39。s39。,produce_key},{39。d39。,decrypt},{39。e39。,encrypt},{39。q39。,NULL}}。void main() { Init()。char d。while((d = getchar())!=39。q39。) { int i = 0。 while(Messagemap[i].ch) { if(Messagemap[i].ch == d) { Messagemap[i].handler()。 break。 } i++。 }}
點擊復制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1