欧洲视频一区_99精品热_久月婷婷_丁香六月激情_免费观看一区二区三区毛片_国产黄a三级三级三级老师

密碼學(xué) 論文 密碼學(xué)論文優(yōu)秀7篇

密碼學(xué)論文優(yōu)秀7篇

本科類院校密碼學(xué)實(shí)踐課程教學(xué)研究論文 篇一

針對密碼學(xué)課程的現(xiàn)狀,以及出現(xiàn)此狀況的原因進(jìn)行了深入的研究與分析后,在此基礎(chǔ)上,本文針對本校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)開設(shè)的密碼學(xué)課程進(jìn)行了一系列的改革,取得了一定的成效。其改革的內(nèi)容主要為:

1)密碼學(xué)的核心教學(xué)內(nèi)容由密碼算法組成,對這些密碼學(xué)算法的理解和分析是課堂教學(xué)的重點(diǎn)。因此,為了實(shí)現(xiàn)使學(xué)生對各類算法本質(zhì)的深入理解,要求學(xué)生用自己熟悉的高級(jí)程序設(shè)計(jì)語言編程實(shí)現(xiàn)經(jīng)典密碼學(xué)算法,關(guān)鍵部分的程序代碼,可布置作業(yè),讓學(xué)生編程實(shí)現(xiàn)。網(wǎng)絡(luò)上有很多經(jīng)典密碼學(xué)算法的代碼資源,在講解算法的過程中,可以提醒學(xué)生注意對這些資源的理解和借鑒。

2)組織課題組或興趣小組,吸引更多的學(xué)生參加,最大化激發(fā)學(xué)生的興趣,并大力支持學(xué)生創(chuàng)新活動(dòng)。選擇優(yōu)秀本科生進(jìn)入課題組,是研究型大學(xué)培養(yǎng)學(xué)生的一種重要方式。同時(shí)要求教師在授課過程中,將前沿技術(shù)問題適時(shí)加入到授課內(nèi)容之中,鼓勵(lì)學(xué)生進(jìn)行創(chuàng)新思維,并為其提供必要的經(jīng)費(fèi)、實(shí)驗(yàn)環(huán)境,如建立創(chuàng)新實(shí)驗(yàn)室、實(shí)訓(xùn)大本營等。

3)結(jié)合課程內(nèi)容,由學(xué)生參加制作密碼算法教學(xué)演示系統(tǒng),并可延伸到畢業(yè)設(shè)計(jì)。在編寫完成密碼算法后,利用演示系統(tǒng)分步實(shí)現(xiàn)密碼算法的過程,使學(xué)生更深入、更細(xì)致地理解和掌握密碼算法的實(shí)質(zhì)。

4總結(jié)

信息安全作為一門新興專業(yè),信息安全類課程的基礎(chǔ)理論體系仍不完善,目前還沒有與密碼學(xué)相適應(yīng)的課時(shí)適中,內(nèi)容合理的標(biāo)準(zhǔn)化實(shí)驗(yàn)教材。因此下一步工作意在開展標(biāo)準(zhǔn)化實(shí)驗(yàn)教材的編寫工作,以配合理論教學(xué)。另外課程網(wǎng)絡(luò)資源的建設(shè)與更新,積極鼓勵(lì)學(xué)校與企業(yè)開展項(xiàng)目合作,加強(qiáng)與國內(nèi)外的高校、研究機(jī)構(gòu)的交流,也是值得努力的方向。

與英語 關(guān)的兩個(gè)密碼學(xué)小知識(shí) 篇二

首先說說字母概率。我們隨便找一個(gè)英語單詞,比如cat,將每個(gè)字母向后移動(dòng)一位,cat變成dbu,將每個(gè)字母向后移動(dòng)兩位,cat變成ecv,等等,這就是一種最原始、最簡單的加密方法,19世紀(jì)以前曾在歐洲廣泛使用。對于這種加密電文,我們只要知道英語字母的概率(probability),就可以很容易地破譯出來。什么是字母概率呢?您可以找一篇英文文章,仔細(xì)觀察一下,就會(huì)發(fā)現(xiàn),字母e出現(xiàn)的次數(shù)最多,大多數(shù)單詞中都包含它,因而我們說字母e的概率最高,與此相反,字母q出現(xiàn)的次數(shù)最少,只有少數(shù)單詞中包含它,因而我們說字母q的概率最低。下面是英語字母的概率表,概率值由高到低排列。

e(57) a(43) r(39) i(38) o(37) t(35) n(34) s(29) l(28) c(23) u(19) d(17) p(16) m(15) h(15) g(13) b(11) f(9) y(9) w(7) k(6) v(5) x(1) z(1) j(1) q(1)

有了這個(gè)字母概率表,我們可以看看加密電文中,哪個(gè)字母出現(xiàn)的次數(shù)最多,假如h出現(xiàn)的次數(shù)最多,那我們可以斷定h就是e,原文的每個(gè)字母都向后移動(dòng)了三位(e-f-g-h),我們只要將每個(gè)字母向前移動(dòng)三位,即可看到明文。

下面再說說單詞概率。如果我們不采用上面這種字母移位的加密方法,而是用胡編亂造的單詞,代替真正的英語單詞,比如用tnqkv代替the,用hxdsj代替and,等等,這也是一種19世紀(jì)以前歐洲常用的加密方法。對于這種加密電文,我們必須知道英語單詞的概率,也就是在一般性的英語文章中,哪些單詞出現(xiàn)的次數(shù)最多。下面是英語常用單詞的概率表,概率值由高到低排列。

the – of – and – a – to – in – is – that – it – was – he – for – as – on – with – his – be – at – you – i – are – this – by – from – had – have – they – not – or – one

有了這個(gè)單詞概率表,我們可以看看加密電文中,哪個(gè)(胡編亂造的)單詞出現(xiàn)的次數(shù)最多,假如tnqkv出現(xiàn)的次數(shù)最多,那我們可以斷定tnqkv就是the。利用這種方法,可以將加密電文中最常用的冠詞、介詞、連詞、代詞、動(dòng)詞等破譯出來,但破譯整篇加密電文還不可能,需要配合其它方法。

當(dāng)然,這里介紹的只是最基礎(chǔ)的密碼學(xué)知識(shí),現(xiàn)在已經(jīng)很少有這樣簡單的加密電文了,但這些基礎(chǔ)知識(shí),是我們掌握高級(jí)知識(shí)的基礎(chǔ),所以我希望這個(gè)帖子能夠引起您的興趣。

離散數(shù)學(xué)的代數(shù)系統(tǒng)理論在密碼學(xué)中的應(yīng)用論文 篇三

離散數(shù)學(xué)的代數(shù)系統(tǒng)理論在密碼學(xué)中的應(yīng)用論文

【摘要】本文分析了離散數(shù)學(xué)中的代數(shù)系統(tǒng)理論與密碼學(xué)課程之間的關(guān)系,闡述了離散數(shù)學(xué)在密碼學(xué)領(lǐng)域的實(shí)際應(yīng)用。

【關(guān)鍵詞】離散數(shù)學(xué);密碼學(xué);教學(xué)

