時間:2022-12-06 10:41:28
開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇數據加密技術,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。
常永亮 (飛行試驗研究院測試所 陜西西安 710089)
【摘要】-信息安全的核心就是數據庫的安全,也就是說數據庫加密是信息安全的核心問題。數據庫數據的安全問題越來越受到重視,數據庫加密技術的應用極大的解決了數據庫中數據的安全問題,但實現方法各有側重,下文主要就數據庫加密技術方法和實現簡要的概述,以供大家參考和共同學習。
【
關鍵詞: 信息數據 安全 加密技術
當前形勢下,人們進行信息數據的傳遞與交流主要面臨著兩個方面的信息安全影響:人為因素和非人為因素。其中人為因素是指:黑客、病毒、木馬、電子欺騙等;非人為因素是指:不可抗力的自然災害如火災、電磁波干擾、或者是計算機硬件故障、部件損壞等。在諸多因素的制約下,如果不對信息數據進行必要的加密處理,我們傳遞的信息數據就可能泄露,被不法分子獲得,損害我們自身以及他人的根本利益,甚至造成國家安全危害。因此,信息數據的安全和加密在當前形勢下對人們的生活來說是必不可少的,通過信息數據加密,信息數據有了安全保障,人們不必再顧忌信息數據的泄露,能夠放心地在網絡上完成便捷的信息數據傳遞與交流。
1 信息數據安全與加密的必要外部條件
1.1 計算機安全。每一個計算機網絡用戶都首先把自己的信息數據存儲在計算機之中,然后,才進行相互之間的信息數據傳遞與交流,有效地保障其信息數據的安全必須以保證計算機的安全為前提,計算機安全主要有兩個方面包括:計算機的硬件安全與計算機軟件安全。1)計算機硬件安全技術。保持計算機正常的運轉,定期檢查是否出現硬件故障,并及時維修處理,在易損器件出現安全問題之前提前更換,保證計算機通電線路安全,提供備用供電系統,實時保持線路暢通。2)計算機軟件安全技術。首先,必須有安全可靠的操作系統。作為計算機工作的平臺,操作系統必須具有訪問控制、安全內核等安全功能,能夠隨時為計算機新加入軟件進行檢測,如提供windows安全警報等等。其次,計算機殺毒軟件,每一臺計算機要正常的上網與其他用戶交流信息,都必須實時防護計算機病毒的危害,一款好的殺毒軟件可以有效地保護計算機不受病毒的侵害。
1.2 通信安全。通信安全是信息數據的傳輸的基本條件,當傳輸信息數據的通信線路存在安全隱患時,信息數據就不可能安全的傳遞到指定地點。盡管隨著科學技術的逐步改進,計算機通信網絡得到了進一步完善和改進,但是,信息數據仍舊要求有一個安全的通信環境。主要通過以下技術實現。1)信息加密技術。這是保障信息安全的最基本、最重要、最核心的技術措施。我們一般通過各種各樣的加密算法來進行具體的信息數據加密,保護信息數據的安全通信。2)信息確認技術。為有效防止信息被非法偽造、篡改和假冒,我們限定信息的共享范圍,就是信息確認技術。通過該技術,發信者無法抵賴自己發出的消息;合法的接收者可以驗證他收到的消息是否真實;除合法發信者外,別人無法偽造消息。3)訪問控制技術。該技術只允許用戶對基本信息庫的訪問,禁止用戶隨意的或者是帶有目的性的刪除、修改或拷貝信息文件。與此同時,系統管理員能夠利用這一技術實時觀察用戶在網絡中的活動,有效的防止黑客的入侵。
2 信息數據的安全與加密技術
隨著計算機網絡化程度逐步提高,人們對信息數據傳遞與交流提出了更高的安全要求,信息數據的安全與加密技術應運而生。然而,傳統的安全理念認為網絡內部是完全可信任,只有網外不可信任,導致了在信息數據安全主要以防火墻、入侵檢測為主,忽視了信息數據加密在網絡內部的重要性。以下介紹信息數據的安全與加密技術。
2.1 存儲加密技術和傳輸加密技術。存儲加密技術分為密文存儲和存取控制兩種,其主要目的是防止在信息數據存儲過程中信息數據泄露。密文存儲主要通過加密算法轉換、加密模塊、附加密碼加密等方法實現;存取控制則通過審查和限制用戶資格、權限,辨別用戶的合法性,預防合法用戶越權存取信息數據以及非法用戶存取信息數據。
傳輸加密技術分為線路加密和端-端加密兩種,其主要目的是對傳輸中的信息數據流進行加密。線路加密主要通過對各線路采用不同的加密密鑰進行線路加密,不考慮信源與信宿的信息安全保護。端-端加密是信息由發送者端自動加密,并進入tcp/ip信息數據包,然后作為不可閱讀和不可識別的信息數據穿過互聯網,這些信息一旦到達目的地,將被自動重組、解密,成為可讀信息數據。
2.2 密鑰管理加密技術和確認加密技
術。密鑰管理加密技術是為了信息數據使用的方便,信息數據加密在許多場合集中表現為密鑰的應用,因此密鑰往往是保密與竊密的主要對象。密鑰的媒體有:磁卡、磁帶、磁盤、半導體存儲器等。密鑰的管理技術包括密鑰的產生、分配、保存、更換與銷毀等各環節上的保密措施。網絡信息確認加密技術通過嚴格限定信息的共享范圍來防止信息被非法偽造、篡改和假冒。一個安全的信息確認方案應該能使:合法的接收者能夠驗證他收到的消息是否真實;發信者無法抵賴自己發出的消息;除合法發信者外,別人無法偽造消息;發生爭執時可由第三人仲裁。按照其具體目的,信息確認系統可分為消息確認、身份確認和數字簽名。數字簽名是由于公開密鑰和私有密鑰之間存在的數學關系,使用其中一個密鑰加密的信息數據只能用另一個密鑰解開。發送者用自己的私有密鑰加密信息數據傳給接收者,接收者用發送者的公鑰解開信息數據后,就可確定消息來自誰。這就保證了發送者對所發信息不能抵賴。
2.3 消息摘要和完整性鑒別技術。消息摘要是一個惟一對應一個消息或文本的值,由一個單向hash加密函數對消息作用而產生。信息發送者使用自己的私有密鑰加密摘要,也叫做消息的數字簽名。消息摘要的接受者能夠通過密鑰解密確定消息發送者,當消息在途中被改變時,接收者通過對比分析消息新產生的摘要與原摘要的不同,就能夠發現消息是否中途被改變。所以說,消息摘要保證了消息的完整性。
完整性鑒別技術一般包括口令、密鑰、身份(介入信息傳輸、存取、處理的人員的身份)、信息數據等項的鑒別。通常情況下,為達到保密的要求,系統通過對比驗證對象輸入的特征值是否符合預先設定的參數,實現對信息數據的安全保護。
3 結束語
綜上所述,信息數據的安全與加密技術,是保障當前形勢下我們安全傳遞與交流信息的基本技術,對信息安全至關重要。希望通過本文的研究,能夠拋磚引玉,引起國內外專家的重視,投入更多的精力以及更多的財力、物力來研究信息數據安全與加密技術,以便更好的保障每一個網絡使用者的信息安全。
參考文獻:
[1]曾莉紅,基于網絡的信息包裝與信息數據加密[j].包裝工程,2007(08).
[2]華碩升級光盤加密技術[j].消費電子商訊,2009(11).
論文摘要: 走進新世紀,科學技術發展日新月異,人們迎來一個知識爆炸的信息時代,信息數據的傳輸速度更快更便捷,信息數據傳輸量也隨之增加,傳輸過程更易出現安全隱患。因此,信息數據安全與加密愈加重要,也越來越多的得到人們的重視。首先介紹信息數據安全與加密的必要外部條件,即計算機安全和通信安全,在此基礎上,系統闡述信息數據的安全與加密技術,主要包括:存儲加密技術和傳輸加密技術;密鑰管理加密技術和確認加密技術;消息摘要和完整性鑒別技術。
當前形勢下,人們進行信息數據的傳遞與交流主要面臨著兩個方面的信息安全影響:人為因素和非人為因素。其中人為因素是指:黑客、病毒、木馬、電子欺騙等;非人為因素是指:不可抗力的自然災害如火災、電磁波干擾、或者是計算機硬件故障、部件損壞等。在諸多因素的制約下,如果不對信息數據進行必要的加密處理,我們傳遞的信息數據就可能泄露,被不法分子獲得,損害我們自身以及他人的根本利益,甚至造成國家安全危害。因此,信息數據的安全和加密在當前形勢下對人們的生活來說是必不可少的,通過信息數據加密,信息數據有了安全保障,人們不必再顧忌信息數據的泄露,能夠放心地在網絡上完成便捷的信息數據傳遞與交流。
1 信息數據安全與加密的必要外部條件
1.1 計算機安全。每一個計算機網絡用戶都首先把自己的信息數據存儲在計算機之中,然后,才進行相互之間的信息數據傳遞與交流,有效地保障其信息數據的安全必須以保證計算機的安全為前提,計算機安全主要有兩個方面包括:計算機的硬件安全與計算機軟件安全。1)計算機硬件安全技術。保持計算機正常的運轉,定期檢查是否出現硬件故障,并及時維修處理,在易損器件出現安全問題之前提前更換,保證計算機通電線路安全,提供備用供電系統,實時保持線路暢通。2)計算機軟件安全技術。首先,必須有安全可靠的操作系統。作為計算機工作的平臺,操作系統必須具有訪問控制、安全內核等安全功能,能夠隨時為計算機新加入軟件進行檢測,如提供windows安全警報等等。其次,計算機殺毒軟件,每一臺計算機要正常的上網與其他用戶交流信息,都必須實時防護計算機病毒的危害,一款好的殺毒軟件可以有效地保護計算機不受病毒的侵害。
1.2 通信安全。通信安全是信息數據的傳輸的基本條件,當傳輸信息數據的通信線路存在安全隱患時,信息數據就不可能安全的傳遞到指定地點。盡管隨著科學技術的逐步改進,計算機通信網絡得到了進一步完善和改進,但是,信息數據仍舊要求有一個安全的通信環境。主要通過以下技術實現。1)信息加密技術。這是保障信息安全的最基本、最重要、最核心的技術措施。我們一般通過各種各樣的加密算法來進行具體的信息數據加密,保護信息數據的安全通信。2)信息確認技術。為有效防止信息被非法偽造、篡改和假冒,我們限定信息的共享范圍,就是信息確認技術。通過該技術,發信者無法抵賴自己發出的消息;合法的接收者可以驗證他收到的消息是否真實;除合法發信者外,別人無法偽造消息。3)訪問控制技術。該技術只允許用戶對基本信息庫的訪問,禁止用戶隨意的或者是帶有目的性的刪除、修改或拷貝信息文件。與此同時,系統管理員能夠利用這一技術實時觀察用戶在網絡中的活動,有效的防止黑客的入侵。
2 信息數據的安全與加密技術
隨著計算機網絡化程度逐步提高,人們對信息數據傳遞與交流提出了更高的安全要求,信息數據的安全與加密技術應運而生。然而,傳統的安全理念認為網絡內部是完全可信任,只有網外不可信任,導致了在信息數據安全主要以防火墻、入侵檢測為主,忽視了信息數據加密在網絡內部的重要性。以下介紹信息數據的安全與加密技術。
2.1 存儲加密技術和傳輸加密技術。存儲加密技術分為密文存儲和存取控制兩種,其主要目的是防止在信息數據存儲過程中信息數據泄露。密文存儲主要通過加密算法轉換、加密模塊、附加密碼加密等方法實現;存取控制則通過審查和限制用戶資格、權限,辨別用戶的合法性,預防合法用戶越權存取信息數據以及非法用戶存取信息數據。
傳輸加密技術分為線路加密和端-端加密兩種,其主要目的是對傳輸中的信息數據流進行加密。線路加密主要通過對各線路采用不同的加密密鑰進行線路加密,不考慮信源與信宿的信息安全保護。端-端加密是信息由發送者端自動加密,并進入tcp/ip信息數據包,然后作為不可閱讀和不可識別的信息數據穿過互聯網,這些信息一旦到達目的地,將被自動重組、解密,成為可讀信息數據。
2.2 密鑰管理加密技術和確認加密技術。密鑰管理加密技術是為了信息數據使用的方便,信息數據加密在許多場合集中表現為密鑰的應用,因此密鑰往往是保密與竊密的主要對象。密鑰的媒體有:磁卡、磁帶、磁盤、半導體存儲器等。密鑰的管理技術包括密鑰的產生、分配、保存、更換與銷毀等各環節上的保密措施。網絡信息確認加密技術通過嚴格限定信息的共享范圍來防止信息被非法偽造、篡改和假冒。一個安全的信息確認方案應該能使:合法的接收者能夠驗證他收到的消息是否真實;發信者無法抵賴自己發出的消息;除合法發信者外,別人無法偽造消息;發生爭執時可由第三人仲裁。按照其具體目的,信息確認系統可分為消息確認、身份確認和數字簽名。數字簽名是由于公開密鑰和私有密鑰之間存在的數學關系,使用其中一個密鑰加密的信息數據只能用另一個密鑰解開。發送者用自己的私有密鑰加密信息數據傳給接收者,接收者用發送者的公鑰解開信息數據后,就可確定消息來自誰。這就保證了發送者對所發信息不能抵賴。
2.3 消息摘要和完整性鑒別技術。消息摘要是一個惟一對應一個消息或文本的值,由一個單向hash加密函數對消息作用而產生。信息發送者使用自己的私有密鑰加密摘要,也叫做消息的數字簽名。消息摘要的接受者能夠通過密鑰解密確定消息發送者,當消息在途中被改變時,接收者通過對比分析消息新產生的摘要與原摘要的不同,就能夠發現消息是否中途被改變。所以說,消息摘要保證了消息的完整性。
完整性鑒別技術一般包括口令、密鑰、身份(介入信息傳輸、存取、處理的人員的身份)、信息數據等項的鑒別。通常情況下,為達到保密的要求,系統通過對比驗證對象輸入的特征值是否符合預先設定的參數,實現對信息數據的安全保護。
3 結束語
綜上所述,信息數據的安全與加密技術,是保障當前形勢下我們安全傳遞與交流信息的基本技術,對信息安全至關重要。希望通過本文的研究,能夠拋磚引玉,引起國內外專家的重視,投入更多的精力以及更多的財力、物力來研究信息數據安全與加密技術,以便更好的保障每一個網絡使用者的信息安全。
參考文獻:
[1]曾莉紅,基于網絡的信息包裝與信息數據加密[j].包裝工程,2007(08).
[2]華碩升級光盤加密技術[j].消費電子商訊,2009(11).
1 信息數據安全與加密的必要外部條件
1.1 計算機安全。每一個計算機網絡用戶都首先把自己的信息數據存儲在計算機之中,然后,才進行相互之間的信息數據傳遞與交流,有效地保障其信息數據的安全必須以保證計算機的安全為前提,計算機安全主要有兩個方面包括:計算機的硬件安全與計算機軟件安全。1)計算機硬件安全技術。保持計算機正常的運轉,定期檢查是否出現硬件故障,并及時維修處理,在易損器件出現安全問題之前提前更換,保證計算機通電線路安全,提供備用供電系統,實時保持線路暢通。2)計算機軟件安全技術。首先,必須有安全可靠的操作系統。作為計算機工作的平臺,操作系統必須具有訪問控制、安全內核等安全功能,能夠隨時為計算機新加入軟件進行檢測,如提供windows安全警報等等。其次,計算機殺毒軟件,每一臺計算機要正常的上網與其他用戶交流信息,都必須實時防護計算機病毒的危害,一款好的殺毒軟件可以有效地保護計算機不受病毒的侵害。
1.2 通信安全。通信安全是信息數據的傳輸的基本條件,當傳輸信息數據的通信線路存在安全隱患時,信息數據就不可能安全的傳遞到指定地點。盡管隨著科學技術的逐步改進,計算機通信網絡得到了進一步完善和改進,但是,信息數據仍舊要求有一個安全的通信環境。主要通過以下技術實現。1)信息加密技術。這是保障信息安全的最基本、最重要、最核心的技術措施。我們一般通過各種各樣的加密算法來進行具體的信息數據加密,保護信息數據的安全通信。2)信息確認技術。為有效防止信息被非法偽造、篡改和假冒,我們限定信息的共享范圍,就是信息確認技術。通過該技術,發信者無法抵賴自己發出的消息;合法的接收者可以驗證他收到的消息是否真實;除合法發信者外,別人無法偽造消息。3)訪問控制技術。該技術只允許用戶對基本信息庫的訪問,禁止用戶隨意的或者是帶有目的性的刪除、修改或拷貝信息文件。與此同時,系統管理員能夠利用這一技術實時觀察用戶在網絡中的活動,有效的防止黑客的入侵。
2 信息數據的安全與加密技術
隨著計算機網絡化程度逐步提高,人們對信息數據傳遞與交流提出了更高的安全要求,信息數據的安全與加密技術應運而生。然而,傳統的安全理念認為網絡內部是完全可信任,只有網外不可信任,導致了在信息數據安全主要以防火墻、入侵檢測為主,忽視了信息數據加密在網絡內部的重要性。以下介紹信息數據的安全與加密技術。
2.1 存儲加密技術和傳輸加密技術。存儲加密技術分為密文存儲和存取控制兩種,其主要目的是防止在信息數據存儲過程中信息數據泄露。密文存儲主要通過加密算法轉換、加密模塊、附加密碼加密等方法實現;存取控制則通過審查和限制用戶資格、權限,辨別用戶的合法性,預防合法用戶越權存取信息數據以及非法用戶存取信息數據。
傳輸加密技術分為線路加密和端-端加密兩種,其主要目的是對傳輸中的信息數據流進行加密。線路加密主要通過對各線路采用不同的加密密鑰進行線路加密,不考慮信源與信宿的信息安全保護。端-端加密是信息由發送者端自動加密,并進入TCP/IP信息數據包,然后作為不可閱讀和不可識別的信息數據穿過互聯網,這些信息一旦到達目的地,將被自動重組、解密,成為可讀信息數據。
2.2 密鑰管理加密技術和確認加密技術。密鑰管理加密技術是為了信息數據使用的方便,信息數據加密在許多場合集中表現為密鑰的應用,因此密鑰往往是保密與竊密的主要對象。密鑰的媒體有:磁卡、磁帶、磁盤、半導體存儲器等。密鑰的管理技術包括密鑰的產生、分配、保存、更換與銷毀等各環節上的保密措施。網絡信息確認加密技術通過嚴格限定信息的共享范圍來防止信息被非法偽造、篡改和假冒。一個安全的信息確認方案應該能使:合法的接收者能夠驗證他收到的消息是否真實;發信者無法抵賴自己發出的消息;除合法發信者外,別人無法偽造消息;發生爭執時可由第三人仲裁。按照其具體目的,信息確認系統可分為消息確認、身份確認和數字簽名。數字簽名是由于公開密鑰和私有密鑰之間存在的數學關系,使用其中一個密鑰加密的信息數據只能用另一個密鑰解開。發送者用自己的私有密鑰加密信息數據傳給接收者,接收者用發送者的公鑰解開信息數據后,就可確定消息來自誰。這就保證了發送者對所發信息不能抵賴。
2.3 消息摘要和完整性鑒別技術。消息摘要是一個惟一對應一個消息或文本的值,由一個單向Hash加密函數對消息作用而產生。信息發送者使用自己的私有密鑰加密摘要,也叫做消息的數字簽名。消息摘要的接受者能夠通過密鑰解密確定消息發送者,當消息在途中被改變時,接收者通過對比分析消息新產生的摘要與原摘要的不同,就能夠發現消息是否中途被改變。所以說,消息摘要保證了消息的完整性。
完整性鑒別技術一般包括口令、密鑰、身份(介入信息傳輸、存取、處理的人員的身份)、信息數據等項的鑒別。通常情況下,為達到保密的要求,系統通過對比驗證對象輸入的特征值是否符合預先設定的參數,實現對信息數據的安全保護。
摘 要:近些年計算機和網絡技術飛快的發展。互聯網的興起帶動了經濟的快速發展,特別是目前通過互聯網進行的交易越來越多。最近2O年信息加密技術在網絡信息安全中的地位越來越受到重視。加密技術是保障信息安全的各種技術手段中最為核心和關鍵的環節。通過對重要數據的加密可以保證數據在傳輸過程中的安全性和完整性。數據加密通常包括加密算法、明文、密文以及密鑰。密鑰控制加密和解密的幾個過程,所以對加密技術的研究是一個十分值得研究的方向。
關鍵詞:數據加密;加密方法;加密標準
一、關于加密技術和加密標準的概述
作為保障數據傳輸安全的加密技術產生的年代久遠,早在幾千年前埃及人和古巴比倫就通過對信息進行特別的編碼而保護書面信息的安全。近代的信息加密技術主要在軍事領域展開,德國在二戰時期發明了著名的恩格瑪機來對信息進行加密,隨著計算機性能的不斷提升,科學家們又不斷地研究出更為嚴密的信息加密手段。利用ROSA算法產生的私鑰和公鑰就是在這個基礎上產生的。信息加密的基本方式就是用某種數學算法對原來的明文或數據進行一定的處理,將這些明文編程不可讀寫的數字代碼。只有信息接收者在輸人相應的密鑰后才能還原數據的真實內容。通過這種方法來處理數據,使得數據在傳輸過程中不會被他人非法盜竊、閱讀和修改。計算機數據加密技術的發展也離不開數據加密標準的支持,早在1977年美國國際商用機器公司為美國政府計算機數據研制出了一種特殊的計算方法,稱之為計算機數據加密標準,這個加密算法是應用56位密鑰為基礎,首先將64位的明文通過變換其位置進行置換大亂;接著對上述的64位明文進行分解,將所要進行加密的明文拆分成為兩套32位的明文:接著運用將上述兩套32位明文采用計算機數據加密標準進行16次的位置變換;最后采用逆置換的方法對打亂后的數據進行逆置換,從而實現了計算機數據的加密。
南于美國電子開拓基金會在1999年對上述加密標準進行了破譯,美國政府也因此對原有的加密標準進行了改進。這種改進方法是在原來的DES基礎上進行了三重加密。這種新的加密標準使得數據的接收者必須通過使用三個密鑰才能對加密的數據進行解密。這種方法也因此使得數據的保密性提升了3倍。這三把密鑰之間相互關聯,需要解密者對每層密碼分別進行破解。若其中的一把密鑰丟失則不能通過其他的兩把密鑰對數據進行破解,這種方法對數據的破解者來說十分困難。3DES雖然對政府的關鍵數據保護進行了提升,但是對金融交易卻形成了障礙。于是美國國家標準與技術研究所有開發出針對金融交易數據保密的方法。稱之為高級加密標準。簡稱為AES。這種算法的比較簡便精確,而且安全性也十分可靠。這種加密方法同時還能支持很多的小型設備。同原有的3DES相比具有高安全性和高效率。
二、數據加密方法
在傳統上,我們有幾種方法來加密數據流。所有這些方法都可以用軟件很容易的實現,但是當我們只知道密文的時候,是不容易破譯這些加密算法的。最好的加密算法對系統性能幾乎沒有影響,并且還可以帶來其他內在的優點。所有這些加密算法都要有高效的加密和解密能力。幸運的是,在所有的加密算法中最簡單的一種就是“置換表”算法,這種算法也能很好達到加密的需要。每一個數據段對應著“置換表”中的一個偏移量,偏移量所對應的值就輸出成為加密后的文件。加密程序和解密程序都需要一個這樣的“置換表”。事實上,80x86cpu系列就有一個指令‘xlat’在硬件級來完成這樣的工作。這種加密算法比較簡單,加密解密速度都很快,但是一旦這個“置換表”被對方獲得,那這個加密方案就完全被識破了。更進一步講,這種加密算法對于黑客破譯來講是相當直接的,只要找到一個“置換表”就可以了。這種方法在計算機出現之前就已經被廣泛的使用。
對這種“置換表”方式的一個改進就是使用2個或者更多的“置換表”,這些表都是基于數據流中字節的位置的,或者基于數據流本身。這時,破譯變的更加困難,因為黑客必須正確的做幾次變換。通過使用更多的“置換表”,并且按偽隨機的方式使用每個表,這種改進的加密方法已經變的很難破譯。比如,我們可以對所有的偶數位置的數據使用a表,對所有的奇數位置使用b表,即使黑客獲得了明文和密文,他想破譯這個加密方案也是非常困難的,除非黑客確切的知道用了兩張表。
與使用“置換表”相類似,“變換數據位置”也在計算機加密中使用。但是,這需要更多的執行時間。從輸入中讀入明文放到一個buffer中,再在buffer中對他們重排序,然后按這個順序再輸出。解密程序按相反的順序還原數據。這種方法總是和一些別的加密算法混合使用,這就使得破譯變的特別的困難,幾乎有些不可能了。例如,有這樣一個詞,變換起字母的順序,slient可以變為listen,但所有的字母都沒有變化,沒有增加也沒有減少,但是字母之間的順序已經變化了。
但是,還有一種更好的加密算法,只有計算機可以做,就是字/字節循環移位和xor操作。如果我們把一個字或字節在一個數據流內做循環移位,使用多個或變化的方向,就可以迅速的產生一個加密的數據流。這種方法是很好的,破譯它就更加困難!而且,更進一步的是,如果再使用xor操作,按位做異或操作,就就使破譯密碼更加困難了。如果再使用偽隨機的方法,這涉及到要產生一系列的數字,我們可以使用fibbonaci數列。對數列所產生的數做模運算,得到一個結果,然后循環移位這個結果的次數,將使破譯次密碼變的幾乎不可能!但是,使用fibbonaci數列這種偽隨機的方式所產生的密碼對我們的解密程序來講是非常容易的。
關鍵詞:加密技術;電子商務;對稱加密體制;非對稱加密體制
中圖分類號:G642 文獻標識碼:B
文章編號:1672-5913(2007)18-0166-03
電子商務在當今世界已經被廣泛應用,其在技術方面的核心問題是信息的保密性、完整性和不可否認性。加密技術是電子商務采取的主要的安全措施。
一般說來,系統的保密性不依賴于加密體制或算法的保密,而只依賴于密鑰。也就是說雖然加密和解密算法是公開的,密碼分析者可以知道算法與密文,但不知道密鑰,仍難于將密文還原為明文。根據密鑰的特點將密碼算法分為對稱加密體制和非對稱加密體制。
1對稱加密體制-單鑰加密體制
對稱加密算法是加密密鑰Ke與解密密鑰Kd為同一密鑰的加密算法。信息的發送者和接收者在進行信息的傳輸和處理時共同持有該密鑰。對稱加密體制最著名的算法是美國數據加密標準DES、高級加密標準AES和歐洲數據加密標準IDEA。
1.1IDES加密算法
輸入64位的明文,在56位(另外8位可用作奇偶校驗或隨意設置)密鑰的控制下,通過初始換位,然后經過16輪完全相同的加密變換,在加密變換過程中明文與密鑰相結合,最后再通過逆初始換位得到64位的密文。該算法的優點是運算速度快,密鑰容易產生,適合加密大量的數據。缺點是算法迭代次數少,不能提供足夠的安全性。
1.2對稱加密在電子商務應用中的缺陷
對稱加密體制的最大問題是密鑰的管理和分配非常復雜。比如,在購物支付環境中,一個具有n個用戶的網絡,因為每對用戶每次使用對稱式加密算法都需要使用其他人不知道的唯一的密鑰,以保證信息的機密性,所以系統擁有的密鑰總數為n(n-1)/2,若n等于104,則就大約需要管理5×107個密鑰,耗費大量的存儲空間。對稱加密方式存在的另一個問題是無法鑒別貿易發起方或貿易最終方,這是因為貿易雙方共享同一把密鑰,貿易雙方的任何信息都是通過這把密鑰加密后傳送給對方,所以不能用于數字簽名。
2非對稱加密體制-公鑰加密體制
加密密鑰和解密密鑰為2個不同的密鑰的密碼體制。它使用一對密鑰:一個稱為公鑰PK,是公開的,由他人使用,其作用是進行加密或驗證數字簽名;另一個稱為私鑰SK,由用戶自己使用,是保密的,用于解密或對消息進行數字簽名。這兩個密鑰之間的關系是用其中任何一個密鑰加密的信息只能用另一個密鑰解密,而且解密密鑰不能從加密密鑰獲得。若以公鑰作為加密密鑰,以私鑰作為解密密鑰,則可實現多個用戶加密的信息只能由一個用戶解讀;反之,以私鑰作為加密密鑰而以公鑰作為解密密鑰,則可實現一個用戶加密的信息可由多個用戶解讀。前者用于數據加密,后者用于數字簽名。
2.1RSA加密算法
RSA加密算法是當前最著名且應用最廣泛的公鑰算法,其安全性基于模運算的大整數素因子分解問題的困難性。選擇兩個互異的大素數p和q,一般要求大于10100;計算n=p×q和z=(p-1)(q-1);選擇一個與z互質的整數,記為d;計算滿足下列條件的e, (e×d) mod z=1。這里 (n, e) 就是公開的加密密鑰,(n, d) 是私鑰。在進行加密時,把明文分割成一定大小的塊M,加密過程即C=Me mod n;解密過程即M=Cd mod n。在RSA算法中,n的長度是控制該算法可靠性的重要因素,目前大多數加密程序均采用1024位以上。因為它無須收發雙方同時參與加密過程非常適合于電子函件系統的加密。盡管RSA算法既可用于加密,也可以用于數字簽名,但其加密、解密運算復雜,速度慢,所以目前該算法適用于少量數據的加密,更多的用于加密密鑰。
2.2ElGamal加密算法
ElGamal加密算法的安全性是基于有限域上離散對數問題的難解性。隨機選取一大素數p (200位十進制數) ,選一個數g (模p的本原根,1
2.3Rabin算法
設p,q是兩個保密的隨機大素數,(p,q) 是私鑰;n(=p×q) 和b (≥1) 是公開的,(n,b) 是公鑰兩個保密的大素數p,q由Dirichlet定理可得到:已知b≥1,則使得y×2b+1是素數的整數y (≥1) 有無窮多個;而且使得y΄×2b-1是素數的整數y΄ (≥1) 也有無窮多個。
加密過程:C=E(M) =M (M+b) (mod n),其中M是明文,C是密文。
解密過程:求同余方程M2+bM-C=0 (mod n) 的解。因為n=p×q,p,q是素數,所以該方程等價于
Rabin密碼系統的加密與解密速度一般比RSA系統要快1-3倍。因此,在諸如PGP等應用軟件中使用Rabin,將有效地提高軟件的執行速度。
2.4橢圓曲線加密算法ECC
橢圓曲線加密算法 (ECC) ,其安全性基于橢圓曲線點群上離散對數問題 (ECDLP) 的難解性。
(1) 相關概念
有限域上的橢圓曲線E指的是滿足Weier2trass方程
y2+a1xy+a3y=x3+a2x2+a4x+a6(式1)
的所有解 (x, y) 和無窮遠點的集合。
橢圓曲線上的無窮遠點:令x=X/Z,y=Y/Z,代入 (式1) 得
(Y/Z)2+a1(XY/Z2)+a3(Y/Z)=(X/Z)3+a2 (X/Z)2+a4(X/Z)+a6
當Z≠0時,整理得
Y2Z+a1XYZ+a3YZ2=X3+a2X2Z+a4XZ2+a6Z3(式2)
顯然,點 (x, y) 和 (X, Y, Z) 是相對應,而θ (X, Y, 0) 可以看作是曲線上點 (X, Y, ε) ,在ε0而得到的,θ就被稱為橢圓曲線上的無窮遠點。
橢圓曲線上的加法運算:設P、Q是E上任意2點,直線l是PQ連線,如圖1所示。設l和E相交于另一點R΄,R是R΄關于x軸的對稱點,記為R=P+Q,根據橢圓曲線的對稱性,可知R必在曲線上。
由上述加法的定義可知:曲線上2個點 (可能是相同的點,如圖1中的M點) 相加,其和仍是曲線上的點。不妨將P+P記為2×P,P+P+…+P記為m×P。不難證明,2×P、…、m×P都一定是曲線E上的點。這樣,橢圓曲線上的點外加一個無窮遠點構成的集合和以上定義的加法運算構成了可交換群 (Abel群) 。
(2) 橢圓曲線加密體制
ECC是在有限域的橢圓曲線上建立加密算法,可用的加密實現方法有Diffie-Hellman公鑰系統、ElGamal公鑰系統、因數分解算法等。其定義如下:
給定整數k和橢圓曲線E,求出
Q=k×P=P+P+…+P (k個P相加)(式3)
其中k
n×P=P+P+…+P=H(式4)
顯然,已知k和P,可以容易地計算Q,而由Q和P推導出k則比較困難,這就是ECC的數學原理。ECC的工作原理(其中曲線E、點P和素數n都是公開信息,此處的加密實現方法是ElGamal公鑰算法)為:
密鑰的生成:私鑰擁有者(以下用A表示)隨機選取一個整數k(k
消息的發送:消息發送方 (以下用B表示) 為了發送消息M,進行如下操作:
1) 找到A的公鑰 (E, P, n, Q) ;
2) 將M標識成一個域元素;
3) 在區間 [1, n-1] 內選取一個隨機整數d;
4) 依照A的公鑰計算點 (x1,y1)=d×P,(x2,y2)=d×Q,若x2=0則回到第 3) 步;
5) 計算C=M×x2;
6) 傳送密文 (x1x, C) 給A。
解密過程:A收到B的密文后,使用私鑰k,計算點 (x2, y2)=k(x1, y1) ,再計算x2-1;計算M=C x2-1,恢復得到明文。
(3) ECC的優勢與應用注意事項
1) 安全性高。加密算法的安全性能一般通過算法的抗攻擊強度來反映。解決橢圓曲線上的離散對數問題的最好算法是Pollard ρ方法,其時間復雜度是完全指數階的。而RSA所利用的是大整數分解的困難問題,其因數分解最好算法的時間復雜度是子指數階的,所以攻擊ECC的算法復雜度比RSA要高得多。例如,密鑰長度為1024位的RSA破解最快需要3×1011MIP年,而密鑰長度為160位的ECC破解最快需要9.6×1011MIP年從加密強度來看,橢圓曲線密碼體制是目前已知的公鑰體制中,對每字節所提供加密強度最高的一種體制。
2) 短密鑰。密鑰越長,其安全層次就越高,但運行速度必然會慢。研究表明,106位ECC密鑰加密強度相當于512位的RSA,而160位ECC密鑰加密強度更是相當于1024位的RSA。這意味著,在保證同樣安全等級的前提下,RSA密鑰長度要比ECC的長得多,占用的內存也大得多。ECC密鑰的長度優勢給ECC算法帶來了短小、高效、低耗的技術優勢,在IC卡上的應用具有重要的意義。
3) 處理速度快。ECC算法在處理解密和簽名的速度上,要比RSA、ElGamal快很多。雖然在RSA算法中可以通過選擇較短的公鑰的方法來提高加密和簽名驗證的速度,但總的來說,在相同的安全強度下,ECC速度要比RSA、ElGamal快很多。使用160位密鑰長度的ECC算法加、解密或數字簽名要比使用1024位密鑰長度的RSA算法大約快10倍。該算法應用于簽名、多重簽名和盲簽名技術。
4) 在使用ECC時,橢圓曲線的選擇上一定要避免超奇異橢圓曲線和異常曲線這兩種曲線是不宜用于密碼體制的橢圓曲線,它們的ECDLP相對容易,因而易遭到特定算法的攻擊。
2.5公鑰密碼體制在電子商務應用中的優缺點
由于加密、解密的密鑰不同且能公開加密密鑰,所以公鑰密碼算法的密鑰管理和分配問題很簡單。例如具有n個用戶的網絡,僅需要管理2n個密鑰,遠遠小于對稱密鑰的管理。公鑰加密算法應用廣泛,既可用于信息加密又可用于數字簽名,而且,基于數字簽名,還可實現鑒別、數據完整性和防抵賴等安全目標,適應于電子商務安全的需要。公鑰密碼算法最大的缺點是算法比較復雜,運算量十分浩大,加密、解密的速度慢。因此提高公鑰算法的運算速度成為密碼算法研究的一個重要方向。
3總結與展望
上面介紹了數據加密技術中幾種主要的密碼算法。雖然非對稱加密算法在電子商務應用方面有很多優勢,并且非對稱加密體制!橢圓數據加密技術也成為密碼技術在電子商務安全方面的熱點研究領域,但由于對稱加密算法加密速度遠快于非對稱加密算法,而且在相同安全水平下,對稱密鑰長度為128位,RSA密鑰長度為3072位,ECC密鑰長度為256位,密鑰長度相對較短,所以,非對稱加密體制不能完全取代對稱加密體制。在實際用中,電子商務的安全加密系統普遍采用對稱加密體制和非對稱加密體制相結合的混合加密體制:用對稱密碼算法來加密或解密大量的數據,而用非對稱密碼算法來加密關鍵性的、核心的機密數據(如會話密鑰)。這樣既發揮了對稱密碼算法的高速、簡便性又充分利用了非對稱密碼體制密鑰管理的方便、安全性,較好地解決了運算速度問題和密鑰分配管理問題。
參考文獻
[1] 祁明. 電子商務安全與保密[M]. 北京:高等教育出版社,2001,(7):44-84.
[2] 邱新建. 信息加密技術概論[J]. 石家莊職業技術學院學報,2004,12(6).
[3] 楊波等. 基于Rabin加密算法的密鑰托管體制[J]. 西安電子科技大學學報,1999,4(2).
[4] 邱奇志. 橢圓曲線在數字簽名中的應用[J]. 武漢理工大學學報,2004,9(9).
[5] 劉凌波等. 現代密碼理論新動向[J]. 計算機時代,2004,(2).
[6] 李俊芳. 橢圓曲線加密算法及實例分析[J]. 網絡安全技術與應用,2004,(11).
一:數據加密方法
在傳統上,我們有幾種方法來加密數據流。所有這些方法都可以用軟件很容易的實現,但是當我們只知道密文的時候,是不容易破譯這些加密算法的(當同時有原文和密文時,破譯加密算法雖然也不是很容易,但已經是可能的了)。最好的加密算法對系統性能幾乎沒有影響,并且還可以帶來其他內在的優點。例如,大家都知道的pkzip,它既壓縮數據又加密數據。又如,dbms的一些軟件包總是包含一些加密方法以使復制文件這一功能對一些敏感數據是無效的,或者需要用戶的密碼。所有這些加密算法都要有高效的加密和解密能力。
幸運的是,在所有的加密算法中最簡單的一種就是“置換表”算法,這種算法也能很好達到加密的需要。每一個數據段(總是一個字節)對應著“置換表”中的一個偏移量,偏移量所對應的值就輸出成為加密后的文件。加密程序和解密程序都需要一個這樣的“置換表”。事實上,80x86cpu系列就有一個指令‘xlat’在硬件級來完成這樣的工作。這種加密算法比較簡單,加密解密速度都很快,但是一旦這個“置換表”被對方獲得,那這個加密方案就完全被識破了。更進一步講,這種加密算法對于黑客破譯來講是相當直接的,只要找到一個“置換表”就可以了。這種方法在計算機出現之前就已經被廣泛的使用。
對這種“置換表”方式的一個改進就是使用2個或者更多的“置換表”,這些表都是基于數據流中字節的位置的,或者基于數據流本身。這時,破譯變的更加困難,因為黑客必須正確的做幾次變換。通過使用更多的“置換表”,并且按偽隨機的方式使用每個表,這種改進的加密方法已經變的很難破譯。比如,我們可以對所有的偶數位置的數據使用a表,對所有的奇數位置使用b表,即使黑客獲得了明文和密文,他想破譯這個加密方案也是非常困難的,除非黑客確切的知道用了兩張表。
與使用“置換表”相類似,“變換數據位置”也在計算機加密中使用。但是,這需要更多的執行時間。從輸入中讀入明文放到一個buffer中,再在buffer中對他們重排序,然后按這個順序再輸出。解密程序按相反的順序還原數據。這種方法總是和一些別的加密算法混合使用,這就使得破譯變的特別的困難,幾乎有些不可能了。例如,有這樣一個詞,變換起字母的順序,slient可以變為listen,但所有的字母都沒有變化,沒有增加也沒有減少,但是字母之間的順序已經變化了。
但是,還有一種更好的加密算法,只有計算機可以做,就是字/字節循環移位和xor操作。如果我們把一個字或字節在一個數據流內做循環移位,使用多個或變化的方向(左移或右移),就可以迅速的產生一個加密的數據流。這種方法是很好的,破譯它就更加困難!而且,更進一步的是,如果再使用xor操作,按位做異或操作,就就使破譯密碼更加困難了。如果再使用偽隨機的方法,這涉及到要產生一系列的數字,我們可以使用fibbonaci數列。對數列所產生的數做模運算(例如模3),得到一個結果,然后循環移位這個結果的次數,將使破譯次密碼變的幾乎不可能!但是,使用fibbonaci數列這種偽隨機的方式所產生的密碼對我們的解密程序來講是非常容易的。
在一些情況下,我們想能夠知道數據是否已經被篡改了或被破壞了,這時就需要產生一些校驗碼,并且把這些校驗碼插入到數據流中。這樣做對數據的防偽與程序本身都是有好處的。但是感染計算機程序的病毒才不會在意這些數據或程序是否加過密,是否有數字簽名。所以,加密程序在每次load到內存要開始執行時,都要檢查一下本身是否被病毒感染,對與需要加、解密的文件都要做這種檢查!很自然,這樣一種方法體制應該保密的,因為病毒程序的編寫者將會利用這些來破壞別人的程序或數據。因此,在一些反病毒或殺病毒軟件中一定要使用加密技術。
循環冗余校驗是一種典型的校驗數據的方法。對于每一個數據塊,它使用位循環移位和xor操作來產生一個16位或32位的校驗和,這使得丟失一位或兩個位的錯誤一定會導致校驗和出錯。這種方式很久以來就應用于文件的傳輸,例如xmodem-crc。這是方法已經成為標準,而且有詳細的文檔。但是,基于標準crc算法的一種修改算法對于發現加密數據塊中的錯誤和文件是否被病毒感染是很有效的。二.基于公鑰的加密算法
一個好的加密算法的重要特點之一是具有這種能力:可以指定一個密碼或密鑰,并用它來加密明文,不同的密碼或密鑰產生不同的密文。這又分為兩種方式:對稱密鑰算法和非對稱密鑰算法。所謂對稱密鑰算法就是加密解密都使用相同的密鑰,非對稱密鑰算法就是加密解密使用不同的密鑰。非常著名的pgp公鑰加密以及rsa加密方法都是非對稱加密算法。加密密鑰,即公鑰,與解密密鑰,即私鑰,是非常的不同的。從數學理論上講,幾乎沒有真正不可逆的算法存在。例如,對于一個輸入‘a’執行一個操作得到結果‘b’,那么我們可以基于‘b’,做一個相對應的操作,導出輸入‘a’。在一些情況下,對于每一種操作,我們可以得到一個確定的值,或者該操作沒有定義(比如,除數為0)。對于一個沒有定義的操作來講,基于加密算法,可以成功地防止把一個公鑰變換成為私鑰。因此,要想破譯非對稱加密算法,找到那個唯一的密鑰,唯一的方法只能是反復的試驗,而這需要大量的處理時間。
rsa加密算法使用了兩個非常大的素數來產生公鑰和私鑰。即使從一個公鑰中通過因數分解可以得到私鑰,但這個運算所包含的計算量是非常巨大的,以至于在現實上是不可行的。加密算法本身也是很慢的,這使得使用rsa算法加密大量的數據變的有些不可行。這就使得一些現實中加密算法都基于rsa加密算法。pgp算法(以及大多數基于rsa算法的加密方法)使用公鑰來加密一個對稱加密算法的密鑰,然后再利用一個快速的對稱加密算法來加密數據。這個對稱算法的密鑰是隨機產生的,是保密的,因此,得到這個密鑰的唯一方法就是使用私鑰來解密。
我們舉一個例子:假定現在要加密一些數據使用密鑰‘12345’。利用rsa公鑰,使用rsa算法加密這個密鑰‘12345’,并把它放在要加密的數據的前面(可能后面跟著一個分割符或文件長度,以區分數據和密鑰),然后,使用對稱加密算法加密正文,使用的密鑰就是‘12345’。當對方收到時,解密程序找到加密過的密鑰,并利用rsa私鑰解密出來,然后再確定出數據的開始位置,利用密鑰‘12345’來解密數據。這樣就使得一個可靠的經過高效加密的數據安全地傳輸和解密。
一些簡單的基于rsa算法的加密算法可在下面的站點找到:
ftp://ftp.funet.fi/pub/crypt/cryptography/asymmetric/rsa
三.一個嶄新的多步加密算法
現在又出現了一種新的加密算法,據說是幾乎不可能被破譯的。這個算法在1998年6月1日才正式公布的。下面詳細的介紹這個算法:
使用一系列的數字(比如說128位密鑰),來產生一個可重復的但高度隨機化的偽隨機的數字的序列。一次使用256個表項,使用隨機數序列來產生密碼轉表,如下所示:
把256個隨機數放在一個距陣中,然后對他們進行排序,使用這樣一種方式(我們要記住最初的位置)使用最初的位置來產生一個表,隨意排序的表,表中的數字在0到255之間。如果不是很明白如何來做,就可以不管它。但是,下面也提供了一些原碼(在下面)是我們明白是如何來做的。現在,產生了一個具體的256字節的表。讓這個隨機數產生器接著來產生這個表中的其余的數,以至于每個表是不同的。下一步,使用"shotguntechnique"技術來產生解碼表。基本上說,如果a映射到b,那么b一定可以映射到a,所以b[a[n]]=n.(n是一個在0到255之間的數)。在一個循環中賦值,使用一個256字節的解碼表它對應于我們剛才在上一步產生的256字節的加密表。
使用這個方法,已經可以產生這樣的一個表,表的順序是隨機,所以產生這256個字節的隨機數使用的是二次偽隨機,使用了兩個額外的16位的密碼.現在,已經有了兩張轉換表,基本的加密解密是如下這樣工作的。前一個字節密文是這個256字節的表的索引。或者,為了提高加密效果,可以使用多余8位的值,甚至使用校驗和或者crc算法來產生索引字節。假定這個表是256*256的數組,將會是下面的樣子:crypto1=a[crypto0][value]
變量''''crypto1''''是加密后的數據,''''crypto0''''是前一個加密數據(或著是前面幾個加密數據的一個函數值)。很自然的,第一個數據需要一個“種子”,這個“種子”是我們必須記住的。如果使用256*256的表,這樣做將會增加密文的長度。或者,可以使用你產生出隨機數序列所用的密碼,也可能是它的crc校驗和。順便提及的是曾作過這樣一個測試:使用16個字節來產生表的索引,以128位的密鑰作為這16個字節的初始的"種子"。然后,在產生出這些隨機數的表之后,就可以用來加密數據,速度達到每秒鐘100k個字節。一定要保證在加密與解密時都使用加密的值作為表的索引,而且這兩次一定要匹配。
加密時所產生的偽隨機序列是很隨意的,可以設計成想要的任何序列。沒有關于這個隨機序列的詳細的信息,解密密文是不現實的。例如:一些ascii碼的序列,如“eeeeeeee"可能被轉化成一些隨機的沒有任何意義的亂碼,每一個字節都依賴于其前一個字節的密文,而不是實際的值。對于任一個單個的字符的這種變換來說,隱藏了加密數據的有效的真正的長度。
如果確實不理解如何來產生一個隨機數序列,就考慮fibbonacci數列,使用2個雙字(64位)的數作為產生隨機數的種子,再加上第三個雙字來做xor操作。這個算法產生了一系列的隨機數。算法如下:
unsignedlongdw1,dw2,dw3,dwmask;
inti1;
unsignedlongarandom[256];
dw1={seed#1};
dw2={seed#2};
dwmask={seed#3};
//thisgivesyou332-bit"seeds",or96bitstotal
for(i1=0;i1<256;i1++)
{
dw3=(dw1+dw2)^dwmask;
arandom[i1]=dw3;
dw1=dw2;
dw2=dw3;
}
如果想產生一系列的隨機數字,比如說,在0和列表中所有的隨機數之間的一些數,就可以使用下面的方法:
int__cdeclmysortproc(void*p1,void*p2)
{
unsignedlong**pp1=(unsignedlong**)p1;
unsignedlong**pp2=(unsignedlong**)p2;
if(**pp1<**pp2)
return(-1);
elseif(**pp1>*pp2)
return(1);
return(0);
}
...
inti1;
unsignedlong*aprandom[256];
unsignedlongarandom[256];//samearrayasbefore,inthiscase
intaresult[256];//resultsgohere
for(i1=0;i1<256;i1++)
{
aprandom[i1]=arandom+i1;
}
//nowsortit
qsort(aprandom,256,sizeof(*aprandom),mysortproc);
//finalstep-offsetsforpointersareplacedintooutputarray
for(i1=0;i1<256;i1++)
{
aresult[i1]=(int)(aprandom[i1]-arandom);
}
...
變量''''aresult''''中的值應該是一個排過序的唯一的一系列的整數的數組,整數的值的范圍均在0到255之間。這樣一個數組是非常有用的,例如:對一個字節對字節的轉換表,就可以很容易并且非常可靠的來產生一個短的密鑰(經常作為一些隨機數的種子)。這樣一個表還有其他的用處,比如說:來產生一個隨機的字符,計算機游戲中一個物體的隨機的位置等等。上面的例子就其本身而言并沒有構成一個加密算法,只是加密算法一個組成部分。
作為一個測試,開發了一個應用程序來測試上面所描述的加密算法。程序本身都經過了幾次的優化和修改,來提高隨機數的真正的隨機性和防止會產生一些短的可重復的用于加密的隨機數。用這個程序來加密一個文件,破解這個文件可能會需要非常巨大的時間以至于在現實上是不可能的。
四.結論:
由于在現實生活中,我們要確保一些敏感的數據只能被有相應權限的人看到,要確保信息在傳輸的過程中不會被篡改,截取,這就需要很多的安全系統大量的應用于政府、大公司以及個人系統。數據加密是肯定可以被破解的,但我們所想要的是一個特定時期的安全,也就是說,密文的破解應該是足夠的困難,在現實上是不可能的,尤其是短時間內。
參考文獻:
1.pgp!/
cyberknights(newlink)/cyberkt/
(oldlink:/~merlin/knights/)
2.cryptochamberjyu.fi/~paasivir/crypt/
3.sshcryptographa-z(includesinfoonsslandhttps)ssh.fi/tech/crypto/
4.funet''''cryptologyftp(yetanotherfinlandresource)ftp://ftp.funet.fi/pub/crypt/
agreatenigmaarticle,howthecodewasbrokenbypolishscientists
/nbrass/1enigma.htm
5.ftpsiteinukftp://sable.ox.ac.uk/pub/crypto/
6.australianftpsiteftp://ftp.psy.uq.oz.au/pub/
7.replayassociatesftparchiveftp://utopia.hacktic.nl/pub/replay/pub/crypto/
8.rsadatasecurity(whynotincludethemtoo!)/
【關鍵詞】數據加密技術 計算機安全 應用
在網絡技術突飛猛進的今天,人們已經越來越離不開計算機的使用。計算機使人們的日常生活變得方便快捷,但有時候計算機也成為出賣個人信息的罪魁禍首,這是因為計算機安全存在極大的隱患。因此,數據加密技術的應用便為計算機安全提供了保障。本文是對數據加密技術的綜合性研究,旨在通過探討該技術的應用來促進計算機網絡技術安全發展。
1 數據加密技術簡介及計算機安全中的隱患
1.1 數據加密技術簡介
運用數據加密技術主要是為了增強信息的隱秘性,防止信息被黑客盜取后輕易破解,導致信息泄露。一般來講,數據加密技術主要是通過對信息加密把信息數據轉化為密文,讓人看不懂就相當于增強了保密性,而且這個技術還能利用密鑰變化多樣的特點把一樣的信息數據加工轉化為形式不一的密文。密鑰、加密的算法、明文和密文是數據加密系統的四個部分,而這一技術也主要包含端對端加密、鏈路層加密和節點加密三種形式。數據加密技術被廣泛地應用于生活中,比如對安全性要求較高的電子銀行使用該技術便能防止客戶信息泄露,避免給客戶造成經濟損失。
1.2 計算機安全中的隱患
隨著計算機技術的不斷發展,計算機安全的保障工作也應跟上腳步,否則信息安全得不到保障,將有可能造成巨大的損失。就目前調查研究得知,計算機安全中的隱患主要體現在三個方面:互聯網絡、數據存儲系統和計算機系統自身。
1.2.1 互聯網絡中存在著安全隱患
自改革開放以來,經濟技術迅猛發展,計算機和互聯網也逐漸走進每家每戶。計算機成了生活中必不可少的一部分,人們利用計算機進行日常辦公提高工作效率,休息時也可利用計算機進行休閑娛樂活動。互聯網的快速發展極大地豐富了人們的日常生活,與此同時也為計算機的安全埋下了安全隱患。黑客會利用互聯網的漏洞對計算機進行入侵,就很有可能會盜走用戶信息,造成信息泄露,在上網過程中遭遇的所謂電腦中病毒也就是這樣的一個過程。
1.2.2 數據存儲系統也存在著安全隱患
數據倉庫一般會被多數企業單位和事業單位用來進行存儲,很多信息資源都被存儲在這里,但這并不是萬無一失的,數據倉庫也存在一定的風險。由于數據庫存在一定的漏洞,黑客就會抓住這一點把數據庫里的數據復制下來,這種情況同樣會造成無法想象的損失。
1.2.3 計算機本身的系統也是存在安全隱患的
就拿應用十分廣泛的Windows系統來說,世界上絕大多數的計算機都安裝了這個系統,鑒于其使用量大,也就自然成為了黑客攻擊的對象。這樣一來,該系統就暴露了不少漏洞,對計算機安全造成了很大的隱患。一旦黑客利用這些漏洞攻破了計算機操作系統,便掌控了整臺計算機,在這種情況下盜走用戶私人隱私再加以利用,造成的損失則是不可估量的。
2 計算機安全中數據加密技術的應用
2.1 數據加密技術的應用體現在數據加密工具這一方面
通常地講,數據加密工具就是為了確保數據安全通過使用加密技術的方法對信息數據加密,壓縮包加密、光盤加密以及硬件加密等都屬于常見的數據加密工具。壓縮包加密是將數據壓縮打包,不僅是對計算機空間的節約,也是保護數據的一種有效方式;光盤加密是指使用密鑰給光盤中的數據加密,這樣一來便使得光盤中的數據不能被隨意復制,不但保護了光盤數據也有效防止了盜版行為的發生;硬件加密的主要目的是為了保障數據不從接口處流失,因此便在計算機的數據接口處使用密鑰進行加密,這也是一個行之有效的方法。
2.2 數據加密技術的應用也體現在密鑰的使用上
整個數據加密技術中,最關鍵的就是密鑰。雖然一般意義上數據加密的算法相對固定,但是密鑰多種多樣的形式必然導致產生的密文各不相同。利用密鑰的這個特點,就可以對數據進行不同形式的加密,就能使計算機的安全得到極大提高。就密鑰的分類來說,主要有公用密鑰和私人密鑰兩種。公用密鑰在安全性上相對私人密鑰較低,但其優點就在于能夠滿足不同目的不同密鑰的需要,而私人密鑰因為只能支持兩臺計算機的互訪,就相對具有局限性。對于實際生活中的應用,應將兩種密鑰結合使用,進行互補,這樣對數據進行加密才能更好地提高安全性。
2.3 數據加密技術的應用還體現在數據簽名認證這個方面
數字簽名認證這一技術聽起來似乎不太熟悉,但實際上這種技術早就融入了人們日常生活,尤其是在電子銀行系統里的運用較為廣泛。一般電子銀行系統都是通過使用這一技術來核實客戶的身份是否真實有效,而進行核實的這一系列行為其實就是在對數據進行加密和解密。具體說來,這種技術包括兩種,分別是基于公用密鑰之上的數字簽名和基于私人密鑰之上存在的的數字簽名。當然,數字簽名認證這項技術并沒有發展到完美的地步,所以在實際應用中要注意將兩種方式結合使用,提高安全性。
3 結束語
綜上所述,計算機和網絡技術的發展在給生活帶來諸多便利的同時也帶來一定的安全隱患,人們在使用計算機的同時也要加強對計算機安全的保障。數據加密技術是科學技術飛速發展的優秀成果,為計算機安全提供了強有力的保障。在今后的實際應用中,應大力推廣這項技術,同時還要注重對這一技術的研究和發展,務必要提高計算機安全,避免因信息泄露可能造成的損失。
參考文獻
[1]孔向軍.數據加密技術在計算機安全中的應用[J].網絡安全技術與應用,2014(06).
[2]樊林奇.數據加密技術在計算機安全中的應用[J].當代教育實踐與教學研究(電子刊),2015(01).
【關鍵詞】計算機;信息數據;安全;加密;技術
中圖分類號:TP39文獻標識碼:A文章編號:1006-0278(2016)01-181-02
當前,高校對計算機技術的運用愈發普遍,已變成高校師生不可或缺的一種方式,計算機安全問題愈發受到關注。計算機信息數據一旦被泄漏,則會造成無法估計的結果,因此,必須對計算機信息數據進行加密,阻止數據泄漏問題的出現。
一、計算機信息數據安全防護的必需性
(一)通過技術方向剖析
計算機和互聯網信息技術顯著提升,并獲得了廣泛的應用。當前,不論是教師的日常工作還是高校學生的學習與生活,均被大量運用。并且,大部分事物均需通過計算機信息技術得以解決。如果計算機信息處理技術發生了本質性的問題,則需對計算機信息系統進行維護,以確保系統穩定及安全。所以,維護并防護計算機信息數據安全尤為重要。
并且,眾多工作和學習均需通過計算機信息技術形成,長此以往必定會具有漏洞及問題,這則需人們定期對計算機信息系統進行維護,來保障系統的穩定性與安全性。所以,維護并防護計算機信息數據的安全十分關鍵。
(二)通過文化方向剖析
安全文化對高校文化及師生文化來講,均十分重要。不論以學校還是個人方向而言,安全則成為在工作、學習、生活的必備因素,只有具備安全的條件,才能夠令文化在穩定的狀態下得以進步。
(三)通過生產方向剖析
不論是校園還是師生,在平時的工作、學習當中均需通過計算機信息技術得以完成,如果出現錯漏,則會形成無法預計的結果。所以,必須強化計算機信息數據在安全方面的管理,以此保障計算機信息數據的安全性。
二、計算機信息數據安全的影響因素
計算機技術的運用愈發廣泛,計算機與網絡技術已經深入到生活的方方面面,如果數據被盜,則會為個人帶來嚴重的損失,隨著信息盜竊事件的高發,應當對信息保護意識有所提升,加快信息技術的加密工作,有效保障信息的安全。
(一)人為因素
計算機數據安全性十分關鍵,而人為因素則成為對計算機數據安全造成威脅的主要因素。在計算機技術的發展當中,存在一批通過惡意方式編寫惡意代碼而破壞運行程序的人,從而引發了計算機病毒、惡意木馬程序、黑客乃至電子欺騙等問題。這些問題必須通過提高計算機數據安全與加密技術,及時對病毒庫進行更新,通過新的程序抵御病毒。加快研發信息加密技術的速度,以確保信息數據的安全性。盡量掌控好人為因素,將損耗減到最低。
(二)非人為因素
除卻人為因素,還存在非人為因素。非人為因素則為計算機自身問題,包含了計算機硬件故障、電磁波影響等問題。這些突發狀況均會危害到計算機數據的安全。因此,在運用計算機時,則需盡量避免此類問題的發生,也需對這些問題進行防范,以便保障計算機信息數據的安全性。
(三)外部條件
保障計算機信息技術安全還需具有計算機安全與通信安全兩個外部條件。首先,計算機安全。將信息數據保存于計算機中,提高對信息數據的安全管理,保障計算機的安全。計算機安全不但表現于計算機硬件安全方面,還表現在計算機軟件安全方面。對于硬件而言,需定期進行維護,以保障計算機能夠正常運行。對于軟件而言,不但需具備安全的操作系統,還需安裝相應的殺毒軟件。其次,通信安全。對于計算機運轉而言,通信則成為信息數據傳輸的條件與媒介,假如計算機通信不夠安全,則會令信息數據產生安全方面的問題。在科學技術發展的今天,計算機網絡在持續完善,可是我們還需通過相應技術方法保障通信安全,以此保障計算機信息數據的安全。例如計算機信息的加密技術、信息確認技術、訪問控制技術等,透過這些方面預防信息被黑客、木馬等病毒侵入,從而導致信息的泄漏。
三、計算機信息數據安全的加密技術
當前,計算機信息數據安全問題越來越多,問題類別也逐步向多元化邁進,在此當中,為了有效保障信息數據本身的安全性,則需提高加密技術,使用效果良好的殺毒軟件,以此確保信息數據的安全性。
(一)計算機信息數據保存和傳輸加密技術
1.保存加密技術
此技術可以用于保障信息數據在計算機內的安全性。依照不同的展現形式,還能夠分成密文存儲及存儲控制。而密文存儲則是通過加密模塊等方式實現的,存儲控制則透過限定用戶權限或分辨用戶合法性來完成。不論哪種完成形式,存儲加密技術均能夠具有保障計算機信息數據安全的效果,從某種層面預防了信息數據的安全隱患。
2.傳輸加密技術
為保障信息數據傳輸的安全,對所需傳輸數據采取加密處理,也就是傳輸加密技術。通常傳輸加密技術分成線路加密以及端-端加密。前者是對線路的數據設置不同的加密,以確保計算機信息數據安全性。后者則指在信息發送與傳輸初期,通過用戶進行加密,透過信息數據包形式,通過無法辨別的信息進行傳輸,在完成目標后,在解碼數據查看信息,并被用戶使用在不同方面。
(二)計算機信息數據密匙管理加密技術與確認加密技術
對于計算機信息數據安全及管理而言,應當知曉密匙管理加密技術與確認加密技術能夠用于保障信息數據的安全性,也就是說,對密匙管理加密技術而言,在計算機信息安全加密當中,密匙成為必備的構成方面。通常來講,密匙介質存在磁卡或磁盤等,密匙管理主要為密匙的產生、保存、銷毀等。透過密匙加密保障密匙操控的完善性與準確性,以此保障網絡信息技術的穩定性與可靠性。確認加密技術是透過計算機內限制計算機信息數據共享范疇,保障數據的完善性與安全性,謹防數據遺失或惡意拷貝。此技術不僅令信息發出者不能推脫通過自己發出的文件與信息,可以令合法信息接收者能夠了解接受信息的真偽。并且在確認加密技術方面,信息數據確認系統方式有身份確認及數字簽字等。
(三)消息摘要與完整性鑒別技術
信息摘要指的是唯一可以與消息或文本的相對值,其通過一個單項Hash加密函數,對消息產生采取加密技術。信息發送者在發送之前需對信息摘要執行密鑰加密措施,令信息接收者在接收信息數據包后透過密鑰加密,再通過核實來判斷信息摘要的一致性,保障信息數據在傳輸當中未被變更。
完整性鑒別技術指的是完善的一套鑒別體系,其包含了信息數據、密鑰、身份、口令。在完整性鑒別系統運轉當中,一切被需要輸入的項目參數均需透過完整性鑒別系統進行檢驗,鑒定所有輸入的數值與預先設定數值是否相同,以此對計算機信息數據的安全進行保護。
綜上所述,計算機安全問題在當前社會不斷涌現,令強化計算機信息數據安全問題方面引發了較大的關注。有些人為了切身利益,通過各種方式盜竊計算機中的信息數據,并且對計算機信息數據造成威脅的方法愈來愈多,而且逐漸多樣化。目前有些加密技術僅可通過表面將計算機的安全問題進行解決,并不能從本質上阻隔這一問題的出現。高校可以通過有利的科技力量,通過不斷分析與研究,尋求出更好的解決方法,為計算機信息數據的安全與加密技術提供更多的選擇。從本質上意識到問題的危害性,才能夠真正解決計算機的安全問題。
參考文獻:
[1]宋利敏.芻議計算機信息數據的加密技術[J].科技風,2013(7):264.
關鍵詞:數據加密技術;計算機;安全
1當前計算機安全面臨的隱患
1.1計算機網絡方面
計算機網絡的功能主要是用于通信,信息在通信過程中很容易被竊取、監聽等。隨著進網人數的增加,網絡犯罪事件逐漸增多,網絡安全更加難以保障。網絡環境的不穩定,導致任何有意或者無意的攻擊都有可能造成大面積網絡或者計算機癱瘓,從而引起更嚴重的損害。而在通訊過程中如果未進行數據加密,不法分子很容易利用各種協議的漏洞,偽裝成目標IP,對數據進行截取、修改甚至反向攻擊。
1.2計算機操作系統方面
全球絕大多數的用戶都使用Windows系統,而Windows系統存在很多漏洞,但無論是Windows系統還是Unix或者類Unix系統,都存在Root用戶(管理員用戶),若Root口令泄露,整個系統將受控于他人。同時,無論哪一種操作系統,它的程序都是可以動態鏈接、創建進程的,而入侵者也可以利用這種方式創建自己的進程,從而竊取、修改用戶的數據甚至散播病毒。1.3數據庫管理方面為了便于信息以及數據的存儲,大多數公司企業或者政府機構都習慣通過數據庫對數據進行分類、存儲、管理。隨著業務往來增多,更多的數據存儲于數據庫中,因此,數據庫的安全越加重要。例如前段時間,國內電商平臺的大量用戶賬號被竊取,國外的一些知名人物的社交賬號泄露,主要還是由數據庫管理本身的漏洞引起的。一旦整個數據庫被攻擊、修改或者截取,所造成的損失是難以估量的。
2數據加密技術概述
2.1信息保密技術
信息的保密性是數據加密的重要研究方面,對數據進行加密是增強信息保密性的一種方法,通俗地講,就是通過數學手段對明文進行重新組織排列,只有合法人才能解密。從密碼的應用需求來分析,主要有兩種加密技術:分組密碼、公鑰密碼。分組密碼(DES)存在的時間很長,應用得最為廣泛,不過由于密碼的長度過于短小,因而易于受到窮搜索攻擊。公鑰加密技術使得信息通信雙方在事先不必交換密鑰的情況下就能建立起一個安全保密的信息通道。在一些本身并不安全的計算機或者通訊通道上,數據交換也可以放心進行。目前,比較被認可的兩種公鑰加密技術主要有兩種,一個是基于大整數因子分解問題的公鑰加密技術(RAS公鑰密碼體制),一個是基于離散對數問題的公鑰加密技術(橢圓曲線公鑰密碼體制)。隨著計算機的發展,計算機分解大整數的能力得到增強,RAS密碼的安全受到了威脅,因而橢圓曲線公鑰密碼體制更加受到關注。
2.2信息認證技術
信息的認證是保證信息安全的一個重要方面,主要保證信息的發送者是合法的以及信息的內容是完整的。在認證技術方面,大體分為三種:數字簽名、身份識別以及雜湊技術。數字簽名技術是一種使用公鑰加密的技術,應用單向函數原理。通常使用兩種算法,一個用于簽名,另一個用于驗證。簽名者將信息用私鑰加密,然后公布公鑰,使用公鑰將已加密信息解密并比較。身份識別主要用來識別通信用戶或者終端的身份合法性。在數據加密中,主要有使用通行字與使用持證兩種方式。通行字的認證過程簡單的說就是,用戶1將通行字的單向函數值傳送給計算機,計算機完成該值與機器存儲的值的計算,并進行比較。由于計算機中并未存儲單向函數值,所以,即使計算機遭到入侵也無法獲得單向函數值。使用持證則是合法人持有物,類似于鑰匙的功能。在該物品上需要滿足最少兩個條件,一個是識別者1能向驗證者2證明識別者1是正確的,同時在驗證后驗證者2無法獲得任何驗證信息,并且驗證者2不能模仿識別者1向其他識別者證明驗證者2是識別者1。雜湊技術就是把用戶輸入的任意長度的字符串經過計算輸出一串固定長度的串,是一種多對一的函數。這中間的轉換過程需要一個雜湊值,而對雜湊值的要求是將輸入串轉化為固定串的計算過程是容易的,求逆是比較困難的。根據目前的計算機水平,輸出串的長度至少在128bit以上,保證能抵抗生日攻擊。目前的這些雜湊算法應用于多種用途,這些雜湊函數由于都屬于偽隨機函數,因此,任何雜湊值都有可能。輸出的結果并不因輸入的內容可辨別,所以,即使輸入的串只存在一個bit的區別,都有可能使得輸出串中一半以上的bit與之不同。
2.3密鑰管理技術
密碼的安全性不在于硬件或者系統本身安全性的強度,而是主要取決于對密鑰的保護。所以。即使設備更換或者丟失了,只要密鑰并未丟失就能保證信息的安全。密鑰分配協定需要滿足兩個條件:第一,傳輸量以及存儲量不大;第二,每一對用戶的U、V都能獨立計算一個密鑰K。目前,能滿足這兩個條件的密鑰分配協議有很多,比如Diffie-Hellman密鑰預分配協議。秘密共享技術:由于所有密鑰都需要存儲在系統中,所以安全性取決于主密鑰。但是,有兩個非常明顯的缺陷,即主密鑰被暴露或者主密鑰丟失,系統就易受到攻擊或者信息無法使用。因此,需要使用一種解決方法,即門限法。密鑰托管技術:因為加密技術可以為人們生活帶來更多的安全,也為犯罪分子掩蓋了犯罪事實,所以,需要考慮使用一種對加密技術進行特別獲取以及恢復的手段。
3數據加密技術在計算機安全中的應用
3.1數據加密技術在數據庫加密中的應用
數據庫不同于一般的文件只有一種類型,可以進行整個加密,數據庫是一種大量數據類型的集合,各種數據的存儲管理方面都存在不同。與傳統的數據加密技術不同的是,數據庫加密有自身的要求,首先在硬件上,數據庫直接構建在硬盤上,其次在軟件上,操作系統是通用的。數據庫加密的主要目的是防止非法用戶惡意竊取、修改、刪除敏感數據,保證數據的正常合法,同時保障合法用戶的訪問能夠正常進行。因此,數據加密技術的首要條件是保證數據的安全。快速存儲:如果合法用戶在使用數據庫的過程中,每一次的操作都進行一次全文件的加密或者解密過程,將使執行效率變得低下,所以,在數據庫的數據加密中需要采用一種快速隨機存取的方法。存儲容量:如果數據庫由于存儲量過大導致存儲時間過長,這更容易遭到非法用戶的破解。所以,數據庫存儲加密需要采用高效的算法并保證密鑰定期更換。不同單位不同密鑰:在數據庫的加密過程中必須保證數據庫數據的結構化,而如果整個數據庫的密鑰都相同,更容易使得非法用戶通過統計規律的方式獲得解密方法,所以,需要將不同的加密單位匹配不同的密鑰,保證即使數據庫中的數據相同,但對應的密鑰還是不同的。
3.2數據加密技術在軟件加密中的應用
計算機軟件的研發需要開發者投入大量精力,許多開發者在軟件開發中都加入了加密方式,加密方式主要分為兩類,即硬件加密和軟件加密。硬件加密是給用戶一個類似于鑰匙的物件,也可以是設備的一些無法更改的參數信息,比如網卡的MAC地址、CD或者一些令牌之類的。但同時硬件的生產有無法被軟件開發商更有利控制或者提取信息,以及無法對軟件通過因特網進行快速更新等缺陷。軟件加密方式主要通過序列號或者注冊碼之類的形式激活軟件。軟件通過獲取計算機的主機ID等信息通過Internet傳遞給軟件服務商,軟件服務商再經過數據加密技術創建一個與該主機ID相對應的序列號或者注冊碼,并將其通過互聯網發送給合法用戶,用戶只要在軟件激活界面中輸入相對應的序列號即可。
3.3數據加密技術在電子商務中的應用
電子商務在交易過程中必須保證數據信息的完整安全以及交易對象的合法性。這需要通過加密的數據進行判斷對方是否合法,這是電子商務的首要保證。只要用戶的私有密鑰沒有泄露,就可以保證數據的來源是安全的。信息在解密過程中需要使用發送方的公共密鑰進行解密,只要解密成功就能證實發送方的身份是合法的。在進行數據通信過程中,信息的完整性以及一致性也非常重要,在這里可以使用數字簽名技術,發送方發送數字簽名以及信息內容,接收方通過發送方提供的公鑰對數字簽名進行解密就能得到明文。由于雙方使用的算法相同并且得到的信息內容一致,其他人想要偽裝發送加密的信息是很難的。在電子商務交易中不可避免存在一些抵賴行為,可以使用類似于托管的方式將數字簽名以及信息提交給有權威的合法的認證機構,由于交易雙方的數字簽名是經過發送方的私鑰加密產生,其他人無法得到該私鑰,是不能偽造的,且發送方的公鑰是公開的,所以,認證機構可以使用該公鑰對接收方發送的數字簽名以及信息進行解密,從而判斷是否存在抵賴行為。
4結語
隨著計算機技術的發展,計算機的解密能力進一步得到提升,給計算機安全帶來了更多隱患,所以,提升信息加密技術水平十分重要。數據加密技術的用途越來越廣泛,逐漸向教育、醫學、金融、電商方向發展,不僅為企業以及政府機構帶來了便捷安全,也為人們的生活提供了安全保障。
參考文獻
[1]趙君梅.數據加密技術在計算機安全中的應用探討[J].科技創新與應用,2014(19):66.
[2]孔向軍.數據加密技術在計算機安全中的應用[J].網絡安全技術與應用,2014(6):97.
【關鍵詞】密鑰,數據加密技術,DES,RSA,電子商務,SET
一、引言
隨著當今計算機網絡的飛速發展,計算機安全已經成為社會各界關注的焦點。本文討論了數據加密的兩種分類,并選取兩種典型的方法加以講述。然后在此基礎上討論電子商務的一些安全技術和SET協議。
二、數據加密
設計一種密度強的密碼算法有兩種方法,一是研究用于密碼分析的所有可能性解法,然后設計一套規則以挫敗這些解法中的任何一種算法,于是便能構造一種能夠抗拒這些解法的算法,二是構造這樣的一些算法,使得要破解它就必須解一些問題,而這些問題被認為是不可解的。本文將要介紹的DES算法屬于第一種,而RSA則屬于第二種。
加密技術按照密鑰的公開與否可以分為兩種體系,第一是對稱密鑰體系,這里加密密鑰匙和解密密鑰是相同的。為了安全性,密鑰要定期的改變。對稱算法速度快,所以在處理大量數據的時候被廣泛使用,其關鍵是保證密鑰的安全。典型的算法有DES及其各種變形(如Triple DES),IDEA,RC4、RC5以及古典密碼(如代換密碼和轉輪密碼)等。在眾多的對稱密碼中影響最大的是DES密碼。第二是公開密鑰體系,分別存在一個公鑰和私鑰,公鑰公開,私鑰保密。公鑰和私鑰具有一一對應的關系,用公鑰加密的數據只有用私鑰才能解開,其效率低于對稱密鑰體系,典型的算法有RSA、背包密碼,Elliptic Curve、ElGamal算法等等。最有影響的公鑰加密算法是RSA,足夠位數的RSA能夠抵抗到目前為止已知的所有密碼攻擊。下面選取兩體系中各最具有代表性最有影響的算法DES和RSA進行討論。
1.RSA算法
RSA算取自于它的創始人的名字:Rivest,Shamir,Adelman,該算法于1978年最早提出,至今仍沒有發現嚴重的安全漏洞。RSA基于數學難題,即具有大素數因子的合數分解,以最新的計算方法也還是計算上不可行的。數論經驗表明,這個問題是難解的。
RSA使用兩個密鑰,一個是公鑰(public key,以下用PK表示),一個是私鑰(private key,以下用SK表示) 加密時把明文分成塊,塊的大小可變,但不超過密鑰的長度。RSA把明文塊轉化為與密鑰長度相同的密文。其算法如下:
首先選擇兩個秘密的相異質數p,q,計算n=pq,取r是與(p-1)(q-1)互質的數,這里r便是SK。接著找一數m,使得rm==1mod(p-1)(q-1),根據歐幾里得算法(a=bn+c,則a與b的gcd就等于b與c的gcd),這樣的m一定可以找到。這里m和n便是公鑰PK。在編碼時,假設資料為A,將其分成等長數據N塊, 每塊為a
對于p,q的選擇,一般來說是足夠大的素數, 對于大,并沒有一個確定的界限,因為隨著計算機技術的發展,破解能力正在逐步增強(根據摩爾定理計算能力18個月就翻一番)。一般來說,安全等級高的,則密鑰選取大的,安全等級低些,則選取相對小些的數。RSA的安全性依賴于大數分解,然而值得注意的是,是否等同于大數分解一直未得到理論上的證明,并沒有證明要破解RSA就一定得進行大數分解。
2.DES
DES采用傳統的換位和置換的方法進行加密,在56比特密鑰的控制下,將64比特明文塊變換為64比特密文塊,加密過程包括16輪的加密迭代,每輪都采用一種乘積密碼方式(代替和移位)。首先是處理原密鑰,產生16個48位子密鑰K(i),i=1,2…16,接著處理64位數據塊,過程可以用下圖表示:
其中置換和g 函數的選擇都按特定的規則進行,g函數操作是先將R(I)擴充成48位后與K(I+1)異或運算,接著將所得的48位數分成8個6位數,記為B[I],I=1,2…8,選取8個S密箱,將B[I]的第一位和第六位串聯成一個數記位m,取出B[I]的第二至五位串聯成一個四位數記位n,用S密箱中的第n行第m列的數替換B[I],替換完全部的B[I]后,將B[1]至B[8]串聯成一個32位數,再經過換位,至此g函數操作全部結束。將所得結果與L[I]異或后,得到R[I+1]。進行下一輪的加密,直到用完K(16),再經過逆初始置換,全部加密過程結束。而脫密時只需要將密鑰順序倒過來,即第一輪用K(16),第二輪用K(15),以次類推。
于是DES加密算法又可以簡單地用下式表示:
Ek(m) = N(IP)*T16*T15……T1*IP(m)
其中IP為初始置換,N( X)是X的逆,Ti,i = 1,2,…16是一系列的變換。Ek(m)表示明文m在密鑰k的作用下產生的密文
解密算法: N(Ek) = N(IP)*T1*T2……T16*IP[Ek(m)]
在應用時一般是將DES和RSA綜合起來使用。DES加密效率高,但是要解決密鑰的存儲問題,因為只要傳輸就難以保證密鑰不被泄露。這時可以采用如下策略:假如A要向B發送密文(DES)和密鑰SK,可以用B公布的公開密鑰對Sk進行RSA加密,將其結果和密文一起發送給B,B接受數據首先用自己的私鑰對SK進行解密,得到A的密鑰SK。再用SK解密密文。這樣就解決了密鑰的傳輸問題。因為沒有人知道B的私鑰,也就沒有辦法獲得SK。
三、安全電子交易
電子商務的關鍵是要保證商業活動的安全性,象傳統方法一樣安全可靠。而數據加密技術則構成了電子商務安全的基礎,可以說,沒有數據加密技術,就沒有電子商務的安全。電子商務主要有下面一些安全控制要求:第一,確定貿易伙伴身份的真實性;第二,確保信息的保密性,如怎樣保證用戶的信用卡號不被竊取,如何保證貨源定單等信息不被競爭對手獲悉;第三,保證電子定單等信息的真實性(未被冒充)以及在傳輸過程中未被篡改;第四,保證電子定單等信息的不可否認性,即交易的任何一方在未經對方同意的情況下都不能出爾反爾;第五,在交易雙方發生糾紛時能得到合理的仲裁和解決。
由VISA和MASTCARD所開發SET(Secure Electronic Transaction)協議便能滿足以上的要求,它是在開放的網絡環境中卡支付安全協議,獲得了諸如microsoft,IBM等許多大公司的支持。
1.SET協議中交易的參與方
SET支付系統的參與放主要方有:
持卡人,即消費者,他們通過web瀏覽器或客戶端軟件購物;
商家,提供在線商店或商品光盤給消費者;
發卡人,它是一金融機構,為持卡人開帳戶,并且發放支付卡;
受款銀行,它為商家建立帳戶,并且處理支付卡的認證和支付事宜
支付網關,是由受款銀行或指定的第三方操縱的設備,它處理商家的支付信息,同時也包括來自消費者的支付指令
SET支付系統還涉及到認證機構(CA),但是它不參與SET的支付流程,它給各參與方頒發證書,各參與方可以通過查看對方的證書,來確定對方是否準確而不是冒充的。要建立安全的電子商務系統,首先必須有一個健全可信的CA。
2.SET所采用的安全措施
SET采用的安全措施,幾乎全部以數據加密技術為基礎,可以說沒有加密技術,就沒有安全電子交易。SET協議把對稱密鑰體制和公開密鑰體制完美的結合了起來,充分利用了DES效率高速度快,RSA安全性高,密鑰管理簡便的優點。下面以數據加密技術為基礎,討論SET所采用的安全措施。
1數字簽名
數字簽名采用RSA算法,數據發送方采用自己的私鑰加密數據,接受方用發送方的公鑰解密,由于私鑰和公鑰之間的嚴格對應性,使用其中一個只能用另一個來解,保證了發送方不能抵賴發送過數據,完全模擬了現在生活中的簽名。
2數字信封
發送方將消息用DES加密,并將DES對稱密鑰用接受方的公鑰加密,稱為消息的“數字信封”,將數字信封與DES加密后的消息一起發給接受方。接受者收到消息后,先用其密鑰打開數字信封,得到發送方的DES對稱密鑰,再用此對稱密鑰去解開數據。只有用接受方的RSA密鑰才能夠打開此數字信封,確保了接受者的身份。
3雙重簽名
數字簽名在SET協議中一個重要的應用就是雙重簽名。在交易中持卡人發往銀行的支付指令是通過商家轉發的,為了避免在交易的過程中商家竊取持卡人的信用卡信息,以及避免銀行跟蹤持卡人的行為,侵犯消費者隱私,但同時又不能影響商家和銀行對持卡人所發信息的合理的驗證,只有當商家同意持卡人的購買請求后,才會讓銀行給商家負費,SET協議采用雙重簽名來解決這一問題。
假設持卡人C(customer)從商家M(mechant)購買商品,他不希望商家看到他的信用卡信息,也不希望銀行B(bank)看到他有關商品的信息,于是他采用雙重簽名,流程如圖并說明如下:
首先C產生發往M的訂購信息OI和發往B的支付指令PI,并分別產生OI,PI的摘要H(OI),H(PI)。其中摘要由一個單向HASH函數作用于消息產生,它是一個唯一對應此消息的值,其它任何消息用HASH函數作用都不能產生此值,因此用消息摘要可以檢查消息在中途是否被篡改。連接H(OI)和H(PI)得到OP,再生成OP的摘要H(OP),用C的RSA私鑰簽名H(OP),得sign[H(OP)],稱為雙重簽名。C將消息{OI,H(PI),sign[H(OP)]}發給M,將{PI,H(OI),sign[H(OP)]}發給B。在驗證雙重簽名時,接受者分別創建消息摘要,M生成H(OI),B生成H(PI),再分別將H(OI)/H(PI)與另一接受到的摘要H(PI)/H(OI)連接,生成OP及其摘要H(OP)’,接受者M/B用C的RSA公鑰解開sign[H(OP)],得到H(OP),比較H(OP)’與H(OP)是否相同,如果相同,則表示數據完整且未被篡改,如果不同,則丟棄數據。
3.SET交易流程
持卡人向商家發初始請求,商家產生初始應答。
持卡人瀏覽商家的商品,這可以通過使用網上商店或者商家提供的CD-ROM來實現。選好商品后要求在線支付,激發支付軟件,向商家發送初始請求。初始請求指定了交易環境,包括持卡人所使用的語言,交易ID,使用的是何種交易卡等。商家接受初始請求,產生初始應答,對初始應答生成消息摘要,對此消息摘要進行數字簽名,將商家證書,網關證書,初始應答, 消息摘要的數字簽名等,發送給持卡人。由于初始應答未被加密,所以它不應包含機密信息。
持卡人接受并檢查商家的初始應答,如無誤,發出購物請求。
持卡人接受初始應答,檢查商家證書和網關證書。接著用商家公鑰解開消息摘要的數字簽名,用HASH算法產生初始應答的摘要,將兩者比較,如果相同則表示數據在途中未被篡改,否則丟棄。
持卡人發出購物請求,它包含了真正的交易行為。購物請求是協議中最復雜的信息,它包括兩個部分:發網商家的定單指令OI和通過商家轉發往網關的支付指令PI,通過雙重簽名將PI和OI結合起來(雙重簽名見上文說明),生成 sign[H(OP)]。持卡人生成對稱密鑰,對支付指令PI加密,再用網關的公鑰對此對稱密鑰和持卡人帳號加密,形成數字信封。最后將持卡人證書,OI,PI密文,數字信封,sign[H(OP)],PI和OI各自的消息摘要等發給商家,其中有消息是通過商家轉發給支付網關的。
商家接受并檢查持卡人的購物請求,如無誤,發出支付請求。
商家接受持卡人的購物請求,認證持卡人的證書。接著驗證雙重簽名,看數據在傳輸過程中是否被篡改。如數據完整,則處理定單信息,產生支付請求。
將支付請求用HASH算法生成摘要,并簽名,網關收到后用商家公鑰解密,并確認支付請求是此商家所發在且在途中未被篡改。生成對稱密鑰對支付請求加密,并用網關公鑰加密形成數字信封。最后將商家證書,支付請求密文,商家數字簽名,數字信封和持卡人通過商家轉發的:sign[H(OP)],OI摘要,PI密文,持卡人數字信封,持卡人證書等發往支付網關。
支付網關接受并檢查支付請求,如無誤,發扣款請求。
支付網關分別檢查確認商家發來的數據和持卡人發來的數據。網關首先認證商家證書,然后用私鑰打開商家數字信封,獲取商家對稱密鑰, 解開支付請求密文。用HASH算法作用于支付請求,形成摘要,與商家發來的支付請求摘要(解開數字簽名所得)相比較,如果相同則表示數據完整,否則丟棄數據。
網關檢查持卡人證書,然后用私鑰打開持卡人數字信封,得到他的帳號和對稱密鑰。用此對稱密鑰解開PI密文,得到PI,接著驗證雙重簽名,生成PI的摘要,與OI摘要相連接,再次生成摘要,其結果與H(OP)(解雙重簽名所得)相比較,如果相同則數據完整,如果不同則丟棄。網關將信息發送往銀行。
銀行向網關發送扣款應答,網關向商家發送支付應答。
在支付網關和銀行之間是通過金融專用網向連,其間的業務,SET并不作規定。
網關在接受銀行的扣款應答后,生成支付應答,同樣產生摘要,對其進行數字簽名,生成對稱密鑰,對支付應答加密,并且將對稱密鑰裝入數字信封。將網關證書,數字簽名,數字信封,支付應答密文一起發往商家。
商家接受并檢查網關的支付應答,如無誤,向持卡人發送購物應答。
商家認證網關的證書,用私鑰打開數字信封,得到網關對稱密鑰,用此密鑰解開支付應答,產生摘要。用網關公鑰解開其數字簽名,得到支付原始支付應答摘要,并與新產生的摘要比較,如果相同,則數據完整,如果不同則丟棄。
商家產生購物應答,對購物應答生成摘要,并簽名,將商家證書,購物應答,數字簽名一起發往持卡人。如果交易成功,則發貨。
持卡人接受購物應答,驗證商家證書。對購去應答產生摘要,用商家公鑰解開數字簽名,得到原始摘要,將之與新產生的摘要比較,相同則表示數據完整,不同則丟棄。至此,交易流程結束。
以上簡要地討論了SET協議的主要的交易流程及其中的數據流向的問題。若要深刻的了解出錯處理以及各種消息的格式,可以參照參考數目[3]。
四.結束語
本文了討論了數據加密技術,介紹了當今使用最為廣泛的DES和RSA算法。DES效率高,但是密鑰保存難,RSA安全性高,但是效率低,在實際應用中經常把兩者結合起來使用。保證安全性是電子商務的核心環節,SET協議充分地予以考慮,并在交易流程中充分地體現了這一點。它使用的主要技術有,數字簽名,數字信封,雙重簽名等,而這些無不以數據加密技術為基礎。
參考資料 :
盧起駿等譯,計算機網絡保密系統設計與實現指南,科學技術文獻出版社重慶分社,1987
SET Secure Electronic Transaction Specification :Business Description, May,31,1997
關鍵詞:數據加密方法;數據加密技術;信息安全
隨著計算機互聯網的驟步實現,數據加密技術顯得越來越重要。因為在競爭激烈的信息時代,信息不僅給我們帶來很大的方便,同樣,信息也可以用來對他們構成威脅、造成破壞。因此,在客觀上就需要一種強有力的安全措施來保護機密數據不被竊取或篡改,數據加密技術就應運而生。所謂數據加密(Data Encryption)技術是指將一個信息(或稱明文,plain text)經過加密鑰匙(Encryption key)及加密函數轉換,變成無意義的密文(cipher text),而接收方則將此密文經過解密函數、解密鑰匙(Decryption key)還原成明文。加密技術是網絡安全技術的基石。
1、數據加密技術
1.1 數據加密的概念
所謂加密[1],就是把數據信息即明文轉換為不可辨識的形式即密文的過程,目的是使不應了解該數據信息的人不能夠知道和識別。將密文轉變為明文的過程就是解密。加密和解密過程形成加密系統,明文與密文統稱為報文。任何加密系統,不論形式如何復雜,實現的算法如何不同,但其基本組成部分是相同的,通常都包括如下4個部分:
(1)需要加密的報文,也稱為明文;
(2)加密以后形成的報文,也稱為密文;
(3)加密、解密的裝置或算法;
(4)用于加密和解密的鑰匙,稱為密鑰。密鑰可以是數字、詞匯或者語句。
數據加密與解密從宏觀上講是非常簡單的,很容易理解。加密與解密的一些方法是非常直接的,很容易掌握,可以很方便的對機密數據進行加密和解密。數據加密技術要求只有在指定的用戶或網絡下,才能解除密碼而獲得原來的數據,這就需要給數據發送方和接受方以一些特殊的信息用于加解密,這就是所謂的密鑰。其密鑰的值是從大量的隨機數中選取的。
1.2 數據加密方法
1.2.1 基于單鑰技術的傳統加密方法
這類方法的特點是采用單鑰技術[2],即加密和解密過程中使用同一密鑰,所以它也稱為對稱式加密方法;這類方法主要包括代碼加密法、替換加密法、變位加密法和一次性密碼簿加密法等。
(1)代碼加密法。通信雙方使用預先設定的一組代碼表達特定的意義而實現的一種最簡單的加密方法。
(2)替換加密法。這種方法是制定一種規則,將明文中的每個字母或每組字母替換成另一個或一組字母。
(3)變位加密法。變位加密法不隱藏原來明文的字符,而是將字符重新排序。比如,加密方首先選擇一個用數字表示的密鑰,寫成一行,然后把明文逐行寫在數字下。按照密鑰中數字指示的順序,將原文重新抄寫,就形成密文。
(4)一次性密碼簿加密法。這種方法要先制定出一個密碼薄,該薄每一頁都是不同的代碼表。加密時,使用一頁上的代碼加密一些詞,用后撕掉或燒毀該頁;然后再用另一頁上的代碼加密另一些詞,直到全部的明文都加密成為密文。破譯密文的唯一辦法就是獲得一份相同的密碼簿。
又因為傳統的加密方法在許多方面有一定的局限性,于是人們又想出了很多算法來加強和改進這些方法。
1.2.2 改進的傳統加密方法
此類加密方法的共同特點是采用雙鑰技術,也就是加密和解密過程中使用兩個不同的密鑰,它也稱為非對稱式加密方法。這類方法主要包括數據加密標準DES、三層DES、RC2和RC4、數字摘要、國際數據加密算法IDEA和基于硬件的加密方法[3]。
(1)數據加密標準DES。DES(Data Encryption Standard)是一個對稱密鑰系統,加密和解密使用相同的密鑰。它通常選取一個64位(bit)的數據塊,使用56位的密鑰,在內部實現多次替換和變位操作來達到加密的目的。DES有ECB,CBC和CFB三種工作模式,其中ECB采用的是數據塊加密模式,CBC與CFB采用的是數據流加密模式。
(2)三層DES(Triple-DES)。這種方法是DES的改進加密算法,它使用兩把密鑰對報文作三次DES加密,效果相當于將DES密鑰的長度加倍。三層DES克服了DES的顯著缺點,即其56位的短密鑰。
(3)RC2和RC4。RC指Rivest Code,它是以發明人美國麻省理工學院的Ron Rivest教授的姓氏命名的,由RSADSI公司發行,是不公開的專有算法。RC2采用的是數據塊加密算法,RC4采用的是數據流加密算法。
(4)數字摘要(Digital Digest)。該加密方法也是由Ron Rivest設計的,也被稱為安全Hash編碼法SHA(Secure Hash Algorithm)或MD5(MD Standards for Message Digest)。SHA其實就是RC方法的一種實現。
(5)國際數據加密算法IDEA[4]。IDEA(International Data Encryption Algorithm)是1990年瑞士的James Massey,Xuejia Lai等人發表的一個數據塊加密算法。該算法使用128位的密鑰,能夠有效地消除試圖窮盡搜索密鑰的可能攻擊。
(6)基于硬件的加密算法。為克服軟件加密算法在容易復制、容易嘗試方面的不足,人們又開發了基于硬件的加密算法。
2、數據加密在銀行系統中的應用
隨著社會的進步,計算機信息系統廣泛地深入到社會各行各業,尤其是金融系統。隨著“網上銀行”的興起,銀行系統的安全問題顯得越來越重要,安全隱患已成為迫在眉睫的首要問題。為了解決銀行的安全隱患,因此新一級別的安全措施也就脫穎而出。數據加密就是其中之一。數據加密就是按照確定的密碼算法把敏感的明文數據變換成難以識別的密文數據,通過使用不同的密鑰,可用同一加密算法把同一明文加密成不同的密文。當需要時,可使用密鑰把密文數據還原成明文數據,稱為解密。這樣就可以實現數據的保密性。眾所周知,各種相關網絡安全的黑客和病毒都是依賴網絡平臺進行的,而如果在網絡平臺上就能切斷黑客和病毒的傳播途徑,那么就能更好地保證安全。眾多銀行如農業銀行、建設銀行、工商銀行等都采取了數據加密技術與網絡交換設備聯動。即是指交換機或防火墻在運行的過程中,將各種數據流的信息上報給安全設備,數字加密系統可根據上報信息和數據流內容進行檢測,在發現網絡安全事件的時候,進行有針對性的動作,并將這些對安全事件反應的動作發送到交換機或防火墻上,由交換機或防火墻來實現精確端口的關閉和斷開,這樣就可以使數據庫得到及時充分有效的保護。