Ⅰ 國密演算法是什麼是一種演算法還是一類演算法若為一類演算法,都包含什麼
國密演算法,國家密碼局認定的國產密碼演算法,即商用密碼。
國密演算法是國家密碼局制定標準的一系列演算法。其中包括了對稱加密演算法,橢圓曲線非對稱加密演算法,雜湊演算法。具體包括SM1,SM2,SM3等。
SM1,對稱加密演算法,加密強度為128位,採用硬體實現。
SM2,國家密碼管理局公布的公鑰演算法,其加密強度為256位。
SM3,密碼雜湊演算法,雜湊值長度為32位元組。
(1)我國哪些密碼演算法已經成為國際標擴展閱讀
商用密碼的應用領域十分廣泛,主要用於對不涉及國家秘密內容但又具有敏感性的內部信息、行政事務信息、經濟信息等進行加密保護。比如:商用密碼可用於企業門禁管理、企業內部的各類敏感信息的傳輸加密、存儲加密,防止非法第三方獲取信息內容;也可用於各種安全認證、網上銀行、數字簽名等。
例如:在門禁應用中,採用SM1演算法進行身份鑒別和數據加密通訊,實現卡片合法性的驗證,保證身份識別的真實性。 安全是關系國家、城市信息、行業用戶、百姓利益的關鍵問題。
國家密碼管理局針對現有重要門禁系統建設和升級改造應用也提出指導意見,加強晶元、卡片、系統的標准化建設。國密門禁系統的升級的案例也逐漸增多,基於自主國產知識產權的CPU卡、CPU卡讀寫設備及密鑰管理系統廣泛受到關注。
Ⅱ 1、對稱加密演算法
指加密和解密使用相同密鑰的加密演算法。對稱加密演算法用來對敏感數據等信息進行加密,常用的演算法包括RC4、DES、3DES、AES、DESX、Blowfish、ChaCha20、RC5、RC6。前3種演算法被認為是不安全的,通常禁止使用。
國內:SM1、SM4、ZUC
國際:DES、3DES、AES
說明:SM1的128位保密強度和性能與AES相當,SM4的128位已升級為國際標准
塊密碼演算法:DES、3DES、AES
流密碼演算法:RC4
SM1:對稱加密演算法,加密強度為128位,採用硬體實現; 演算法不公開 ,只能通過相關安全產品進行使用。
SM4:對稱演算法,隨WAPI標准一起公布,可使用軟體實現,加密強度為128位。
SM4分組密碼演算法是我國自主設計的分組對稱密碼演算法,用於實現數據的加密/解密運算,以保證數據和信息的機密性。要保證一個對稱密碼演算法的安全性的基本條件是其具備足夠的密鑰長度,SM4演算法與AES演算法具有相同的密鑰長度分組長度128比特,因此在安全性上高於3DES演算法。
DES(Data Encryption Standard) :數據加密標准,速度較快,適用於加密 大量數據 的場合。
3DES(Triple DES) :是基於DES,對一塊數據用三個不同的密鑰進行三次加密,強度更高。
AES(Advanced Encryption Standard) :高級加密標准,是下一代的加密演算法標准,速度快,安全級別高;
ECB(Electronic Codebook)、特點:運算快速,支持並行處理,需要填充、說明:不推薦使用
CBC (Cipher Block Chaining)、特點:支持並行處理,需要填充、說明:推薦使用
CFB(Cipher Feedback)、特點:支持並行處理,不需要填充、說明:不推薦使用
OFB(Output Feedback)、特點:迭代運算使用流密碼模式,不需要填充、說明:不推薦使用
CTR (Counter)、特點:迭代運算使用流密碼模式,支持並行處理,不需要填充、說明:推薦使用
XTS(XEX-based tweaked-codebook)、特點:不需要填充、說明:用於本地硬碟存儲解決方案中
填充標准:明文長度必須是分組長度的倍數,如不是倍數,則必須有填充機制
PKCS#7填充:可處理的分組長度是1到255個位元組
AES演算法使用標准,比如:AES-128-CBC-PKCS#7,其中秘鑰長度128,分組模式CBC,填充標准PKCS#7,AES演算法默認分組128bit
Ⅲ 國密演算法是什麼呢
國密演算法是國家密碼局制定標準的一系列演算法。其中包括了對稱加密演算法,橢圓曲線非對稱加密演算法,雜湊演算法。具體包括SM1、SM2、SM3、SMS4等,其中:
SM1:對稱加密演算法,加密強度為128位,採用硬體實現。
SM2:國家密碼管理局公布的公鑰演算法,其加密強度為256位。其它幾個重要的商用密碼演算法包括:
SM3:密碼雜湊演算法,雜湊值長度為32位元組,和SM2演算法同期公布,參見《國家密碼管理局公告(第 22 號)》。
SMS4:對稱加密演算法,隨WAPI標准一起公布,可使用軟體實現,加密強度為128位。
案例
例如:在門禁應用中,採用SM1演算法進行身份鑒別和數據加密通訊,實現卡片合法性的驗證,保證身份識別的真實性。安全是關系國家、城市信息、行業用戶、百姓利益的關鍵問題。國家密碼管理局針對現有重要門禁系統建設和升級改造應用也提出指導意見,加強晶元、卡片、系統的標准化建設。
Ⅳ SM演算法是如何獲得國際認可
眾所周知,為了保障商用密碼的安全性,國家商用密碼管理辦公室制定了一系列密碼標准,為了以後獲得國際認可和認同。SM演算法包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖沖之密碼演算法(ZUC)那等等。其中SM1、SM4、SM7、祖沖之密碼(ZUC)是對稱演算法;SM2、SM9是非對稱演算法;SM3是哈希演算法。目前,這些演算法已廣泛應用於各個領域當中,期待有一天會有採用國密演算法的區塊鏈應用出現。其中SM1、SM7演算法不公開,調用該演算法時,需要通過加密晶元的介面進行調用;比較少的人了解這些演算法的使用方式,在這里對這些國密演算法做一下簡單的科普。SM1 演算法是分組密碼演算法,分組長度為128位,密鑰長度都為 128 比特,演算法安全保密強度及相關軟硬體實現性能與 AES 相當,演算法不公開,僅以IP核的形式存在於晶元中。採用該演算法已經研製了系列晶元、智能IC卡、智能密碼鑰匙、加密卡、加密機等安全產品,廣泛應用於電子政務、電子商務及國民經濟的各個應用領域(包括國家政務通、警務通等重要領域)。SM7演算法,是一種分組密碼的演算法,分組長度一般為128比特,密鑰長度為128比特。SM7適用於非接觸式IC卡,應用包括身份識別類應用(門禁卡類、工作證、參賽證),票務類應用(大型賽事門票、展會門票),支付與通卡類應用(積分消費卡、校園一卡通、企業一卡通等)。
Ⅳ 通過中國國家商用密碼局認可的數據加密演算法有哪些
1、對稱密碼演算法:SMS4;2、簽名演算法:ECDSA; 3、密鑰協商演算法:ECDH;4、雜湊演算法:SHA-256;5、隨機數生成演算法:自行選擇。
Ⅵ 科普:國產密碼演算法
密碼學(cryptography): 通過將信息編碼使其不可讀,從而達到安全性。
演算法 :取一個輸入文本,產生一個輸出文本。
加密演算法 :發送方進行加密的演算法。
解密演算法 :接收方進行解密的演算法。
對稱密鑰加密 (Symmetric Key Cryptography):加密與解密使用相同密鑰。
非對稱密鑰加密 (Asymmetric Key Cryptography):加密與解密使用不同密鑰。
密鑰對 :在非對稱加密技術中,有兩種密鑰,分為私鑰和公鑰,私鑰是密鑰對所有者持有,不可公布,公鑰是密鑰對持有者公布給他人的。
公鑰 :公鑰用來給數據加密,用公鑰加密的數據只能使用私鑰解密。
私鑰 :如上,用來解密公鑰加密的數據。
摘要 :對需要傳輸的文本,做一個HASH計算。
簽名 :使用私鑰對需要傳輸的文本的摘要進行加密,得到的密文即被稱為該次傳輸過程的簽名。
密碼協議是指兩個或兩個以上的參與者為了達到某種特定目的而採取的一系列步驟。規定了一系列有序執行的步驟,必須依次執行。必須有兩個或兩個以上的參與者,有明確的目的。參與者都必須了解、同意並遵循這些步驟。
常見的密碼協議包括IPSEC VPN 協議、SSL VPN 協議、密鑰交換協議等。
密碼是指描述密碼處理過程的一組運算規則或規程,一般是指基於復雜數學問題設計的一組運算,其基本原理基於數學難題、可證明計算、計算復雜度等。主要包括:對稱密碼、公鑰密碼、雜湊演算法、隨機數生成。
在對稱加密演算法中,加密使用的密鑰和解密使用的密鑰是相同的,加密和解密都是使用同一個密鑰,不區分公鑰和私鑰。
通信雙方採用相同的密鑰來加解密會話內容,即一段待加密內容,經過同一個密鑰的兩次對稱加密後,與原來的結果一樣,具有加解密速度快和安全強度高的優點。
國際演算法:DES、AES。
國產演算法:SM1、SM4、SM7。
非對稱加解密演算法又稱為 公鑰密碼 ,其密鑰是成對出現的。雙方通信時,首先要將密鑰對中的一個密鑰傳給對方,這個密鑰可以在不安全的信道中傳輸;傳輸數據時,先使用自己持有的密鑰做加密,對方用自己傳輸過去的密鑰解密。
國際演算法:RSA
國產演算法:SM2
優點:
密鑰分發數目與參與者數目相同,在有大量參與者的情況下易於密鑰管理。
支持數字簽名和不可否認性。
無需事先與對方建立關系,交換密鑰。
缺點:
速度相對較慢。
可能比同等強度的對稱密碼演算法慢10倍到100倍。
加密後,密文變長。
密碼雜湊演算法 :又稱為散列演算法或哈希函數,一種單向函數,要由散列函數輸出的結果,回推輸入的資料是什麼,是非常困難的。
散列函數的輸出結果,被稱為訊息摘要(message digest)或是 摘要(digest) ,也被稱為 數字指紋 。
雜湊函數用於驗證消息的完整性, 在數字簽名中,非對稱演算法對數據簽名的速度較慢,一般會先將消息進行雜湊運算,生成較短的固定長度的摘要值。然後對摘要值進行簽名,會大大提高計算效率 。
國際演算法:MD5、SHA1、SHA2、SHA3
國產演算法:SM3
2009年國家密碼管理局發布的《信息安全等級保護商用密碼技術實施要求》中明確規定,一、二、三、四級信息系統應使用商用密碼技術來實施等級保護的基本要求和應用要求,一到四級的密碼配用策略要求採用國家密碼管理部門批准使用的演算法。
2010年年底,國家密碼管理局公開了SM2、SM3等國產密碼演算法。
2011年2月28日,國家密碼管理局印發的【2011】145號文中明確指出,1024位RSA演算法正在面臨日益嚴重的安全威脅,並要求各相關企業在2012年6月30日前必須使用SM2密碼演算法
國家密碼管理局在《關於做好公鑰密碼演算法升級工作的函》中要求2011年7月1日以後建立並使用公鑰密碼的信息系統,應使用SM2演算法;已經建設完成的系統,應盡快進行系統升級,使用SM2演算法。
2014年底,國家密碼管理局啟動《重要信息系統密碼應用推進總體研究課題》,確定十三五密碼 科技 專項。
2017年11月底,國家密碼管理局下發了《政務雲密碼支撐方案及應用方案設計要點》。
2017年國家密碼管理局發布了42項金融和重要領域國產密碼應用試點任務。
2018年,中共中央辦公廳、國務院辦公廳印發《金融和重要領域密碼應用與創新發展工作規劃(2018-2022年)。
2018年,為指導當時即將啟動的商用密碼應用安全性評估試點工作,國家密碼管理局發布了密碼行業標准GM/T0054-2018《信息系統密碼應用 基本要求》。
2021年3月,國家市場監管總局、國家標准化管理委員會發布公告,正式發布國家標准GB/T39786-2021《信息安全技術信息系統密碼應用基本要求》,該標准於2021年10月1日起實施。
SM1 演算法是分組密碼演算法,分組長度為 128 位,密鑰長度都為 128 比特,演算法安全保密強度及相關軟硬體實現性能與AES相當,演算法不公開,僅以IP核的形式存在於晶元中。
演算法集成於加密晶元、智能 IC 卡、智能密碼鑰匙、加密卡、加密機等安全產品,廣泛應用於電子政務、電子商務及國民經濟的各個應用領域(包括政務通、警務通等重要領域)。
SM2橢圓曲線公鑰密碼演算法是我國自主設計的公鑰密碼演算法,是一種基於ECC演算法的 非對稱密鑰演算法, 其加密強度為256位,其安全性與目前使用的RSA1024相比具有明顯的優勢。
包括SM2-1橢圓曲線數字簽名演算法,SM2-2橢圓曲線密鑰交換協議,SM2-3橢圓曲線公鑰加密演算法,分別用於實現 數字簽名密鑰協商 和 數據加密 等功能。
SM3雜湊演算法是我國自主設計的密碼雜湊演算法,屬於哈希(摘要)演算法的一種,雜湊值為256位,安全性要遠高於MD5演算法和SHA-1演算法。
適用於商用密碼應用中的 數字簽名 和 驗證消息認證碼的生成與驗證 以及 隨機數 的生成,可滿足多種密碼應用的安全需求。
SM4 分組密碼演算法 是我國自主設計的分組對稱密碼演算法,SM4演算法與AES演算法具有相同的密鑰長度分組長度128比特,因此在安全性上高於3DES演算法。
用於實現數據的加密/解密運算,以保證數據和信息的機密性。軟體和硬體加密卡均可實現此演算法。
商用密碼技術框架包括 密碼資源、密碼支撐、密碼服務、密碼應用 等四個層次,以及提供管理服務的密碼管理基礎設施。
密碼資源層: 主要是提供基礎性的密碼演算法資源。
密碼支撐層: 主要提供密碼資源調用,由安全晶元、密碼模塊、智能IC卡、密碼卡、伺服器密碼機、簽名驗簽伺服器、IPSCE/SSL VPN 等商密產品組成。
密碼服務層: 提供密碼應用介面,分為對稱和公鑰密碼服務以及其他三大類。
密碼應用層: 調用密碼服務層提供的密碼應用程序介面,實現數據的加解密、數字簽名驗簽等服務。如應用 於 安全郵件、電子印章系統、安全公文傳輸、移動辦公平台、可信時間戳等系統。
密碼管理基礎設施: 獨立組件,為以上四層提供運維管理、信任管理、設備管理、密鑰管理等功能。
完整的PKI系統必須具有權威認證機構(CA)、數字證書庫、密鑰備份及恢復系統(KMC)、證書作廢系統(CRL)、應用介面(API)等基本構成部分,構建PKI也將圍繞著這五大系統來著手構建。
CA 系統:Ca系統整個PKI的核心,負責證書的簽發。CA首先產生自身的私鑰和公鑰(密鑰長度至少為1024位),然後生成數字證書,並且將數字證書傳輸給安全伺服器。、CA還負責為操作員、安全伺服器以及注冊機構伺服器生成數字證書。安全伺服器的數字證書和私鑰也需要傳輸給安全伺服器。
CA伺服器是整個結構中最為重要的部分,存有CA的私鑰以及發行證書的腳本文件,出於安全的考慮,應將CA伺服器與其他伺服器隔離,任何通信採用人工干預的方式,確保認證中心的安全。
(1)甲使用乙的公鑰對明文進行加密,生成密文信息。
(2)甲使用HASH演算法對明文進行HASH運算,生成數字指紋。
(3)甲使用自己的私鑰對數字指紋進行加密,生成數字簽名。
(4)甲將密文信息和數字簽名一起發送給乙。
(5)乙使用甲的公鑰對數字簽名進行解密,得到數字指紋。
(6)乙接收到甲的加密信息後,使用自己的私鑰對密文信息進行解密,得到最初的明文。
(7)乙使用HASH演算法對還原出的明文用與甲所使用的相同HASH演算法進行HASH運算,生成數字指紋。然後乙將生成的數字指紋與從甲得到的數字指紋進行比較,如果一致,乙接受明文;如果不一致,乙丟棄明文。
SSL 協議建立在可靠的傳輸協議(如 TCP)之上,為高層協議提供數據封裝,壓縮,加密等基本功能。
即可以協商加密演算法實現加密傳輸,防止數據防竊聽和修改,還可以實現對端設備身份驗證、在這個過程中,使用國密演算法進行加密、簽名證書進行身份驗證、加密證書用於密鑰交換
SSL協商過程:
(1)客戶端發出會話請求。
(2)服務端發送X.509證書(包含服務端的公鑰)。
(3)客戶端用已知Ca列表認證證書。
(4)客戶端生成隨機對稱密鑰,並利用服務端的公鑰進行加密。
(5)雙方協商完畢對稱密鑰,隨後用其加密會話期間的用戶最終數據。
利用SSL卸載技術及負載均衡機制,在保障通訊數據安全傳輸的同時,減少後台應用伺服器的性能消耗,並實現伺服器集群的冗餘高可用,大幅度提升整個業務應用系統的安全性和穩定性。此外,藉助多重性能優化技術更可縮短了業務訪問的響應等待時間,明顯提升用戶的業務體驗。
基於 數字證書 實現終端身份認證,給予密碼運算實現本地數據的加密存儲,數字證書硬體存儲和密碼運算由移動終端內置的密碼部件提供。
移動應用管理系統伺服器採用簽名證書對移動應用軟體安裝包進行簽名,移動應用管理系統客戶端對簽名信息進行驗簽,保障移動應用軟體安裝包的真實性和完整性。
移動辦公應用系統採用簽名證書對關鍵訪問請求進行簽名驗證。
採用加密證書對關鍵傳輸數據和業務操作指令,以及移動終端本地存儲的重要數據進行加密保護。
移動辦公系統使用商用密碼,基於數字證書認證系統,構建覆蓋移動終端、網路、移動政務應用的安全保障體系,實現政務移動終端安全、接入安全、傳輸安全和移動應用安全 。
Ⅶ 5分鍾掌握密碼學基礎知識
密碼學的目標:
機密性、完整性、身份認證和不可否認性。
機密性:確保數據在存儲或傳輸中保持秘密狀態
完整性:保證數據在傳輸中不被篡改
身份認證:對聲明的系統用戶進行身份驗證
不可否認性:為接收者提供了擔保,保證消息確實來自發送者而不是來自偽裝者。
現代密碼學基礎知識:
1、對稱密鑰演算法
加密和解密使用相同的密鑰,密鑰需要事先分發給所有參與通信的成員。當密鑰長度足夠長時,破解比較困難。缺點如下:
需要解決密鑰分發問題。需要事先採用安全的方式共享加密密鑰。
未解決不可否認性。任意擁有密鑰的人都可以加密,無法分辨加密消息來自於誰。
密鑰需要經常更新。每當有成員離開用戶組時,所有涉及這個成員的密鑰都需要更新。
DES演算法:美國政府1977年公布,DES是一個64位的分組密碼,實際使用的密鑰長度為56位。
3DES演算法:由於現代密碼分析技術和超級計算能力提升,DES演算法已經不在安全。DES的修改版本三重數據加密演算法3DES能夠使用相同的演算法實現更安全的加密。
AES演算法:2000年10月,美國國家標准和技術協會NIST宣布Rijndael分組密碼替換DES成為新的加密演算法標准。AES密碼准許使用三種密鑰長度:128位,192位,256位。
常見的對稱密碼演算法
演算法分組大小(位)密鑰大小(位)
DES6456
3DES64112或168
AES128128、192、256
Rijndael可變128、192、256
Twofish1281-256
Blowfish(通常在SSH中使用)6432-448
IDEA64128
2、非對稱密鑰演算法
非對稱密鑰演算法也叫公鑰演算法,有效的解決了對稱密鑰演算法的很多痛點。在這個系統中,每個用戶都有兩個密鑰,一個在所有用戶間共享的公鑰,一個是只有用戶自己知道的私鑰。
三種非對稱密碼演算法的密鑰長度
密碼演算法密鑰長度
RSA1088
DSA1024
ECC160
3、散列函數
散列函數具有一個非常簡單的用途,就是它們接收一個可能很長的消息,然後根據消息內容生成唯一的輸出值,以此來確保消息是否被篡改。
散列演算法記憶表
演算法名稱哈希值的長度(位)
HAVAL一種MD5變種128、160、192、224、256
HMAC可變
MD2128
MD4128
MD5128
SHA-1160
SHA-224224
SHA-256256
SHA-384384
SHA-512512
4、數字簽名
數字簽名的應用有兩個明顯的作用:
向接收方保證:消息確實來自聲明的發送者,並且實施了不可否認性
向接收方保證:消息在發送方和接收方之間進行傳輸過程中不會被改變。
簽名過程
驗簽過程
5、公鑰基礎設施(PKI)
公鑰基礎設施PKI使得原本互不相識的雙方間通信變得更加容易。由可信證書頒發機構CA簽發證書來對用戶的公鑰做身份證明。
數字證書為通信雙方提供了保證,保證正在通信的人確實具有他們所宣稱的身份。數字證書本質上是個人公鑰的認可副本。當用戶驗證證書確實是由可信證書頒發機構(CA)發布時,他們就相信這個公鑰是合法的。數字證書X.509國際標准包含以下數據:
序列號(來自證書建立者)
簽名演算法標識符
發布者姓名(發布證書的證書授權機構的身份標識)
有效期
主體的名字
主體的公鑰
Ⅷ 國密演算法
國密即國家密碼局認定的國產密碼演算法。主要有SM1,SM2,SM3,SM4。密鑰長度和分組長度均為128位。
SM1 為對稱加密。其加密強度與AES相當。該演算法不公開,調用該演算法時,需要通過加密晶元的介面進行調用。
SM2為非對稱加密,基於ECC。該演算法已公開。由於該演算法基於ECC,故其簽名速度與秘鑰生成速度都快於RSA。ECC 256位(SM2採用的就是ECC 256位的一種)安全強度比RSA 2048位高,但運算速度快於RSA。
國家密碼管理局公布的公鑰演算法,其加密強度為256位
SM3 消息摘要。可以用MD5作為對比理解。該演算法已公開。校驗結果為256位。
SM4 無線區域網標準的分組數據演算法。對稱加密,密鑰長度和分組長度均為128位。
由於SM1、SM4加解密的分組大小為128bit,故對消息進行加解密時,若消息長度過長,需要進行分組,要消息長度不足,則要進行填充。
分組密碼演算法(DES和SM4)、將明文數據按固定長度進行分組,然後在同一密鑰控制下逐組進行加密,
公鑰密碼演算法(RSA和SM2)、公開加密演算法本身和公開公鑰,保存私鑰
摘要演算法(SM3 md5) 這個都比較熟悉,用於數字簽名,消息認證,數據完整性,但是sm3安全度比md5高
總得來說國密演算法的安全度比較高,2010年12月推出,也是國家安全戰略,現在銀行都要要求國際演算法改造,要把國際演算法都給去掉
C 語言實現
https://github.com/guan/GmSSL/
Go 語言
https://github.com/tjfoc/gmsm
https://github.com/ZZMarquis/gm
Java 語言
https://github.com/PopezLotado/SM2Java
Go語言實現,調用 gmsm
Ⅸ 003 國密演算法【技術】
國密演算法:國家密碼局認定的國產密碼演算法,即商用密碼。
非對稱密碼(公鑰演算法):SM2,SM9
對稱密碼(分組密碼,序列密碼):SM1,SM4,SM7,ZUC
雜湊演算法(散列,哈希演算法):SM3
概述 : 對稱加密演算法(分組密碼) ,分組長度128位,密鑰長度128位, 演算法不公開 ,通過加密晶元的介面進行調用。
場景 :採用該演算法已經研製了系列晶元、智能IC卡、智能密碼鑰匙、加密卡、加密機等安全產品,廣泛應用於電子政務、電子商務及國民經濟的各個應用領域(包括國家政務通、警務通等重要領域)。
概述 : 非對稱加密演算法(公鑰演算法) ,加密強度為256位,是一種橢圓曲線演算法。
公鑰密碼學與其他密碼學完全不同, 使用這種方法的加密系統,不僅公開加密演算法本身,也公開了加密用的密鑰。公鑰密碼系統與只使用一個密鑰的對稱傳統密碼不同,演算法是基於數學函數而不是基於替換和置換。公鑰密碼學是非對稱的,它使用兩個獨立的密鑰,即密鑰分為公鑰和私鑰,因此稱雙密鑰體制。雙鑰體制的公鑰可以公開,因此稱為公鑰演算法。
使用私鑰加密後的密文只能用對應公鑰進行解密,反之使用公鑰加密的密文也只能用對應的私鑰進行解密。通過對私鑰進行橢圓曲線運算可以生成公鑰,而由於橢圓曲線的特點,知道公鑰卻很難反推出私鑰,這就決定了SM2演算法的安全性。SM2演算法最常見的應用是進行身份認證,也就是我們熟知的數字簽名與驗簽,通過私鑰的私密性來實現身份的唯一性和合法性。
場景: 適用於商用應用中的 數字簽名和驗證 ,可滿足多種密碼應用中的 身份認證 和 數據完整性,真實性 的安全需求。
場景: 適用於商用密碼應用中的 密鑰交換 ,可滿足通信雙方經過兩次或可選三次信息傳遞過程,計算獲取一個由雙方共同決定的共享秘密密鑰(會話密鑰)。
場景: 適用於國家商用密碼應用中的 消息加解密 ,消息發送者可以利用接收者的公鑰對消息進行加密,接收者用對應的私鑰進行解,獲取消息。
涉及國密標准: GB/T 32918.1-2016、GB/T 32918.2-2016、GB/T 32918.3-2016、GB/T 32918.4-2016、GB/T 32918.5-2017、GB/T 35275-2017、GB/T 35276-2017。
概述:哈希演算法(散列演算法,雜湊演算法) ,任意長度的數據經過SM3演算法後會生成長度固定為256bit的摘要。SM3演算法的逆運算在數學上是不可實現的,即通過256bit的摘要無法反推出原數據的內容,因此在信息安全領域內常用SM3演算法對信息的完整性進行度量。
場景: 適用於商用密碼應用中的 數字簽名和驗證 , 消息認證碼的生成與驗證 以及 隨機數的生成 ,可滿足多種密碼應用的安全需求。
涉及國密標准: GB/T 32905-2016
概述:對稱加密演算法(分組密碼) ,分組長度128位,密鑰長度128位,使用某一密鑰加密後的密文只能用該密鑰解密出明文,故而稱為對稱加密。SM4演算法採用32輪非線性迭代實現,加解密速度較快,常應用於大量數據的加密,保存在存儲介質上的用戶數據往往就使用SM4演算法進行加密保護。
場景:大量數據的加密,解密,MAC的計算 。
分組密碼就是將明文數據按固定長度進行分組,然後在同一密鑰控制下逐組進行加密,從而將各個明文分組變換成一個等長的密文分組的密碼。其中二進制明文分組的長度稱為該分組密碼的分組規模。
分組密碼的實現原則如下:必須實現起來比較簡單,知道密鑰時加密和脫密都十分容易,適合硬體和(或)軟體實現。加脫密速度和所消耗的資源和成本較低,能滿足具體應用范圍的需要。
分組密碼的設計基本遵循混淆原則和擴散原則
①混淆原則就是將密文、明文、密鑰三者之間的統計關系和代數關系變得盡可能復雜,使得敵手即使獲得了密文和明文,也無法求出密鑰的任何信息;即使獲得了密文和明文的統計規律,也無法求出明文的任何信息。
②擴散原則就是應將明文的統計規律和結構規律散射到相當長的一段統計中去。也就是說讓明文中的每一位影響密文中的盡可能多的位,或者說讓密文中的每一位都受到明文中的盡可能多位的影響。
涉及國密標准: GB/T 32907-2016
概述 : 對稱加密演算法(分組密碼) ,分組長度128位,密鑰長度128位, 演算法不公開 ,通過加密晶元的介面進行調用。
場景 :適用於非接觸式IC卡,應用包括身份識別類應用(門禁卡、工作證、參賽證),票務類應用(大型賽事門票、展會門票),支付與通卡類應用(積分消費卡、校園一卡通、企業一卡通等)。
概述:非對稱加密演算法(標識密碼) ,標識密碼將用戶的標識(如郵件地址、手機號碼、QQ號碼等)作為公鑰,省略了交換數字證書和公鑰過程,使得安全系統變得易於部署和管理,非常適合端對端離線安全通訊、雲端數據加密、基於屬性加密、基於策略加密的各種場合。
SM9演算法不需要申請數字證書,適用於互聯網應用的各種新興應用的安全保障。如基於雲技術的密碼服務、電子郵件安全、智能終端保護、物聯網安全、雲存儲安全等等。這些安全應用可採用手機號碼或郵件地址作為公鑰,實現數據加密、身份認證、通話加密、通道加密等安全應用,並具有使用方便,易於部署的特點,從而開啟了普及密碼演算法的大門。
概述 : 對稱加密演算法(序列密碼) ,是中國自主研究的流密碼演算法,是運用於移動通信4G網路中的國際標准密碼演算法,該演算法包括祖沖之演算法(ZUC)、加密演算法(128-EEA3)和完整性演算法(128-EIA3)三個部分。目前已有對ZUC演算法的優化實現,有專門針對128-EEA3和128-EIA3的硬體實現與優化。
Ⅹ 關於標識密碼的一點認知
之前整理過幾篇關於數字證書的筆記。數字證書技術的是 PKI(Public Key Infrastructure)的重要組成部分,基於數字證書技術的身份認證方式,在在金融、通信、互聯網、數據中心等領域發揮著關鍵作用。但發展多年的 PKI 體系也並非完美,關於數字證書生命周期的管理是其中一個關鍵問題,而當下受到越來越多關注的技術體系 - 基於標識的密碼體系(IBC) ,正在嘗試用一種新的方式解決傳統 PKI 所面臨的難題。趁熱打鐵寫了一篇學習筆記,保持學習,青春永駐。
大家都清楚,在傳統 PKI 體系下,一個實體具有一對密鑰:一個是公開的公鑰;一個是自己保管的私鑰。在這樣的系統中, 信息發送方需要正確獲取接收方的公鑰,否則就可能出現惡意攻擊方可通過提供虛假接收方公鑰,即中間人攻擊的方式獲取信息 。
為了證明接收方公鑰的可信,傳統 KPI 體系就需要一個 受信任的第三方來綁定實體與其擁有的密碼對 。這個受信第三方即認證中心(CA:Certificate Authority),在對實體進行身份核實後,就為其生成一個公私鑰對,並為該實體頒發一個證書,證書中包含實體的標識、公鑰以及認證中心的數字簽名。 信息發送方在發送信息前需要獲取接收方的證書 。在驗證證書的有效性後,發送方使用證書中的公鑰加密。這就是基於數字證書的 PKI 系統。
基於數字證書的 PKI 系統有幾個問題:
為了解決傳統 PKI 的一些問題,以色列密碼學家 Shamir 於1984年提出基於標識的密碼體系,即 IBC(Identity-Based Cryptograph)。其最主要觀點是 不需要由 CA 中心生成公私鑰對,不需要使用證書傳遞公鑰,而是使用用戶標識如姓名、IP地址、電子郵箱地址、手機號碼等代表用戶的標識信息作為公鑰,私鑰則由密鑰中心(Key Generate Center, 簡稱KGC)根據系統主密鑰和用戶標識計算得出 。
自 Shamir 1984年提出 IBC 思想的十幾年,一直停留在概念階段,直到2000年,D.Boneh 和 M.Franklin, 以及 R.Sakai、K.Ohgishi 和 M.Kasahara 兩個團隊均提出基於橢圓曲線數學難題的配對構造演算法,解決了安全性和實現效率最優化的問題,標識密碼終於引發了標識密碼的新發展。2008年,我國將 IBC 正式納入中國國家演算法標准, 並獲得國家商用密碼管理局頒發的演算法型號 SM9 。
IBC 體系標准主要包括 IBE加解密演算法組 、 IBS簽名演算法組 、 IBKA身份認證協議 三個個組成部分。理解的時候,對照傳統 KPI 體系標准,其實很容易理解。
加解密演算法由四部分組成:
核心步驟描述如下:
數字簽名演算法也由四個部分組成:
核心步驟描述如下:
這個過程是不是看起來和傳統 PKI 體系的數字簽名是一樣的思路?
同傳統 PKI 體系,身份認證利用的是數字簽名與驗證原理,協議核心原理如下(以A認證B為例):
這個過程是不是看起來和傳統 PKI 體系的身份認證是一樣的思路?
傳統 PKI 體系與 IBC 體系都是以公鑰密碼技術為基礎,保證數據的真實性、機密性、完整性和不可抵賴性。IBC體系將代表用戶唯一性的身份標識作為用戶公鑰,確實獲得了一些天然優勢,使得IBC體系比PKI龐大的證書管理和發布系統更易於應用。
特別要強調,在針對數字證書這個環節上,IBC 確實有優勢,但絕不能以偏概全,認為 IBC 就是全面取代傳統 PKI 的方案,密碼體系可不僅僅指數字證書。
一張被到處引用的 PKI 與 IBC 的流程對比圖,比較清晰的展示了二者的不同。
PKI 體系原理圖:
IBC 體系原理圖:
再次強調,IBC 是對 PKI 的有益補充,但不能簡單認為 IBC 是全面取代傳統 PKI 的技術體系!
標識密碼體系沒有證書管理的負擔,簡化了實施應用,能夠快速實現安全通信,尤其適用於安全電子郵件系統、移動通信的客戶以及需要向未注冊人群發送信息的用戶。
國際電信聯盟(ITU)已採用 IBC 技術作為下一代行動電話的認證技術手段。美國食品葯品管理局(FDA)在各大醫療機構中也在推廣 IBC 應用。在電子商務領域,IBC 在美國已經成為 POS 終端和清算中心間保護信用卡信息的主流技術之一。在歐洲,意法半導體的研究人員己經與智能卡廠商 Incard 合作,聯合開發實現在智能卡上部署標識密碼。而國內,華為、中興、上海貝爾等公司也在 NGN 中採用了 IBC 技術。
隨著囯家密碼管理局對 SM9 演算法的規范和推廣,用戶將會越來越熟悉標識密碼。標識密碼技術有可能會廣泛地應用於安全電子郵件、加密簡訊、加密通話、電子證照管理、電子病歷、手機電子錢包、電子圖書館、身份證與社保、醫保等的多卡合一後的管理使用等諸多領域。IBC 應用前景可期。
持續學習,青春永駐!