一、引言

離散數(shù)學(xué)是計(jì)算機(jī)專業(yè)的基礎(chǔ)課,為計(jì)算機(jī)專業(yè)的后續(xù)課程提供專業(yè)的數(shù)學(xué)理論基礎(chǔ)。該課程可以全方位培養(yǎng)學(xué)生的抽象思維能力和解決實(shí)際問題的能力,為學(xué)生學(xué)習(xí)其它專業(yè)課程建立數(shù)學(xué)的思想。

該課程包括數(shù)理邏輯、集合論、代數(shù)系統(tǒng)、圖論四個(gè)大部分。每個(gè)部分與數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)庫,人工智能,數(shù)字邏輯,編譯原理等課程都密切相關(guān)。

本文我們將闡述離散數(shù)學(xué)中的代數(shù)系統(tǒng)理論部分與密碼學(xué)的相關(guān)性,并且分析該理論在密碼學(xué)領(lǐng)域的若干應(yīng)用。

二、代數(shù)系統(tǒng)理論與密碼學(xué)的相關(guān)性及在密碼學(xué)的應(yīng)用

離散數(shù)學(xué)中的代數(shù)系統(tǒng)理論包括代數(shù)系統(tǒng)的一些基本概念、半群與獨(dú)異點(diǎn)、群、環(huán)與域、格與布爾代數(shù)。代數(shù)系統(tǒng)與密碼學(xué)聯(lián)系非常緊密,為密碼學(xué)提供非常重要的數(shù)學(xué)基礎(chǔ)。現(xiàn)將代數(shù)系統(tǒng)理論在密碼學(xué)中的若干應(yīng)用列舉如下:

密碼學(xué)中,凱撒密碼是一種最簡單且最廣為人知的加密技術(shù),是一種簡單的基于替換原理的加密技術(shù)。凱撒密碼將明文中的所有字母都在字母表上向后(或向前)按照一個(gè)固定數(shù)目進(jìn)行偏移后被替換成密文,其中固定數(shù)目的偏移量為加解密密鑰。例如當(dāng)偏移量為3,字母A將被替換成D,B變成E,其它的字母按此規(guī)則類推。在代數(shù)系統(tǒng)理論中群是一種典型的代數(shù)系統(tǒng),具有封閉性、可結(jié)合性、含單位元以及每個(gè)元素都有逆元等性質(zhì)。從本質(zhì)上來說凱撒密碼就是一個(gè)特殊的群,是建立在26個(gè)字母之上,字母與密鑰進(jìn)行運(yùn)算的剩余模群。通過對于群理論的學(xué)習(xí)可以幫助學(xué)生更好的理解凱撒密碼的本質(zhì)。

在密碼學(xué)中有一個(gè)重要的公鑰加密算法的RSA,該算法是目前最安全的公鑰加密算法,可以抵抗目前已知的絕大多數(shù)密碼攻擊。數(shù)論中的費(fèi)馬小定理為RSA提供數(shù)學(xué)上的安全性保證。通過對于費(fèi)馬小定理的原理和正確性的理解可以更好的理解RSA算法的安全性,在實(shí)際中更好地使用RSA算法。

在密碼學(xué)中的橢圓曲線密碼是基于橢圓曲線的一種公鑰密碼算法,該密碼安全性基于橢圓曲線離散對數(shù)的困難性上,是一個(gè)有限域上橢圓曲線的`阿貝爾群。對于在代數(shù)系統(tǒng)理論中群和域的概念以及性質(zhì)進(jìn)行認(rèn)真學(xué)習(xí)和理解可以用于橢圓曲線密碼的學(xué)習(xí)。

三、離散數(shù)學(xué)在計(jì)算機(jī)其他學(xué)科中的應(yīng)用

離散數(shù)學(xué)在計(jì)算機(jī)研究中的作用越來越大,計(jì)算機(jī)科學(xué)中普遍采用離散數(shù)學(xué)中的一些基本概念、基本思想、基本方法,使得計(jì)算機(jī)科學(xué)越趨完善與成熟。離散數(shù)學(xué)在計(jì)算機(jī)科學(xué)和技術(shù)中有著廣泛應(yīng)用,除了在上述提到的領(lǐng)域中發(fā)揮了重要作用外,在其他領(lǐng)域也有著重要的應(yīng)用,如離散數(shù)學(xué)中的數(shù)理邏輯部分在計(jì)算機(jī)硬件設(shè)計(jì)中的應(yīng)用尤為突出,數(shù)字邏輯作為計(jì)算機(jī)科學(xué)的一個(gè)重要理論,在很大程度上起源于離散數(shù)學(xué)的數(shù)理邏輯中的命題與邏輯演算。利用命題中各關(guān)聯(lián)詞的運(yùn)算規(guī)律把由高低電平表示的各信號(hào)之間的運(yùn)算與二進(jìn)制數(shù)之間的運(yùn)算聯(lián)系起來,使得我們可以用數(shù)學(xué)的方法來解決電路設(shè)計(jì)問題,使得整個(gè)設(shè)計(jì)過程變得更加直觀,更加系統(tǒng)化。集合論在計(jì)算機(jī)科學(xué)中也有廣泛的應(yīng)用,它為數(shù)據(jù)結(jié)構(gòu)和算法分析奠定了數(shù)學(xué)基礎(chǔ),也為許多問題從算法角度如何加以解決提供了進(jìn)行抽象和描述的一些重要方法,在軟件工程和數(shù)據(jù)庫中也會(huì)用到。代數(shù)結(jié)構(gòu)是關(guān)于運(yùn)算或計(jì)算規(guī)則的學(xué)問,在計(jì)算機(jī)科學(xué)中,代數(shù)方法被廣泛應(yīng)用于許多分支學(xué)科,如可計(jì)算性與計(jì)算復(fù)雜性、形式語言與自動(dòng)機(jī)、密碼學(xué)、網(wǎng)絡(luò)與通信理論、程序理論和形式語義學(xué)等,格與布爾代數(shù)理論成為電子計(jì)算機(jī)硬件設(shè)計(jì)和通訊系統(tǒng)設(shè)計(jì)中的重要工具,圖論對開關(guān)理論與邏輯設(shè)計(jì)、計(jì)算機(jī)制圖、操作系統(tǒng)、程序設(shè)計(jì)語言的編譯系統(tǒng)以及信息的組織與檢索起重要作用,其平面圖、樹的研究對集成電路的布線、網(wǎng)絡(luò)線路的鋪設(shè)、網(wǎng)絡(luò)信息流量的分析等的實(shí)用價(jià)值顯而易見。

四、結(jié)束語

通過上面的分析,我們可以發(fā)現(xiàn)離散數(shù)學(xué)中的代數(shù)系統(tǒng)理論在密碼學(xué)領(lǐng)域的作用非常重要,離散數(shù)學(xué)不僅是計(jì)算機(jī)技術(shù)迅猛發(fā)展的支撐學(xué)科,更是提高學(xué)生邏輯思維能力、創(chuàng)造性思維能力以及形式化表述能力的動(dòng)力源,離散數(shù)學(xué)課程所傳授的思想和方法,廣泛地體現(xiàn)在計(jì)算機(jī)科學(xué)技術(shù)及相關(guān)專業(yè)的諸領(lǐng)域,從科學(xué)計(jì)算到信息處理,從理論計(jì)算機(jī)科學(xué)到計(jì)算機(jī)應(yīng)用技術(shù),從計(jì)算機(jī)軟件到計(jì)算機(jī)硬件,從人工智能到分布式系統(tǒng),無不與離散數(shù)學(xué)密切相關(guān)。在現(xiàn)代計(jì)算機(jī)科學(xué)中,如果不了解離散數(shù)學(xué)的基本內(nèi)容,則在計(jì)算機(jī)科學(xué)中就寸步難行了。

參考文獻(xiàn)

[1]任勛益。離散數(shù)學(xué)與計(jì)算機(jī)安全結(jié)合改進(jìn)教學(xué)[J].軟件導(dǎo)刊,(12)

[2]劉宏月,張行進(jìn)等。面向信息安全學(xué)科的離散數(shù)學(xué)教學(xué)探究[J].計(jì)算機(jī)教育,(15):23-26

[3]屈婉玲,耿素云等。離散數(shù)學(xué)[M].北京:高等教育出版社,

[4]丁寶康主編。數(shù)據(jù)庫原理[M].經(jīng)濟(jì)科學(xué)出版社,

[5]馮登國,裴定一編著。密碼學(xué)導(dǎo)引[M].科學(xué)出版社,

[6]魏獻(xiàn)祝主編。高等代數(shù)[M].華東師范大學(xué)出版社,

[7]華東師范大學(xué)數(shù)學(xué)系編。概率論與數(shù)理統(tǒng)計(jì)教程[M].高等教育出版社,1983

本科類院校密碼學(xué)實(shí)踐課程教學(xué)研究論文 篇四

摘要:密碼學(xué)是信息科學(xué)類信息安全及其相關(guān)專業(yè)的一門十分重要的專業(yè)基礎(chǔ)課。該文以本科類院校的密碼學(xué)課程教學(xué)為背景,就密碼學(xué)課程在實(shí)踐教學(xué)中存在的若干問題,進(jìn)行深入研究與分析,并提出了對應(yīng)的解決方案,在提升學(xué)生的專業(yè)學(xué)習(xí)興趣和改善實(shí)踐類課程的教學(xué)效果方面,提供了一定的參考。

關(guān)鍵詞:密碼學(xué);實(shí)踐課程;教學(xué)改革;演示系統(tǒng)

1引言

信息安全是近年來發(fā)展起來的一門新興學(xué)科,它與計(jì)算機(jī)科學(xué)與技術(shù)、通信工程、信息計(jì)算等學(xué)科相融,是一門綜合性要求較高的學(xué)科。密碼學(xué)不管是作為信息安全專業(yè)的專業(yè)基礎(chǔ)課程,還是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的重要選修課程,都有著十分重要的學(xué)科地位。隨著計(jì)算機(jī)網(wǎng)絡(luò)的普及,密碼學(xué)的應(yīng)用也日益廣泛,從研究領(lǐng)域擴(kuò)展到了電子政務(wù)、電子商務(wù)等應(yīng)用領(lǐng)域。因此,除需在本科院校的計(jì)算機(jī)、通信等相關(guān)專業(yè)開設(shè)密碼學(xué)的理論教學(xué)以外,開展其相應(yīng)的實(shí)踐課程教學(xué)更是十分必要。

信息安全專業(yè)中密碼學(xué)課程的教學(xué)研究論文 篇五

信息安全專業(yè)中密碼學(xué)課程的教學(xué)研究論文

摘要:密碼學(xué)作為一門數(shù)學(xué)、計(jì)算機(jī)科學(xué)與通信的交叉學(xué)科,是信息安全專業(yè)的核心課程,也是數(shù)學(xué)在信息科學(xué)中的重要應(yīng)用。該文從密碼學(xué)的特點(diǎn)出發(fā),對密碼學(xué)課程目前所存在的問題進(jìn)行分析,并從教材選擇、理論教學(xué)和實(shí)驗(yàn)教學(xué)的角度給出自己的幾點(diǎn)建議。

關(guān)鍵詞:密碼學(xué);信息安全;理論教學(xué);實(shí)驗(yàn)教學(xué);教學(xué)方法

中圖分類號(hào):G642.3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-304426-0138-02

隨著計(jì)算機(jī)網(wǎng)絡(luò)的廣泛應(yīng)用和深入發(fā)展,電子商務(wù)和電子政務(wù)以及網(wǎng)絡(luò)銀行和各種移動(dòng)支付已經(jīng)成為人們生活的一部分。在方便人們生活的同時(shí),也帶來越來越多的信息安全問題。因此,信息安全受到社會(huì)各界的高度重視,已成為信息社會(huì)急需解決的問題。密碼技術(shù)作為信息安全的核心技術(shù),獲得越來越多的關(guān)注。密碼學(xué)已成為各類高校信息安全專業(yè)的核心課程。目前,我國有80多所高校開設(shè)信息安全專業(yè),100多所高校開設(shè)密碼學(xué)課程[1]。由于密碼學(xué)是一門集數(shù)學(xué),計(jì)算機(jī)科學(xué)與通信科學(xué)等于一身的交叉學(xué)科,不同專業(yè)、不同學(xué)科,在教材的選擇、教學(xué)內(nèi)容以及教學(xué)方法等諸多方面的認(rèn)識(shí)很難統(tǒng)一,給密碼學(xué)課程的教學(xué)造成諸多困難,同時(shí)也是密碼學(xué)課程教學(xué)中值得關(guān)注和探討的問題。

1密碼學(xué)課程的特點(diǎn)

1)密碼學(xué)所涉及的知識(shí)面廣,數(shù)學(xué)基礎(chǔ)要求高。密碼學(xué)課程前期需要學(xué)習(xí)信息論、計(jì)算復(fù)雜度和一些數(shù)學(xué)知識(shí)[2]。其中數(shù)學(xué)除高等數(shù)學(xué)和線性代數(shù)以外,還包括數(shù)論、抽象代數(shù)、代數(shù)編碼、概率論、有限域等相關(guān)內(nèi)容,這些數(shù)學(xué)知識(shí)的難度也相對較大。

2)理論教學(xué)和實(shí)驗(yàn)教學(xué)的側(cè)重點(diǎn)難以把握。由于密碼學(xué)是一門交叉學(xué)科,對于不同專業(yè)的學(xué)生,學(xué)習(xí)的側(cè)重點(diǎn)也是不一樣的。例如數(shù)學(xué)科學(xué)學(xué)院應(yīng)用數(shù)學(xué)專業(yè)的學(xué)生,大多數(shù)側(cè)重理論教學(xué),主要講授密碼算法的理論計(jì)算,對數(shù)學(xué)基礎(chǔ)要求比較高。而對于計(jì)算機(jī)學(xué)院信息安全專業(yè)的學(xué)生,又是以實(shí)驗(yàn)教學(xué)為主,對編程語言和計(jì)算復(fù)雜度要求較高。

3)密碼學(xué)課程本身所涉及的內(nèi)容較多,學(xué)習(xí)難度大。密碼學(xué)的主要內(nèi)容包括古典密碼、對稱密碼、公鑰密碼、哈希函數(shù)、數(shù)字簽名、密鑰管理、密碼協(xié)議等。古典密碼與對稱密碼要求學(xué)生對置換、代換、有限域方面要深入理解與掌握;公鑰密碼、數(shù)字簽名對數(shù)論、概率論方面要求又比較高。對于其他的內(nèi)容,主要是一些密碼應(yīng)用等,則要求靈活使用公鑰密碼、數(shù)字簽名、哈希函數(shù)等。

4)密碼學(xué)知識(shí)更新速度快。自從1978年麻省理工學(xué)院的Rivest、Shamir和Adleman三人提出RSA公鑰密碼算法以來,密碼學(xué)家又提出Rabin、Elgamal、ECC、NTRU等經(jīng)典的公鑰密碼體制。近年來,由于其他學(xué)科的進(jìn)步與發(fā)展,又出現(xiàn)一些新的密碼技術(shù),如量子密碼、混沌密碼、DNA密碼等。

2密碼學(xué)課程所存在的問題以及解決方法

2.1教材選擇

密碼學(xué)教材種類繁多,而作者編寫教材的側(cè)重點(diǎn)也不相同,有的側(cè)重于密碼算法的介紹,有的側(cè)重于密碼技術(shù)的應(yīng)用。不同學(xué)科專業(yè)學(xué)生的基礎(chǔ)不同,在選擇教材方面也有所差異,并且前置基礎(chǔ)課程與培養(yǎng)目標(biāo)也存在差異,所以選擇教材的時(shí)候要充分考慮前置課程的安排和培養(yǎng)目標(biāo)的設(shè)置。對于理科專業(yè),如數(shù)學(xué)專業(yè),應(yīng)該選用理論性較強(qiáng)的教材,而對于工科專業(yè),如通信專業(yè),信息安全專業(yè),應(yīng)該選擇實(shí)踐性較強(qiáng)的教材。

2.2理論教學(xué)

目前大多數(shù)高校的密碼學(xué)教學(xué)是以理論講授為主,配合多媒體演示。理論教學(xué)是密碼教學(xué)的主要手段。而密碼學(xué)是一門交叉性很強(qiáng)的學(xué)科,課程所涉及的內(nèi)容很多,各個(gè)知識(shí)點(diǎn)之間既相互獨(dú)立又聯(lián)系緊密。面對信息安全專業(yè)密碼學(xué)課程這些特點(diǎn),如何轉(zhuǎn)變教學(xué)理念、創(chuàng)新教學(xué)思路、找準(zhǔn)教學(xué)放方法,是密碼學(xué)課程理論教學(xué)關(guān)鍵。

2.2.1教學(xué)理念

密碼學(xué)課程內(nèi)容多,算法的邏輯推理性強(qiáng),學(xué)生難以掌握所有的算法。密碼學(xué)課程的教學(xué)理念不應(yīng)該是讓學(xué)生記住密碼算法,而是培養(yǎng)學(xué)生正確的密碼學(xué)思維方式,使學(xué)生理解密碼學(xué)的設(shè)計(jì)思想。如:分組密碼算法的設(shè)計(jì)思路是使用置換密碼與代換密碼的組合,利用迭代的方式產(chǎn)生,在設(shè)計(jì)的過程中要滿足混淆與擴(kuò)散原則;公鑰密碼體制的設(shè)計(jì)則是按照形式化的定義、精確的安全假設(shè)與嚴(yán)格的安全性證明三個(gè)原則來設(shè)計(jì)。為實(shí)現(xiàn)這個(gè)教學(xué)目標(biāo),需要在各章節(jié)詳細(xì)介紹少量經(jīng)典的密碼算法,使學(xué)生了解每一步算法的來龍去脈與密碼學(xué)家設(shè)計(jì)密碼算法的思路,這就要求老師對密碼學(xué)所涉及的內(nèi)容融會(huì)貫通,并且深刻理解密碼學(xué)的設(shè)計(jì)思路與精髓。

2.2.2教學(xué)思路

對于主流的密碼學(xué)教材,主要內(nèi)容一般包括古典密碼、對稱密碼、公鑰密碼、哈希函數(shù)、數(shù)字簽名、密鑰管理、密碼協(xié)議等[3]。這些內(nèi)容表面上看起來是松散的,實(shí)際上是緊密相連的要使學(xué)生能夠清晰地理解并掌握這些內(nèi)容,首先要有明確的教學(xué)思路。密碼技術(shù)是信息安全的核心技術(shù),能夠?qū)崿F(xiàn)消息的保密性、完整性、認(rèn)證性、不可否認(rèn)性等安全屬性,這些安全屬性是整個(gè)密碼學(xué)知識(shí)體系發(fā)展的出發(fā)點(diǎn)和歸宿??梢园凑者@個(gè)思路建立密碼學(xué)知識(shí)結(jié)構(gòu)的基本框架模型,然后進(jìn)行講授。

2.2.3教學(xué)方法

傳統(tǒng)的教學(xué)方式是老師在講臺(tái)上講,學(xué)生在下面聽、記筆記。這種方式只能讓學(xué)生記住所講授的密碼算法,而無法使學(xué)生理解密碼學(xué)的思想。對于不同的教學(xué)內(nèi)容應(yīng)該采用不同的教學(xué)方法,如互動(dòng)啟發(fā)式、小組討論式等方法,這些方法可以讓學(xué)生主動(dòng)參與到教學(xué)活動(dòng)中[4]。還要留給學(xué)生充分的思考空間和時(shí)間,讓學(xué)生在思考的過程中形成主動(dòng)探索、分析問題和尋求解決問題方法的習(xí)慣。

1)互動(dòng)啟發(fā)式教學(xué)。互動(dòng)教學(xué)方法是大多數(shù)課程所討論并采用的教學(xué)方法,可以讓學(xué)生參與到問題的解決過程中??鬃釉唬翰粦嵅粏?,不悱不發(fā),強(qiáng)調(diào)的就是學(xué)習(xí)的啟發(fā)式教學(xué)。啟發(fā)式教學(xué)的’關(guān)鍵是調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性,激發(fā)學(xué)生的學(xué)習(xí)興趣。很好地運(yùn)用互動(dòng)啟發(fā)式教學(xué)方法,可以培養(yǎng)學(xué)生分析問題、解決問題的能力,通過經(jīng)歷問題的解決過程,激發(fā)學(xué)生的自主學(xué)習(xí)熱情,提高學(xué)習(xí)興趣。例如,在講授序列密碼時(shí),講到序列密碼的安全性是由種子密鑰所產(chǎn)生密鑰序列的性質(zhì)決定的,可以通過互動(dòng)啟發(fā)式方法,讓學(xué)生思考:密鑰序列具有何種性質(zhì)才能保證安全性?是否滿足隨機(jī)性和不可預(yù)測性就安全了?密鑰序列和種子密鑰之間有什么關(guān)系?通過解決問題,使學(xué)生理解序列密碼的設(shè)計(jì)思想。

2)小組討論式教學(xué)。小組討論式教學(xué)方法可以開拓學(xué)生的思維,提高學(xué)生的創(chuàng)新能力,使學(xué)生嘗試從不同的角度與觀點(diǎn)來解決問題,而且還可以培養(yǎng)團(tuán)隊(duì)合作能力。密碼學(xué)對學(xué)生而言是陌生的,而密碼思想更是學(xué)生所欠缺的。通過小組討論,能夠使學(xué)生從自身角度思考密碼算法滿足安全性的條件,以及明文、密文與密鑰之間的關(guān)系,密文統(tǒng)計(jì)特性應(yīng)滿足的概率分布等問題。通過小組討論并不一定能達(dá)到完全解決問題的目的,但是這種方法極大的開拓學(xué)生的思維,提高學(xué)生的創(chuàng)新能力,并且可以使學(xué)生深刻理解密碼學(xué)的設(shè)計(jì)思想。

2.3實(shí)驗(yàn)教學(xué)

密碼技術(shù)是解決信息安全問題的核心技術(shù),密碼學(xué)的特點(diǎn)決定它是一門實(shí)踐性很強(qiáng)的課程。實(shí)驗(yàn)教學(xué)環(huán)節(jié)能夠使學(xué)生在理解算法原理的基礎(chǔ)上進(jìn)行程序設(shè)計(jì),并根據(jù)需要進(jìn)一步進(jìn)行綜合設(shè)計(jì),提高學(xué)生的綜合應(yīng)用能力。目前,在密碼學(xué)課程的實(shí)驗(yàn)教學(xué)方面,還存在密碼實(shí)驗(yàn)工具選擇不合理與密碼實(shí)驗(yàn)項(xiàng)目類型不明確的問題。

1)密碼實(shí)驗(yàn)工具的選擇。密碼實(shí)驗(yàn)工具一般包括密碼分析軟件、密碼實(shí)驗(yàn)教學(xué)軟件、密碼設(shè)計(jì)軟件、密碼算法的代碼庫等。在密碼實(shí)驗(yàn)教學(xué)之前要確定密碼實(shí)驗(yàn)的工具。當(dāng)前,密碼學(xué)的實(shí)驗(yàn)教學(xué)中大都要求學(xué)生運(yùn)用計(jì)算機(jī)語言實(shí)現(xiàn)一些經(jīng)典的密碼算法,而密碼學(xué)實(shí)驗(yàn)教學(xué)的目的是加強(qiáng)學(xué)生對密碼算法的理解,以及掌握密碼算法在信息安全中的應(yīng)用,不是簡單地鍛煉學(xué)生的編程能力,這種做法很難提高學(xué)生的綜合素質(zhì)。密碼學(xué)課程的實(shí)驗(yàn)教學(xué)應(yīng)根據(jù)實(shí)驗(yàn)要求選擇密碼實(shí)驗(yàn)工具,才能體現(xiàn)密碼學(xué)實(shí)驗(yàn)教學(xué)的目標(biāo)。比如對于古典密碼算法,這些密碼算法已經(jīng)被破譯,對于學(xué)生來說只起到一個(gè)借鑒的作用,因此可以選擇具有驗(yàn)證和分析作用的密碼工具。CAP4軟件就是一款合適的密碼分析軟件。對于DES,AES等對稱密碼算法,其加密流程比較復(fù)雜,學(xué)生難以理解。這時(shí)可以選擇具有可視化功能的密碼工具,CrypTool的可視化演示功能能夠使學(xué)生更好的理解加解密運(yùn)算的每一個(gè)流程。對于算法設(shè)計(jì),不能只把實(shí)驗(yàn)項(xiàng)目給學(xué)生之后,讓學(xué)生去編寫代碼。應(yīng)該引導(dǎo)學(xué)生使用密碼算法庫,例如OpenSSL、Miracl、Boten,NTL等[5]。

2)密碼實(shí)驗(yàn)項(xiàng)目與類型的確定。實(shí)驗(yàn)項(xiàng)目類型一般分為演示或驗(yàn)證型、設(shè)計(jì)或綜合型、研究或創(chuàng)新型三個(gè)層次。合理安排實(shí)驗(yàn)項(xiàng)目類型可以加深對密碼算法的理解以及提高創(chuàng)新能力。目前,多數(shù)高校的密碼學(xué)實(shí)驗(yàn)項(xiàng)目類型都是簡單的驗(yàn)證,老師在教師機(jī)演示,學(xué)生在學(xué)生機(jī)重新驗(yàn)證一遍。或者項(xiàng)目類型都是設(shè)計(jì)型,老師把實(shí)驗(yàn)項(xiàng)目發(fā)給學(xué)生,讓學(xué)生自己編程。這兩種簡單的方式都不能很好地提高學(xué)生的綜合能力。因此,密碼學(xué)的實(shí)驗(yàn)類型要由實(shí)驗(yàn)項(xiàng)目來確定。安排密碼實(shí)驗(yàn)項(xiàng)目時(shí),應(yīng)該由淺入深,首先安排簡單的驗(yàn)證項(xiàng)目,比如古典密碼算法,其次安排綜合型項(xiàng)目,如RSA的實(shí)現(xiàn)等,最后安排研究型項(xiàng)目。研究型項(xiàng)目由老師確定一個(gè)具有新穎性和創(chuàng)新性的實(shí)驗(yàn)項(xiàng)目范圍,由學(xué)生根據(jù)興趣自主選題。研究型項(xiàng)目選題可以依托學(xué)科競賽來確定,比如全國大學(xué)生信息安全競賽等。

3結(jié)束語

密碼技術(shù)是信息安全的核心技術(shù),密碼學(xué)也是信息安全專業(yè)的核心課程,研究密碼學(xué)課程的理論與實(shí)驗(yàn)教學(xué)有著重要的意義。在信息安全專業(yè)密碼學(xué)理論與實(shí)驗(yàn)課程,以及密碼學(xué)前置課程的多年教學(xué)實(shí)踐的基礎(chǔ)上,結(jié)合信息安全競賽的一些經(jīng)驗(yàn),針對信息安全專業(yè)密碼學(xué)教學(xué)在教材選擇、教學(xué)理論和實(shí)驗(yàn)教學(xué)方面存在的問題,從教學(xué)理念、教學(xué)思路和教學(xué)方法三個(gè)方面給出教學(xué)改進(jìn)方案,教學(xué)實(shí)踐表明這些改進(jìn)方案能夠取得更好教學(xué)效果。

參考文獻(xiàn):

[1] 王后珍,張煥國。 密碼學(xué)課程建設(shè)及教學(xué)方法探討[J]. 高教學(xué)刊,(7):79-79.

[2] 丁勇。 信息與計(jì)算科學(xué)專業(yè)密碼學(xué)教學(xué)研究[J].桂林電子科技大學(xué)學(xué)報(bào),,28(2):131-133.

[3] 李夢東。 《密碼學(xué)》課程設(shè)置與教學(xué)方法探究[J].北京電子科技學(xué)院學(xué)報(bào),,15(3):61-66.

[4] 賈偉峰,楊禮波。 密碼學(xué)的課程特點(diǎn)及教學(xué)方法探討[J]. 華北水利水電學(xué)報(bào):社科版,,26(3):169-170.

[5] 申麗君,王金雙,陳融,等。CrypTool在密碼學(xué)教學(xué)中的應(yīng)用[J]. 計(jì)算機(jī)工程與科學(xué),,36(A1):208-211.

本科類院校密碼學(xué)實(shí)踐課程教學(xué)研究論文 篇六

由于密碼學(xué)課程的教學(xué)內(nèi)容重點(diǎn)是對各種流行的密碼算法進(jìn)行介紹,因此,在教學(xué)中,理論上的知識(shí)安排較多。由于課程本身內(nèi)容的綜合性,僅僅靠結(jié)合課堂的理論教學(xué)內(nèi)容,學(xué)生難將理論知識(shí)與實(shí)際應(yīng)用進(jìn)行連接。主要面臨的困難有:

1)不知如何用所學(xué)理論知識(shí)來解決實(shí)際問題,并且遇到實(shí)際問題時(shí),沒有好的解決方案,缺乏指導(dǎo)。

2)受到硬件、軟件、環(huán)境等因素的制約。

3)對純理論知識(shí)的學(xué)習(xí)缺乏興趣。

通過針對密碼學(xué)教學(xué)情況的調(diào)查研究,發(fā)現(xiàn)學(xué)生在學(xué)習(xí)密碼學(xué)課程時(shí)的積極性普遍不高,對純理論教學(xué),或者少量的實(shí)踐教學(xué)模式多數(shù)持有異議。

分析其現(xiàn)象的主要原因有以下幾個(gè)方面:

1)教學(xué)方式多樣性不夠。主要是課堂教學(xué)講授,以多媒體演示或者板書為主。而密碼學(xué)是一門實(shí)踐性非常強(qiáng)的課程,要對其內(nèi)容真正理解需要結(jié)合實(shí)際的應(yīng)用才行,以往的教學(xué)模式無法實(shí)現(xiàn)這一點(diǎn),因此無法得到學(xué)生的認(rèn)同。

2)實(shí)踐課程安排不合理。在密碼學(xué)課程的`安排上,有實(shí)踐課程的安排,也注意了理論課程和實(shí)踐課程的分配,但是對實(shí)踐課程的實(shí)驗(yàn)安排存在不合理現(xiàn)象。比如對密碼算法的選擇不合理,除了某些經(jīng)典算法外,不能適時(shí)的安排一些新型的密碼算法,內(nèi)容上無法與時(shí)俱進(jìn)。

