⑴ 如何在oracle 10g r2中實現透明數據加密
設置加密密鑰:
Oracle 透明數據加密提供了實施加密所必需的關鍵管理基礎架構。 加密的工作原理是將明文數據以及秘密(稱作密鑰)傳遞到加密程序中。 加密程序使用提供的密鑰對明文數據進行加密,然後返回加密數據。 以往,創建和維護密鑰的任務由應用程序完成。 Oracle 透明數據加密通過為整個資料庫自動生成一個萬能密鑰解決了此問題。 在啟動 Oracle 資料庫時,管理員必須使用不同於系統口令或 DBA 口令的口令打開一個 Oracle Wallet 對象。 然後,管理員對資料庫萬能密鑰進行初始化。 萬能密鑰是自動生成的。
性能:
由於索引數據未被加密,因此加密通常會影響現有的應用程序索引。 Oracle 透明數據加密對與給定應用程序表關聯的索引值進行加密。 這意味著應用程序中的相等搜索對性能的影響很小,甚至沒有任何影響。 例如,假設應用程序 card_id存在一個索引,並且此應用程序執行以下語句:
SQL> Select cash from credit_card where card_id = '1025023590';
Oracle 資料庫將使用現有的應用程序索引,盡管 card_id信息已經在資料庫中加密。
准備用於加密的資料庫:
在本部分內容中,您將更新 sqlnet.ora、創建一個加密錢夾 (ewallet.p12)、打開此錢夾並為 TDE創建萬能密鑰。執行以下操作:
1. 您需要更新 sqlnet.ora 文件以包含一個 ENCRYPTED_WALLET_LOCATION 條目。打開一個終端窗口,然後輸入以下命令:
cd $ORACLE_HOME/network/admin
gedit sqlnet.ora
將以下條目添加到文件末尾:
ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/opt/oracle/admin/test97/wallet/)))
如果不加這一項的話,則會提示下面錯誤:
SQL> alter system set key identified by "hurray"
2 ;
alter system set key identified by "hurray"
*
ERROR at line 1:
ORA-28368: cannot auto-create wallet
/opt/oracle/admin/test97/wallet/ 目錄是用來存放生成的錢夾的。
可以為加密錢夾選擇任何目錄,但路徑不應指向在資料庫安裝過程中創建的標准模糊錢夾(cwallet.sso)。
2. 接下來,您需要打開錢夾並創建萬能加密密鑰。從終端窗口中,輸入以下命令:
connect / as sysdbaalter system set key identified by "welcome1";
此命令的作用為:
l 如果指定的目錄中不存在加密錢夾,則將創建加密錢夾 (ewallet.p12)、打開此錢夾並創建/重新創建 TDE 的萬能密鑰。
l 如果指定目錄中存在加密錢夾,則將打開此錢夾並創建/重新創建 TDE 的萬能密鑰。
之後,就可以測試數據了。
下面是實驗記錄:
alter system set key identified by "welcome1";
SQL> conn dodd/dodd123
create table test (id number,credit_card_number varchar2(16) ENCRYPT NO SALT);
SQL> insert into test values(1,'1231243242');
1 row created.
SQL> insert into test values(2,'33245235');
SQL> commit;
Commit complete.
SQL> select * from test;
ID CREDIT_CARD_NUMB
---------- ----------------
1 1231243242
2 33245235
可見,數據查看是明文,因為這個時候,加密錢夾已經打開,數據可以解密。
這時,停止資料庫,再打開:
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> SQL> startup
ORACLE instance started.
Total System Global Area 524288000 bytes
Fixed Size 1979968 bytes
Variable Size 138414528 bytes
Database Buffers 377487360 bytes
Redo Buffers 6406144 bytes
Database mounted.
Database opened.
SQL> select * from dodd.test;
select * from dodd.test
*
ERROR at line 1:
ORA-28365: wallet is not open
SQL> select id from dodd.test;
ID
----------
1
2
可以看到,因為資料庫重啟後,加密錢夾處於關閉狀態,這時只要查詢到加密的列,會提示加密錢夾沒有打開。
如果用戶想打開錢夾,必須具有alter system許可權。
下面打開wallet:
SQL> conn / as sysdba
Connected.
SQL> alter system set wallet open identified by "welcome1";
System altered.
SQL> conn dodd/dodd123
Connected.
SQL> select * from test;
ID CREDIT_CARD_NUMB
---------- ----------------
1 1231243242
2 33245235
可以看到,加密錢夾打開後,數據可以被解密。
還有一條:sys用戶的表不能被加密。
可見:Oracle TDE是在數據層面上對表裡的數據加密,而且不會影響資料庫現有的許可權控制策略。
salt實際上就是在加密過程中引入一個隨機性。簡單的說,就是一般來說,同樣的明文產生同樣的密文,這樣就導致容易被解密者通過分析詞頻之類的方式(加解密我不太懂)來通過密文破解明文,如果指定salt,那麼即使同樣的明文加密後的密文也是不一樣的。
no salt的話,自然就是相同的明文會產生相同的密文了。對於索引來說,要求no salt也就可以理解了
丟失ewallet加密錢夾的話,是不能再解密數據的。
Oracle 10gR2的 TDE 特性,對於防止機密信息的泄漏能起到事半功倍的作用!
⑵ DES加密問題
DES對64位二進制數據加密,產生64位密文數據,實際密鑰長度為56位(有8位用於奇偶校驗,解密時的過程和加密時相似,但密鑰的順序正好相反),這個標准由美國國家安全局和國家標准與技術局來管理。DES的成功應用是在銀行業中的電子資金轉賬(EFT)領域中。現在DES也可由硬體實現,AT&T首先用LSI晶元實現了DES的全部工作模式,該產品稱為數據加密處理機DEP。另一個系統是國際數據加密演算法(IDEA),它比DES的加密性好,而且計算機功能也不需要那麼強。在未來,它的應用將被推廣到各個領域。IDEA加密標准由PGP(Pretty Good Privacy)系統使用,PGP是一種可以為普通電子郵件用戶提供加密、解密方案的安全系統。在PGP系統中,使用IDEA(分組長度128bit)、RSA(用於數字簽名、密鑰管理)、MD5(用於數據壓縮)演算法,它不但可以對你的郵件保密以防止非授權者閱讀,還能對你的郵件加以數字簽名從而使收信人確信郵件是由你發出。--
⑶ 解密MD5解密MD5解密MD5解密MD5解密MD5解密MD5
d5密文破解(解密)可以說是網路攻擊中的一個必不可少的環節,是黑客工具中的一個重要「輔助工具」。md5解密主要用於網路攻擊,在對網站等進行入侵過程,有可能獲得管理員或者其他用戶的賬號和密碼值(md5加密後的值)。獲得的密碼值有兩種情況,一種是明文,另外一種就是對明文進行了加密。如果密碼值是加密的,這個時候就需要對密碼值進行判斷,如果是採取md5加密,則可以通過MD5Crack3等軟體進行破解。王小雲教授的md5密碼碰撞破解演算法沒有公布,因此目前Md5解密方式主要採取暴力破解,
即軟體通過演算法生成字典,然後使用md5函數加密該字典中的值形成密文,接著跟需要破解的密文進行比較,如果相同則認為破解成功。目前網上有很多網站提供md5加密或者加密值查詢,將加密後的md5值,輸入到網站中,如果網站資料庫中存在該md5,則該值對應的md5加密前的值就為密碼。本案例介紹如何使用MD5Crack3以及一些在線的網站來進行破解;MD5Crack3是阿獃寫的一款md5密碼破解軟體,其網站地址:http://www.adintr.com/subject/mdcrk/index.htm,目前已經發布了MD5Crack4.0版本,也可以到我的blog(http://simeon.blog.51cto.com/18680/144558)去下載。
(一)在線生成md5密碼值
1.有關md5加解密知識
Md5密文破解(解密)可以說是網路攻擊中的一個必不可少的環節,是黑客工具中的一個重要「輔助工具」。md5解密主要用於網路攻擊,在對網站等進行入侵過程,有可能獲得管理員或者其他用戶的賬號和密碼值(md5加密後的值)。獲得的密碼值有兩種情況,一種是明文,另外一種就是對明文進行了加密。如果密碼值是加密的,這個時候就需要對密碼值進行判斷,如果是採取md5加密,則可以通過MD5Crack4等軟體進行破解。王小雲教授的md5密碼碰撞破解演算法沒有公布,因此目前Md5解密方式主要採取暴力破解,
即軟體通過演算法生成字典,然後使用md5函數加密該字典中的值形成密文,接著跟需要破解的密文進行比較,如果相同則認為破解成功。目前網上有很多網站提供md5加密或者加密值查詢,將加密後的md5值,輸入到網站中,如果網站資料庫中存在該md5,則該值對應的md5加密前的值就為密碼。
2.通過cmd5網站生成md5密碼
在瀏覽器中輸入地址「http://www.cmd5.com/」,在輸入框中輸入想要加密的原始密碼,然後單擊「md5加密或解密」按鈕即可,如圖1所示,原始密碼為「goodman88」,加密後的密碼值為:
MD5(goodman88,32)
=
MD5(goodman88,16)
=
15259023faa219f5
圖1
md5加密
作為實驗數據,我們在生成一組生日的md5密碼如下:
MD5(19801230,32)
=
MD5(19801230,16)
=
336a8eb3ebc1e42e
(二)在線破解md5密碼值
1.通過cmd5網站破解md5密碼
在cmd5網站的輸入框中輸入剛才加密後的md5
32值「」,然後單擊「md5加密或解密」按鈕即可,如圖2所示,未能成功破解。
圖2
通過cmd5網站未能破解md5密碼
將第二個生日加密後的md5值「」,放入cmd5網站進行破解,很快其結果就出來了,如圖3所示。
圖3
破解簡單的數字密碼
2.在線md5破解網站收費破解高難度的md5密碼值
一些在線網站提供的md5密碼破解只能破解已經收錄和一些簡單的密碼,對於稍微復雜一點的密碼,都不容易被破解;而且對一些稍微有點難度的md5密碼值,如果資料庫中有,在線網站是要求付費的,例如用一個復雜一點的md5值進行破解,如圖4所示,提示找到,但是要求進行付費。
圖4要求付費才能查看md5密碼值
(三)使用字典暴力破解md5密碼值
1.再次生成md5密碼值
再在cmd5網站生成原密碼為「jimmychu246」的md5密碼值為:
MD5(jimmychu246,32)
=
MD5(jimmychu246,16)
=
b6b2e5aaca9fd171
直接運行md5crack4,運行界面如圖5所示。
圖5
md5crack4程序主界面
2.在md5crack4中驗證md5值
將需要破解的md5值()粘貼到「破解單個密文(Single
Cryptograph)」輸入框中,如圖6所示,如果該md5值是正確的,則會在「破解單個密文」輸入框下方顯示黑色的「有效(valid)」兩個字,否則顯示「valid」為灰色。
3.使用字典進行破解
在「字元設置(Plaintext
Setting)」中選擇「字典(Dictionary)」,並在「N0.1」、「N0.2」以及「N0.3」中選擇三個不同的字典,選擇完畢後,單擊「Start」按鈕開始md5破解,破解結束後會給出相應的提示,如圖7所示,在本案例中使用字典破解成功,在Result中顯示破解的密碼為「jimmychu246」。
圖7使用字典進行破解
4.「使用字元集(Char
Muster)」中的數字進行破解
將上面生成的數字md5值「336a8eb3ebc1e42e」放入單一md5密碼破解輸入框中,選中「Char
Muster」後,依次可以選擇「Number」、「lowercase」、「majuscule」、「special
char」以及「custom」進行破解,在本例中使用數字進行破擊,因此
「最小長度(Min
Length)」中設置為「1」,「最大長度(Max
Length)」中設置為「8」,然後單擊「開始」按鈕,使用數字進行md5破解,嘗試破解密碼位數從1~9999999之間的所有數字組合,如圖8所示,其密碼值破解成功,破解結果為「336a8eb3ebc1e42e
--->
[19801230]」。
圖8
使用數字進行破解
&說明
(1)在md5crack4中還可以定義數字、大小字母、特殊字元的組合來進行破解。
(2)如果計算機配置比較好,可以設置更多線程。
(3)如果自定義進行破解,建議先選擇使用數字,然後依次是數字、大小字母、特殊字元的組合。破解時先易後難,否則破解時間太長。
(4)在md5crack4還可以「使用插件」進行破解。
(5)在md5crack4中還可以設置軟體顯示的語言版本,一共有中文簡體和英語兩個版本,單擊主界面中的設置(Option),即可進行設置,如圖9所示。
圖9
設置md5crack4
5.一次破解多個密碼
將需要破解的md5密碼全部存放到一個txt文件中,每一個密碼獨立一行,然後在md5crack4中單擊「破解多個密文」,選擇剛才編輯的md5密碼文件,如圖10所示,選擇一種破解方式,在本案例中選擇使用數字字典進行破解,最後單擊「開始」按鈕開始破解。
圖10
破解多個md5密碼值
在md5crack4右下方會顯示破解結果,單擊「日誌」可以查看md5值校驗等日誌信息,單擊「結果」可以查看破解的結果,如圖11所示,在結果中會將md5值與原始密碼進行一一對應。
圖11
破解結果
Md5加解密是網路攻防中必須掌握的知識,本文介紹了使用md5cracker以及通過網站來對md5值進行破解,對md5破解,可以先在一些md5破解網站進行破解,如果未能破解,則可以在本地通過md5cracker進行破解。
ps:轉載至安天365
⑷ 《TrueCrypt加密系統》實驗報告
嚎哥,給你,分也太少了把
【實驗目的】
1. 了解TrueCrypt加密系統的功能、工作原理和使用方法。
2. 在實踐中學習TrueCrypt加密系統的使用,並能夠加以運用。
3. 能夠使用TrueCrypt加密系統進行加密。
4. 聯系實際,加深對計算機技術的了解和認識。
【實驗環境】
TrueCrypt是一款免費的PC數據加密軟體,支持Vista和Linux系統,可以在硬碟或快閃記憶體上創建一個或多個虛擬磁碟,所有虛擬磁碟上的文件都被自動加密,加密後需要通過密碼來進行訪問,由於加入了AES-256加密演算法,使得加密數據幾乎不可能被破解,對於沒有商務安全功能的普通電腦,或者不捨得購買加密快閃記憶體的商務用戶,TrueCrypt可以讓他們的數據存儲安全可靠。
【實驗內容】
⑸ 用於文件加密的演算法有哪些,以及它們的原理
MD5全稱"message-digest algorithm 5"(信息-摘要演算法)。
90年代初由MIT計算機科學實驗室和RSA Data Security Inc聯合開發。
MD5演算法採用128位加密方式,即使一台計算機每秒可嘗試10億條明文,要跑出原始明文也要1022年。在802.1X認證中,一直使用此演算法。
加密演算法之二---ELGamal
ELGamal演算法是一種較為常見的加密演算法,他基於1984年提出的公鑰密碼體制和橢圓曲線加密體系。即能用於數據加密,又能用於數字簽名,起安全性依賴於計算有限領域上離散對數這一數學難題。
著名的DSS和Schnorr和美國國家標准X9.30-199X中ELGamal為唯一認可加密方式。並且橢圓曲線密碼加密體系增強了ELGamal演算法的安全性。
ELGamal在加密過程中,生成的密文長度是明文的兩倍。且每次加密後都會在密文中生成一個隨即數K。
加密演算法之三---BlowFish
BlowFish演算法由著名的密碼學專家部魯斯·施耐爾所開發,是一個基於64位分組及可變密鑰長度[32-448位]的分組密碼演算法。
BlowFish演算法的核心加密函數名為BF_En,為一種對稱演算法,加密強度不夠。
加密演算法之四---SHA
SHA(即Secure Hash Algorithm,安全散列演算法)是一種常用的數據加密演算法,由美國國家標准與技術局於1993年做為聯邦信息處理標准公布,先版本SHA-1,SHA-2。
SHA演算法與MD5類似,同樣按2bit數據塊為單位來處理輸入,但它能產生160bit的信息摘要,具有比MD5更強的安全性。
SHA收到一段明文,然後以不可逆方式將它轉為一段密文,該演算法被廣泛運用於數字簽名及電子商務交易的身份認證中。(
⑹ 誰能用PGP加密一個文件給我啊 學校做實驗要用
658mkn :
狂吐!!!!~~~ 把這種垃圾東西「文件夾加密超級大師,」 與 PGP 相提並論,。你真有才啊。
樓主真想做實驗,我可以給你,我一直用PGP!
⑺ 要和實驗室的師兄共用一台電腦,想給一些隱私資料加密,怎麼做比較可靠呢
有水平的提問呀
⑻ 保護數據在傳輸過程中安全的唯一實用的方法是什麼
是數據加密。
數據加密被公認為是保護數據傳輸安全惟一實用的方法和保護存儲數據安全的有效方法,它是數據保護在技術上最重要的防線。
數據加密技術是最基本的安全技術,被譽為信息安全的核心,最初主要用於保證數據在存儲和傳輸過程中的保密性。
它通過變換和置換等各種方法將被保護信息置換成密文,然後再進行信息的存儲或傳輸,即使加密信息在存儲或者傳輸過程為非授權人員所獲得,也可以保證這些信息不為其認知,從而達到保護信息的目的。該方法的保密性直接取決於所採用的密碼演算法和密鑰長度。
數據加密的術語有:
1、明文,即原始的或未加密的數據。通過加密演算法對其進行加密,加密演算法的輸入信息為明文和密鑰;
2、密文,明文加密後的格式,是加密演算法的輸出信息。加密演算法是公開的,而密鑰則是不公開的。密文不應為無密鑰的用戶理解,用於數據的存儲以及傳輸;
3、密鑰,是由數字、字母或特殊符號組成的字元串,用它控制數據加密、解密的過程;
4、加密,把明文轉換為密文的過程;
5、加密演算法,加密所採用的變換方法;
6、解密,對密文實施與加密相逆的變換,從而獲得明文的過程;
7、解密演算法,解密所採用的變換方法。
數據加密方法:
1、異或
異或演算法的好處便是數A和數B異或後,把結果再和數A異或便可得到B,或者和數B異或可重新得到數據A。利用異或的這個特性可簡單實現數據的加密和解密演算法。
2、構建加密機加密
加密機實際上便是異或中的其中一個數,可以根據自己的需要隨意構建。
⑼ 密碼學第一次實驗報告:DES演算法與差分攻擊
DES演算法與差分攻擊
了解DES演算法基本工作原理,體會並理解分組密碼演算法的混淆和擴散概念。了解Sbox工作原理及效果。了解DES的工作模式和填充方式。了解差分攻擊
的基本原理。
IP置換目的是將輸入的64位數據塊按位重新組合,並把輸出分為L0、R0兩部分,每部分各長32位。
表中的數字代表新數據中此位置的數據在原數據中的位置,即原數據塊的第58位放到新數據的第1位,第50位放到第2位,……依此類推,第7位放到第64位。置換後的數據分為L0和R0兩部分,L0為新數據的左32位,R0為新數據的右32位。
不考慮每個位元組的第8位,DES的密鑰由64位減至56位,每個位元組的第8位作為奇偶校驗位。產生的56位密鑰由下表生成(注意表中沒有8,16,24,32,40,48,56和64這8位):
在DES的每一輪中,從56位密鑰產生出不同的48位子密鑰,確定這些子密鑰的方式如下:
1).將56位的密鑰分成兩部分,每部分28位。
2).根據輪數,這兩部分分別循環左移1位或2位。每輪移動的位數如下表:
移動後,從56位中選出48位。這個過程中,既置換了每位的順序,又選擇了子密鑰,因此稱為壓縮置換。壓縮置換規則如下表(注意表中沒有9,18,22,25,35,38,43和54這8位):
壓縮後的密鑰與擴展分組異或以後得到48位的數據,將這個數據送人S盒,進行替代運算。替代由8個不同的S盒完成,每個S盒有6位輸入4位輸出。48位輸入分為8個6位的分組,一個分組對應一個S盒,對應的S盒對各組進行代替操作。
一個S盒就是一個4行16列的表,盒中的每一項都是一個4位的數。S盒的6個輸入確定了其對應的輸出在哪一行哪一列,輸入的高低兩位做為行數H,中間四位做為列數L,在S-BOX中查找第H行L列對應的數據(<32)。
S盒代替時DES演算法的關鍵步驟,所有的其他的運算都是線性的,易於分析,而S盒是非線性的,相比於其他步驟,提供了更好安全性
S盒代替運算的32位輸出按照P盒進行置換。該置換把輸入的每位映射到輸出位,任何一位不能被映射兩次,也不能被略去,映射規則如下表:
表中的數字代表原數據中此位置的數據在新數據中的位置,即原數據塊的第16位放到新數據的第1位,第7位放到第2位,……依此類推,第25位放到第32位。
末置換是初始置換的逆過程,DES最後一輪後,左、右兩半部分並未進行交換,而是兩部分合並形成一個分組做為末置換的輸入。末置換規則如下表:
置換方法同上
實際應用中,DES是根據其加密演算法所定義的明文分組的大小(64bits),將數據割成若干64bits的加密區塊,再以加密區塊為單位,分別進行加密處理。根據數據加密時每個加密區塊間的關聯方式,可以分為4種加密模式,包括ECB,CBC,CFB及OFB。
DES演算法其中主要起作用的演算法有:矩陣置換、擴展、左移、異或、左右互換、s盒作用 。其中對攻擊者來說最麻煩的要說s盒一步,破解des體系關鍵在s盒。
乍一看六位輸入與四位輸出貌似沒什麼關系。但事實上,對於同一個s盒具有相同輸入異或的所有輸入六比特組的輸出四比特異或值有一定規律。
具體些說,對於輸入異或相同的明文對B,B*僅有32組,而這32組輸出異或卻並不是均勻分布,而是僅分布在很少的幾個四比特值中;也可以說具有相同輸入異或且輸出四比特異或也相同的六比特輸入數量不多且分布不均勻。正是這種輸入輸出輸出異或間的不均勻性可以被攻擊者利用並破解密鑰。
結果表格: