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

正文內(nèi)容

密碼與信息安全實(shí)驗(yàn)指導(dǎo)書(編輯修改稿)

2025-08-16 12:41 本頁面
 

【文章內(nèi)容簡介】 法函數(shù)接口 RC4密碼算法是流算法,也叫序列算法。流算法是從密鑰作為種子產(chǎn)生密鑰流,明文比特流和密鑰流異或即加密。RC4算法由于算法簡潔,速度極快,密鑰長度可變,而且也沒有填充的麻煩,因此在很多場合值得大力推薦。 OpenSSL中RC4算法有兩個函數(shù): RC4_set_key()設(shè)置密鑰,RC4()加解密。可以把RC4看作異或,因此加密兩次即解密。void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data)。void RC4(RC4_KEY *key, unsigned long len, const unsigned char *indata, unsigned char *outdata)。 一個文件加密例子程序 一個最簡單的(但是相當(dāng)安全的)文件加密程序例子,參見和。 例子程序(僅作參考)DES示例程序AES示例程序RC4示例程序需要使用OpenSSL庫RC4算法從OpenSSL中分離出來了,不需要OpenSSL庫一個參考AC2ED的教學(xué)實(shí)現(xiàn),很慢 提示和建議 基于口令的文件加密的安全性依賴于幾個方面:(1) 算法選擇。需要使用經(jīng)過考驗(yàn)的公開的加密算法,如DES/AES/RC4等;(2) 口令的質(zhì)量,以及從口令衍生密鑰的方法。建議使用PKCS5或者類似的思路從口令產(chǎn)生密鑰。(3) 發(fā)現(xiàn)錯誤的密文或口令保護(hù)。在加密前對明文添加校驗(yàn)保護(hù),比如添加MD5/SHA1校驗(yàn)值,如果解密后校驗(yàn)不符則可以斷定密文有篡改或口令不對。 做一個練習(xí)題。如何評價市面上有的“高強(qiáng)度文件夾加密”軟件聲稱“上百G的數(shù)據(jù)僅需1秒鐘完成”?請進(jìn)一步查閱網(wǎng)絡(luò)資料完成分析。 實(shí)驗(yàn)四 公鑰算法實(shí)驗(yàn)使用公鑰密碼算法可以克服協(xié)商對稱密鑰的困難,也可以用來認(rèn)證和簽名。為了避免公鑰算法的速度缺陷,當(dāng)前普遍使用混合密碼體制,即使用公鑰算法做鑒別和協(xié)商會話密鑰,使用對稱算法加密批量數(shù)據(jù)。公鑰密碼算法當(dāng)前仍是RSA算法占統(tǒng)治地位。OpenSSL加密函數(shù)庫中提供了對RSA等算法的支持。 實(shí)驗(yàn)?zāi)康?(1)掌握公鑰算法的使用方法 (2)掌握混合密碼體制的工作原理 實(shí)驗(yàn)內(nèi)容 (1)使用RSA算法加解密和簽名驗(yàn)證 (2)使用混合密碼體制的文件加密 實(shí)驗(yàn)指導(dǎo) 不同于對稱加密算法中加密和解密使用同樣的密鑰,公鑰算法分為加密密鑰K1和解密密鑰K2兩部分,而且從K1很難計算推導(dǎo)出K2。這樣就可以保密K2而公布K1,從而大大簡化了密鑰管理。習(xí)慣上K1稱為公鑰,K2稱為私鑰。 加密使用公鑰,解密使用私鑰。 ENC(P,K1)= C DEC(C,K2)= P RSA加密算法的步驟是這樣的:(1) 找兩個隨機(jī)大素數(shù)p和q;(2) 計算模n=pq和Euler函數(shù)φ(n) =(p1)(q1);(3) 選取數(shù)e后用擴(kuò)展Euclid算法求數(shù)d滿足ed≡1 mod φ(n);(4) 保密私鑰K2=(d, n),發(fā)布公鑰K1=(e, n);(5) 加密明文p時,計算密文c = p^e mod n;(6) 解密c時,計算p = c^d mod n。RSA算法也可以用來簽名:(7) 對消息m,其簽名s = m^d mod n;(8) 驗(yàn)證(m,s)即判斷m =? s^e mod n。下面介紹OpenSSL中RSA算法的函數(shù)接口。 RSA密鑰產(chǎn)生RSA密鑰產(chǎn)生函數(shù)RSA_generate_key(),需要指定模長比特數(shù)bits和公鑰指數(shù)e。另外兩個參數(shù)為NULL即可。RSA * RSA_generate_key(int bits, unsigned long e, void (*callback) (int,int,void *),void *cb_arg)。目前對于長達(dá)663比特的RSA模數(shù)已經(jīng)有成功分解的先例,因此當(dāng)前典型的應(yīng)用場合使用1024比特模長的RSA算法,此時一個分組是128字節(jié)。如果從文件中讀取密鑰,可使用函數(shù)PEM_read_bio_PrivateKey()/ PEM_read_bio_PUBKEY(),其中EVP_PKEY 中包含一個RSA結(jié)構(gòu),可以引用。EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, void *u)。 RSA加密和解密RSA加密函數(shù)RSA_public_encrypt()使用公鑰部分,解密函數(shù)RSA_private_decrypt()使用私鑰。填充方式常用的有兩種RSA_PKCS1_PADDING和RSA_PKCS1_OAEP_PADDING。出錯時返回1。輸入必須比RSA鑰模長短至少11個字節(jié)(在RSA_PKCS1_PADDING時?)。輸出長度等于RSA鑰的模長。int RSA_public_encrypt(int flen, const unsigned char *from,unsigned char *to, RSA *rsa,int padding)。int RSA_private_decrypt(int flen, const unsigned char *from,unsigned char *to, RSA *rsa,int padding)。 RSA簽名和驗(yàn)證 簽名使用私鑰,驗(yàn)證使用公鑰。RSA簽名操作是把被簽署消息的散列值編碼后用私鑰加密,因此函數(shù)中參數(shù)type用來指示散列函數(shù)的類型,一般是NID_md5或NID_sha1。正確情況下返回0。int RSA_sign(int type, const unsigned char *m, unsigned int m_length, unsigned char *sigret, unsigned int *siglen, RSA *rsa)。int RSA_verify(int type, const unsigned char *m, unsigned int m_length, unsigned char *sigbuf, unsigned int siglen, RSA *rsa)。 RSA算法例子程序(供參考)RSA加解密例子RSA簽名和驗(yàn)證 設(shè)計:簽名并加密(選做) 在公鑰體制中,每個人都有一對公鑰私鑰,可以使用這對密鑰加密保護(hù)自己的文件。通常使用對稱算法加密文件,而用公鑰算法加密對稱算法的密鑰,此即混合密碼體制。一般使用隨機(jī)數(shù)產(chǎn)生函數(shù)(OpenSSL庫中有)產(chǎn)生隨機(jī)比特用做對稱密鑰Key,選擇使用DES/AES/RC4等算法加密文件正文,而使用RSA算法加密對稱密鑰。公式化表示為: RSA(Key,K1)|| RC4(Message,Key) 解密時先用私鑰解密得到Key,再用Key解密得到Message。 如果想對消息簽名以發(fā)現(xiàn)變化或防篡改,通常則使用私鑰對原文的散列值進(jìn)行簽名,簽名值和原文一起存放: Message||RSA(Message,K2) 簽名和加密可以結(jié)合起來,比如先用自己的私鑰簽名,再用對方的公鑰加密,這就是PGP加密郵件系統(tǒng)的基本思路。關(guān)于私鑰的保密問題。私鑰一般使用口令保護(hù)(參見前一個實(shí)驗(yàn)),并且操作系統(tǒng)往往也限制對私鑰密文的訪問。 要求和建議 根據(jù)上面講述的思路,進(jìn)一步細(xì)化方案,并爭取能編程實(shí)現(xiàn)這樣一個功能的程序。 除了OpenSSL之外,還有一些其它的環(huán)境可以支持對稱及非對稱加密算法,比如Java/JDK中。不熟悉C/C++而擅長Java的可以考慮使用Java環(huán)境實(shí)現(xiàn)本實(shí)驗(yàn)題目。 關(guān)于隨機(jī)數(shù)產(chǎn)生和散列函數(shù),可以提前看一下相關(guān)資料。 實(shí)驗(yàn)五 微軟CA組件安裝和配置 實(shí)驗(yàn)?zāi)康? 通過安裝和配置虛擬機(jī)的WINDOWS2000 SERVER操作系統(tǒng)中集成的CA組件,實(shí)現(xiàn)瀏覽器證書和WEB證書的簽發(fā),進(jìn)一步了解微軟公司的PKI技術(shù)框架,并能夠使用該模塊,在實(shí)際系統(tǒng)中進(jìn)一步應(yīng)用(也可以在安裝WINDOWS 2000 SERVER 的時候一并選擇安裝). 實(shí)驗(yàn)內(nèi)容1.安裝CA組件。2.配置CA組件。3.申請證書、簽發(fā)證書、下載證書等。 實(shí)驗(yàn)指導(dǎo)證書授權(quán)服務(wù)器是Windows 2000Server的一個附件,它放在Windows 2000 Server的安裝盤上。默認(rèn)安裝WINDOWS操作系統(tǒng)時是不安裝的(除非特別選擇)。它可讓你為建立和管理X509版本3的數(shù)字證書創(chuàng)建一個自定制的服務(wù)以作證書之用。你可以為Internet或者公司的內(nèi)部網(wǎng)創(chuàng)建服務(wù)器證書,從而可讓你的組織完全控制它自己的證書管理策略。設(shè)置 CA: 1. 單擊 “開始” ,指向 “設(shè)置” ,然后單擊 “控制面板”。 2. 雙擊 “添加/刪除程序” 。 3. 單擊 “添加/刪除 Windows 組件” 。 4. 單擊 “下一步”。 5. 單擊 “證書服務(wù)” 復(fù)選框,將其選中,然后單擊 “下一步” 。 6. 單擊相應(yīng)的 CA 類型??捎眠x項(xiàng)右側(cè)顯示每個頒發(fā)機(jī)構(gòu)的說明。 7. 如果要更改默認(rèn)密碼設(shè)置,請單擊“ 高級選項(xiàng) ”復(fù)選框,將其選中。只有在您知道的確需要這么做時,才選中此復(fù)選框。 8. 單擊 “下一步” 。 9. 如果選中了“ 高級選項(xiàng) ”復(fù)選框,系統(tǒng)將提示您更改“公鑰和私鑰對”選項(xiàng)。如果未選中“ 高級選項(xiàng) ”復(fù)選框,則繼續(xù)執(zhí)行下一步。 10. 顯示證書頒發(fā)機(jī)構(gòu)標(biāo)識信息 窗口。填入相應(yīng)的站點(diǎn)和組織信息。請注意,CA 信息非常重要,因?yàn)橐盟鼇順?biāo)識所創(chuàng)建的 CA 對象。完成后單擊 “下一步” 。 11. 系統(tǒng)會提示您定義證書數(shù)據(jù)庫的位置、配置信息和“證書吊銷列表”(CRL)。企業(yè) CA 始終將其信息(包括 CRL)存儲在 Active Directory 中。Microsoft 建議您選中 “共享文件夾” 復(fù)選框。這樣就指定了存儲 CA 配置信息的文件夾位置。所有 CA 配置信息都應(yīng)該存儲在一個文件夾中。 12. 單擊 “下一步” 。 13. 如果 IIS 處于運(yùn)行狀態(tài),請將其關(guān)閉。單擊 “確定” 以停止 IIS。安裝 Web 組件之前必須先停止 IIS。如果沒有安裝 IIS,則繼續(xù)執(zhí)行下一步。 14. 安裝次級 CA 時,您需要:單擊 “瀏覽” ,找到聯(lián)機(jī) CA,或者,如果您的請求是定向到專用 CA 或無法從網(wǎng)絡(luò)訪問的 CA,則需要單擊“ 將申請保存到一個文件 ”。 15. 等待安裝完成。 16. 單擊 完成 。 驗(yàn)證“證書服務(wù)器”安裝: 要驗(yàn)證安裝,您可以使用以下任一方法: (1) 在命令提示下鍵入 net start ,確認(rèn)“證書”服務(wù)正在運(yùn)行。 (2)申請證書,方法是單擊 “開始” ,指向 “運(yùn)行” ,鍵入 mmc ,單擊 “確定” ,在 “控制臺” 菜單上單擊“ 添加/刪除管理單元 ”,添加 證書 管理單元,單擊要管理的 我的用戶帳戶 ,右鍵單擊 個人 文件夾,單擊 所有任務(wù) ,然后單擊“ 申請新證書 ”?!白C書申請向?qū)А睉?yīng)該啟動。 (3)對于獨(dú)立 CA,您可以使用 Internet Explorer 5 連接到“:// 服務(wù)器名 /CertSrv”(其中 服務(wù)器名 是服務(wù)器的名稱),以此來申請新證書。具體證書申請方法,請參見幫助內(nèi)容。 實(shí)驗(yàn)六 EJBCA系統(tǒng)的安裝和配置 實(shí)驗(yàn)?zāi)康耐ㄟ^EJBCA系統(tǒng)的安裝和配置,一方面了解大型軟件的基本安裝步驟,更重要的是了解和掌握作為一個典型的大型CA系統(tǒng)軟件,其功能模塊是如何構(gòu)成的,實(shí)現(xiàn)的基本功能有哪些,掌握其優(yōu)缺點(diǎn),并能根據(jù)目前的應(yīng)用環(huán)境,寫出一個結(jié)構(gòu)性分析報告,盡量提出進(jìn)一步完善的方面,使之更適合實(shí)際應(yīng)用的需要。 實(shí)驗(yàn)內(nèi)容獨(dú)立完成EJBCA系統(tǒng)的各個模塊的安裝和配置,并能完成多種數(shù)字證書的申請、簽發(fā)、下載、注銷,黑名單的生成、下載等CA基本功能。實(shí)驗(yàn)所需的具體軟件環(huán)境和所需的軟件包 VMWARE虛擬硬件環(huán)境下的WINDOWS2000操作系統(tǒng),作為基本安裝環(huán)境。EJBCA完全采用Java編寫,能夠在任何采用J2EE服務(wù)器的平臺上運(yùn)行。開發(fā)和測試是在Linux和Windows2000上進(jìn)行的。本文主要介紹針對于Windows XP SP2操作系統(tǒng)平臺的安裝、部署與應(yīng)用。構(gòu)筑系統(tǒng)默認(rèn)的配置平臺, ()外,尚需如下軟件:1. ()JDK是Sun公司開發(fā)的Java虛擬機(jī),及Java開發(fā)工具。,編譯、部署、安裝會出現(xiàn)諸多異常。2. ()JBoss是一個運(yùn)行EJB的J2EE應(yīng)用服務(wù)器。它是開放源代碼的項(xiàng)目,遵循最新的J2EE規(guī)范。從JBoss項(xiàng)目開始至今,它已經(jīng)從一個EJB容器發(fā)展成為一個基于的J2EE的一個web 操作系統(tǒng)(operating system for web),它體現(xiàn)了J2EE規(guī)范中最新的技術(shù),并且它還在the JavaWorld Editors39。 Choice 2002評選中獲得“最佳Java應(yīng)用服務(wù)器”大獎。3. ()JCE是Java(TM) Cryptography Extension 的簡寫。由于進(jìn)口控制的限制,J2SDK綁定的JCE policy文件,僅允許有限的加密強(qiáng)度。所以,運(yùn)行EJBCA需要下載無加密強(qiáng)度限制的加密擴(kuò)展文件。4. Apache Ant 是一個基于 Java 的生成工具, 這個工具的名稱是 another neat tool(另一個整潔的工具) 的首字母縮寫。Ant 與C 或 C++ 中的傳統(tǒng)項(xiàng)目經(jīng)常使用 make 工具類似,它也定義生成文件之間的依賴關(guān)系;然而,與使用特定于平臺的 shell 命令來實(shí)現(xiàn)生成過程所不同的是,它使用跨平臺的 Java 類。使用 Ant,您能夠編寫單個生成文件,這個生成文件在任何 Java 平臺上都一致地操作,Ant 的其他
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1