3)實(shí)驗(yàn)設(shè)置的難易程度不合理。在實(shí)驗(yàn)課程的安排中,在實(shí)驗(yàn)內(nèi)容的設(shè)置上,實(shí)現(xiàn)難度較大,在有限的實(shí)驗(yàn)時(shí)間里,學(xué)生無法輕松地,甚至無法完成相應(yīng)的實(shí)驗(yàn),從而使學(xué)生對實(shí)驗(yàn)失去信心,繼而不愿參與到實(shí)驗(yàn)中。

密碼學(xué)CrackMe之RSA512算法CM分析 篇七

【文章標(biāo)題】: ‘RSACrackMe512分析過程及匯編注冊機(jī)源碼

【文章作者】: coolstar14

【使用工具】: IDA, BigInterCalc, RDLP

【軟件名稱】: RSACrackMe512

【軟件大小】: 40KB

【下載地址】: attachmentid=7447&d=1187671766

【軟件介紹】: 用RSA512作為校驗(yàn)算法的CrackMe,

【作者聲明】: 只是感興趣,沒有其他目的。失誤之處敬請諸位大俠賜教!

——————————————————————————–

詳細(xì)過程:

IDA反匯編, 字符串參考, 直接定位到關(guān)鍵代碼:

.text:00402F18

