系統安全之數據加密解密

1.爲何要進行數據加密?算法

  若不對數據加密,不免在進程間通訊時,會有第三者竊聽甚至修改通訊數據;所以爲了更好的確保數據的機密性,完整性,須要對數據加密。
安全

2.加密方案組成ide

    加密算法及協議
工具

    加密密鑰
加密

3.經常使用的數據加密算法spa

    1.對稱加密算法:
進程

        特色:加密密鑰和解密密鑰相同(祕鑰長度通常爲56bits,128bits, 192bits, 256bits)
md5

           主流的加密算法資源

            DES
it

            3DES

            AES

            TWOFISH

            ....

        其餘特性:    

           1.對於一對通訊主機,須要保證密鑰的惟一性

           2. 會對原始的數據分割成固定塊大小逐個加密

           3.加密和解密的速度很是快(加密密鑰的長度比較短)

        缺陷:

           1.由於須要保證密鑰的惟一性,當一臺主機要和多臺主機通訊時,須要擁有大量的密鑰

           2.密鑰須要一臺主機發送給另外一臺主機,途中很難保證密鑰安全,因此密鑰分發困難

    2.非對稱的加密算法(也叫公鑰加密算法)

        特色:密鑰不一樣;由私鑰和用私鑰抽取生成的公鑰組成

            私鑰:由特定的工具生成,僅由使用者本身保存,須要保證必定的私密性(512bits, 1024bits, 2048bits, 4096bits, 8192bits, 16384bits)

            公鑰:由特定的工具,從私鑰中抽取,抽取的其中不重要的一部分,能夠公開

            主流的加密算法

                RSA:加密,數字簽名;

DSA:數字簽名算法;

Elgamal:

        其餘特性:

                1.在加密和解密的時候,私鑰加密的數據只能其對應的公鑰才能解開,公鑰加密的數據只能對應的私鑰才能解開

                 2.私鑰長度比較長,加密後的數據更安全

        缺陷:

                由於祕鑰太長,加密數據會消耗較多的系統資源;因此不多用來加密大量數據

        公鑰加密的用途

                1.密鑰交換:發送方用接收方的公鑰去加密本身的密鑰,接收方收到後能夠用本身的私鑰解密

                2.數字簽名:用本身的私鑰加密數據,而後將公鑰發送給接收方,讓接收方解密


        單向加密算法

只能加密不能解密,又稱爲"數據指紋提取";數據指紋即數據的特徵碼;

主流的單向加密算法:

md5:Message Digest version 5,信息摘要算法第5版;

128bits定長輸出;

sha系列:Security Hash Algorithm,安全的哈希算法;

sha-1:160bits定長輸出;

sha224:224bits定長輸出;

sha256:256bits

sha384:384bits

sha512:512bits

                特性:

                    1.定長輸出:不管加密的明文有多長,輸出都是定長的

                    2.雪崩效應:若明文有一絲變化,其加密後內容,差異很大

4.如何在通訊時加密數據,使通訊更爲安全?

     1.發送方先用單向加密抽出數據中的一部分加密,獲得結果稱爲特徵碼;同時用本身的私鑰加密特徵碼

     2.發送方用對稱加密去加密數據;同時用接收方的公鑰加密對稱密鑰

     3.接收方用發送方的公鑰解密特徵碼,認證發送方

     4.接收方用本身的私鑰解密對稱密鑰,隨後用解密出來的密鑰解密數據

     5.收到數據後,再用單向加密得到特徵碼,與以前獲得的特徵碼按位對比,確保數據信息的完整性

相關文章
相關標籤/搜索