.text:00402F18 loc_402F18:????????????????????????????; CODE XREF: DialogFunc+140j

.text:00402F18????????????????lea????eax, [ebp+dst_buffer]

.text:00402F1E????????????????lea????ecx, [ebp+rsa_n]

.text:00402F24????????????????push???eax????????????; dst_buffer

.text:00402F25????????????????push???ecx????????????; rsa_n

.text:00402F26????????????????lea????edx, [ebp+input_sn]

.text:00402F2C????????????????push???offset s_10001?; “10001”

.text:00402F31????????????????push???edx????????????; input_sn

.text:00402F32????????????????mov????[ebp+var_4], 0

.text:00402F39????????????????call???sub_402BC0?????;關(guān)鍵函數(shù), 跟進(jìn)

.text:00402F39

.text:00402F3E????????????????test???eax, eax

.text:00402F40????????????????jnz????short loc_402F68???; eax不等于0, 跳轉(zhuǎn)到后續(xù)判斷, 否則就提示失敗

.text:00402F40

.text:00402F42????????????????push???40h????????????; uType

.text:00402F44????????????????push???offset Caption?; “注冊提示”

.text:00402F44

.text:00402F49

.text:00402F49 loc_402F49:????????????????????????????; CODE XREF: DialogFunc+1D8j?;注冊提示

.text:00402F49????????????????push???offset s_VSIAGm ; “注冊碼錯(cuò)誤,繼續(xù)加油!”

….

.text:00402F64????????????????mov????esp, ebp

.text:00402F66????????????????pop????ebp

.text:00402F67????????????????retn

.text:00402F67

.text:00402F68 ; —————————————————————————

.text:00402F68

.text:00402F68 loc_402F68:????????????????????????????; CODE XREF: DialogFunc+190j

.text:00402F68????????????????lea????eax, [ebp+dst_buffer]

.text:00402F6E????????????????lea????ecx, [ebp+String2]

.text:00402F74????????????????push???eax????????????; lpString1

.text:00402F75????????????????push???ecx????????????; lpString2

.text:00402F76????????????????call???sub_402CE0?????;比較函數(shù), 可以通過內(nèi)存查看, eax, ecx分別為解密sn后獲得的緩沖區(qū)和我們輸入的用戶名

.text:00402F76

.text:00402F7B????????????????add????esp, 8

.text:00402F7E????????????????cmp????eax, 1

.text:00402F81????????????????push???40h????????????; uType

.text:00402F83????????????????push???offset Caption?; “注冊提示”

.text:00402F88????????????????jnz????short loc_402F49???;前面比較函數(shù)返回值 eax不等于1跳轉(zhuǎn)到失敗, 否則注冊成功。

.text:00402F88

.text:00402F8A????????????????push???offset s_ZUgmVSI ; “恭喜你,注冊碼正確!”

.text:00402F8F????????????????push???esi????????????; hWnd

.text:00402F90????????????????call???ds:MessageBoxA

.text:00402F96????????????????xor????eax, eax

函數(shù) 402F39, 參數(shù)4個(gè), 通過查看內(nèi)存可以確定, 有一個(gè)為我們輸入的序列號(hào), 一個(gè)為10001的字符串, 它是RSA公鑰對中最常用的e , 還有一個(gè)長度為128的字符串, 這個(gè)很容易就可以懷疑它是RSA公鑰對中的n. 另外一個(gè)會(huì)在下面的比較函數(shù)中用它, 它就是結(jié)果輸出緩沖區(qū)了。

函數(shù):sub_402BC0

.text:00402BC0 ; Attributes: bp-based frame

.text:00402BC0

.text:00402BC0 ; int __stdcall sub_402BC0(int input_sn,int rsa_e_10001,int rsa_n,LPSTR dst_buffer)

.text:00402BC0 sub_402BC0?????proc near??????????????; CODE XREF: DialogFunc+189p

.text:00402BC0

.text:00402BC0 String2????????= byte ptr -2088h

.text:00402BC0 var_88?????????= dword ptr -88h

.text:00402BC0 var_big_e??????= dword ptr -64h

.text:00402BC0 var_big_n??????= dword ptr -44h

.text:00402BC0 var_big_sn?????= dword ptr -20h

.text:00402BC0 var_10?????????= dword ptr -10h

.text:00402BC0 var_C??????????= dword ptr -0Ch

.text:00402BC0 var_4??????????= dword ptr -4

.text:00402BC0 input_sn???????= dword ptr?8

.text:00402BC0 rsa_e_10001????= dword ptr?0Ch

.text:00402BC0 rsa_n??????????= dword ptr?10h

.text:00402BC0 dst_buffer?????= dword ptr?14h

.text:00402BC0

.text:00402BC0????????????????push???ebp

.text:00402BC1????????????????mov????ebp, esp

.text:00402BC3????????????????push???0FFFFFFFFh

.text:00402BC5????????????????push???offset loc_406973

.text:00402BCA????????????????mov????eax, large fs:0

.text:00402BD0????????????????push???eax

.text:00402BD1????????????????mov????large fs:0, esp

.text:00402BD8????????????????push???ecx

.text:00402BD9????????????????mov????eax, 2078h

.text:00402BDE????????????????call???sub_4034A0

.text:00402BDE

.text:00402BE3????????????????push???ebx

.text:00402BE4????????????????push???esi

.text:00402BE5????????????????push???edi

.text:00402BE6????????????????lea????ecx, [ebp+var_88]

.text:00402BEC????????????????mov????[ebp+var_10], esp

.text:00402BEF????????????????call???sub_402900

.text:00402BEF

.text:00402BF4????????????????xor????ebx, ebx

.text:00402BF6????????????????lea????ecx, [ebp+var_big_sn]

.text:00402BF9????????????????mov????[ebp+var_4], ebx

.text:00402BFC????????????????call???sub_401060

.text:00402BFC

.text:00402C01????????????????mov????eax, [ebp+rsa_e_10001]

.text:00402C04????????????????lea????ecx, [ebp+var_big_e]

.text:00402C07????????????????push???eax

.text:00402C08????????????????mov????byte ptr [ebp+var_4], 2

.text:00402C0C????????????????call???sub_4028F0???????; 大數(shù)轉(zhuǎn)換, 只有一個(gè)參數(shù)為大數(shù)的字符串表示。 之前有幾個(gè)函數(shù)調(diào)用, 像是初始化之類的東西, 具體沒弄明白。

.text:00402C0C

.text:00402C11????????????????mov????ecx, [ebp+rsa_n]

.text:00402C14????????????????push???ecx

.text:00402C15????????????????lea????ecx, [ebp+var_big_n]

.text:00402C18????????????????call???sub_4028F0

.text:00402C18

.text:00402C1D????????????????mov????edx, [ebp+input_sn]

.text:00402C20????????????????lea????ecx, [ebp+var_big_sn]

.text:00402C23????????????????push???edx

.text:00402C24????????????????call???sub_4028F0

.text:00402C24

.text:00402C29????????????????mov????ecx, 800h

.text:00402C2E????????????????xor????eax, eax

.text:00402C30????????????????lea????edi, [ebp+String2]

.text:00402C36????????????????rep stosd

.text:00402C38????????????????lea????eax, [ebp+var_big_sn]

.text:00402C3B????????????????lea????ecx, [ebp+String2]

.text:00402C41????????????????push???eax

.text:00402C42????????????????push???2000h

.text:00402C47????????????????push???ecx

.text:00402C48????????????????lea????ecx, [ebp+var_88]

.text:00402C4E????????????????call???sub_402A40???????;大數(shù)轉(zhuǎn)換完, 下一步自然是計(jì)算, 這個(gè)函數(shù)很麻煩, 需要跟進(jìn), 驗(yàn)證序列號(hào)有一部分在這里面。

.text:00402C4E

.text:00402C53????????????????mov????eax, [ebp+dst_buffer]

.text:00402C56????????????????lea????edx, [ebp+String2]

.text:00402C5C????????????????push???edx????????????; lpString2

.text:00402C5D????????????????push???eax????????????; lpString1

.text:00402C5E????????????????call???ds:lstrcpyA???????;將結(jié)果復(fù)制到目的緩沖區(qū), 可以由這兒中斷, 然后直接修改內(nèi)存使eax指向內(nèi)在為我們輸入的用戶名, 繼續(xù)后可以看到, 會(huì)提示注冊成功, 所以后面調(diào)用的函數(shù)我們就可以不用關(guān)心了。

.text:00402C64????????????????lea????ecx, [ebp+var_big_sn]

……………

.text:00402C96

.text:00402C96 sub_402BC0?????endp

IDA有個(gè)很實(shí)用的功能, 它可以讓你修改參數(shù)名字, 它會(huì)在整個(gè)函數(shù)體里統(tǒng)一替換, 在自己確定了某個(gè)參數(shù)和變量的含義后可以修改它為好記的名字, 方便之后的閱讀和理解。 上面的函數(shù)的參數(shù)為我跟蹤替換后的樣子,比最初版本肯定是要好些的。

回到分析上, 在大數(shù)的處理上, 不清楚這個(gè)CM用的什么大數(shù)庫或者為自己寫的吧。 上面瓢的大數(shù)的參數(shù), 比如說var_big_e, 是個(gè)內(nèi)存地址, 其+4后的地址指向malloc出來存放轉(zhuǎn)換出來大數(shù)的地址。

函數(shù):sub_402A40 其中

.text:00402A78

.text:00402A7D????????????????lea????edi, [esi+44h]

.text:00402A80????????????????add????esi, 24h

.text:00402A83????????????????push???edi????????????; big_n

.text:00402A84????????????????push???esi????????????; big_e_10001

.text:00402A85????????????????lea????ecx, [esp+38h+var_AfterDeBuff]

.text:00402A89????????????????push???ebx????????????; big_sn

.text:00402A8A????????????????push???ecx????????????; out is powmod=sn^10001 (mod n)

.text:00402A8B????????????????call???sub_402670

通過查看 402670 調(diào)用前后各參數(shù)地址的變化, 發(fā)現(xiàn)只有ecx指向的緩沖區(qū)有變化, 使用 BigIntCalc代入各參數(shù)計(jì)算, 發(fā)現(xiàn)ecx的結(jié)果恰巧是powmod操作。 由此可以確定第一步, 這個(gè)cm是把序列號(hào)轉(zhuǎn)為大數(shù), 用公鑰解密了的。 那么沒有私鑰好像是不能繼續(xù)下去了, 分解512 好像很花時(shí)間, 我們采用替換公鑰對n的方法繼續(xù)下面的分析, IDA 查看字符串參數(shù), 找到公鑰串所在偏移 4080e0, 相對文件偏移80e0(ida可以在狀態(tài)欄看到的), Ultraedit打開exe, 直接定位并使用我們自己產(chǎn)生的公鑰對中的n替換它。 這樣我們就可得到一個(gè)知道私鑰的修改版本。

重新截入修改后的版本, 在402a8b下斷, 使用私鑰加密我們輸入的用戶名, 加密后的結(jié)果做為序列號(hào)輸入, 點(diǎn)擊注冊, 斷下, 單步運(yùn)行一下, 可以看到ecx指向的大數(shù), 加密前的用戶名的逆序。 ecx為指針, 它指向的大數(shù)實(shí)際地址為其地址+4, 然后再做為地址, 如:

0012d508 14 71 40 00 70 05 8f 00 則其指向的大數(shù)實(shí)際為8f0570, 查看這個(gè)地址, 可以看到調(diào)用402670前為我們輸入的序列號(hào), 調(diào)用后變?yōu)榱宋覀冚斎氲挠脩裘哪嫘颉?本來以為這樣應(yīng)該算是注冊了, 結(jié)果運(yùn)行仍然彈出注冊失敗。 看來并不是簡單的用戶名私鑰加密形成序列號(hào)。 繼續(xù)。

mov????eax, [esp+30h+arg_2000]

lea????edx, [esp+30h+var_AfterDeBuff]

push???2

push???edx????????????; addr after powmod

push???eax

push???ecx????????????; addr String2

call???sub_402B10

402b10, 它有個(gè)參數(shù)為我們期望的外層比較函數(shù)將要使用的地址, 跟進(jìn)它。

402b10 調(diào)用 4024a0, 這個(gè)函數(shù)對解密后的數(shù)據(jù)做了進(jìn)一步的判斷, 如果不符合要求, 就返回一個(gè) 負(fù)數(shù), 解密出來的內(nèi)容并不會(huì)復(fù)制到我們期望的String2的地址中, 這個(gè)函數(shù)我沒分析出來, 后來在密碼學(xué)CM主帖中看到一個(gè)RSA1024有效的注冊碼, RSA1024那個(gè)CM與512這個(gè)反匯編后除了公鑰n長度不一致外其它倒是一樣。 所以看到powmod后的地址的結(jié)果, 從而猜測出解密后數(shù)據(jù)應(yīng)該的內(nèi)容繼而得出4024a0函數(shù)各參數(shù)的意義和作用。

4024a0, 它判斷了解密后數(shù)據(jù)的長度, 然后符合長度限制的它復(fù)制了指定偏移指定位的數(shù)據(jù)到目的地址。 其4個(gè)參數(shù)分別為:

源地址, 目的地址, 偏移位置, 復(fù)制字節(jié)數(shù)。

402b10 3次調(diào)用4024a0, 分別做了如下操作, 1復(fù)制并檢查powmod解密后數(shù)據(jù)倒數(shù)第二個(gè)字節(jié)為2, 2復(fù)制獲得powmod解密后數(shù)據(jù)倒數(shù)3,4字節(jié)做為有效數(shù)據(jù)長度xlen, 3以第二步取到長度復(fù)制偏移0長度xlen的數(shù)據(jù)到目的緩沖區(qū)。

最后, 可以看到sn產(chǎn)生的辦法, 取這樣一個(gè)串, user 256-4-ulen的任意字符 兩字節(jié)ulen 02 任意結(jié)尾。 最后將這個(gè)串逆序 得到 加密前原文, 該串以私鑰加密即得到序列號(hào)。 因?yàn)樘畛渥址拇嬖冢?所以相同用戶名是可以有很多匹配的序列號(hào)的。

結(jié)束:

驗(yàn)證用工具使用了 readyu 大俠提供的, RDLP, BigInterCalc.

下載位置:

bbs1t=47934&highlight=RDLP

bbs1t=49005&highlight=RDLP

附一組修改公鑰n后驗(yàn)證成功的注冊碼

替換的公鑰n:

C1E8FDD98735103BCCEC2032A319FB8ADB1E79D5663486116CF54EE96CE3CB8988974330DEBB3639DC41C0FC0680F0549D94E90410D1B01A58E9D0F265008FD9

加密用私鑰d:

41A1C0B9EDBF921D0B81286CBB33C225FF8053305D858D933C53D33FC2B15F6437E7D80333B01EE6DF23D3BF378F6FAAF366BC5398CF9E74B4E6836174894A59

加密前源串:

01020a00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFeeFFFFFFFFFFFFFFFFFF00636F6F6C737461723134

用戶名:coolstar14

序列號(hào):5BC6E01B6C7D34455FDB584A6B5352187CF9ECCB29FD28E4FFFF3FB33D4A6B27191285FFB23451FA9DDA95EA44909D2B9D54BBC77841F668CD9F6F3BC

本文由用戶糖娃娃分享,如有侵權(quán)請聯(lián)系。如若轉(zhuǎn)載,請注明出處:http://www.zibokaizhi.cn/25702.html

(0)

相關(guān)推薦

發(fā)表回復(fù)

您的郵箱地址不會(huì)被公開。 必填項(xiàng)已用 * 標(biāo)注

主站蜘蛛池模板: 欧美精品欧美极品欧美激情 | 在线无码 | 欧美一区二区三区在线观看视频 | 日韩激情综合网 | 91在线视频播放 | 人人射人人舔 | 久久久久久久久久久精 | 在线播放亚洲 | 欧美日韩中文 | 在线中文日韩 | 黄在线免费观看 | 国产精品视频一区二区三区 | 91视频在线 | 午夜视频 | 国产毛片视频 | 欧美日韩在线视频一区 | 青青草免费在线视频 | 欧美一区二区三区免费 | 亚洲人人舔人人 | 欧美午夜精品一区二区三区电影 | 日本黄色片免费 | 成年人在线观看视频 | 亚洲永久免费 | 天天干天天干天天干天天射 | 久久这里只有精品首页 | 日韩午夜电影在线观看 | 亚洲一区二区三 | 国产免费一区二区三区 | 精品国产一区在线 | 伦理午夜电影免费观看 | 国产欧美在线一区二区 | 国产欧美精品一区二区色综合 | 欧美日本免费 | 男女午夜网站 | 亚洲国产成人在线 | 午夜精品久久久久久久星辰影院 | 国产精品一区二区三区免费 | 九九久久精品 | 国产成人久久777777 | 国产精品99久久久久久大便 | 成人理论片 |