楊元原博士國密課堂 · 第一期 | 商用密碼應用安全性評估:Part1. 密碼算法概述
#國密課堂#
第一期
商用密碼應用

安全性評估
Part 1. 密碼算法概述
什麼是密碼算法?
密碼學(Cryptology)是研究密碼編制、密碼破譯和密碼系統設計的的一門綜合性科學,其包括密碼編碼學和密碼分析學。密碼編碼學(Cryptography)主要研究對資訊進行編碼,實作對資訊的隐蔽。密碼分析學(Cryptanalytics)主要研究加密消息的破譯或消息的僞造。
在密碼編碼學理論中,密碼算法是研究的核心。常見的密碼算法包括對稱密碼算法、公鑰密碼算法和密碼雜湊算法三個類别。習慣上,對稱密碼算法簡稱為“對稱密碼”,公鑰密碼算法簡稱為“公鑰密碼”,密碼雜湊算法簡稱為“雜湊算法”。
商用密碼是經我國密碼管理機構認可的、用于對不涉及國家秘密内容的資訊進行加密保護或者安全認證所使用的密碼技術和密碼産品。目前釋出的商用密碼算法涵蓋了對稱密碼算法、公鑰密碼算法和密碼雜湊算法三大類。
(1)對稱密碼算法
對稱密碼算法加密過程與解密過程使用相同的或容易互相推導得出的密鑰,即加密和解密兩方的密鑰是“對稱”的。對稱密碼算法還可以細分為分組密碼算法和流密碼算法。
分組密碼算法(block cipher):分組密碼首先對明文消息根據分組大小進行分組,再将明文分組、密鑰和初始向量(如果有)一起作為輸入,通過分組加密算法直接輸出密文分組(摘自《商用密碼應用與安全性評估》)。
流密碼算法(stream cipher):又稱序列密碼。序列密碼将密鑰和初始向量作為輸入,通過密鑰流生成算法輸出密鑰流(也稱擴充密鑰序列),然後将明文序列和密鑰流進行異或,得到密文序列(摘自《商用密碼應用與安全性評估》)。
常用的對稱密碼算法包括:
(2)公鑰密碼算法
公鑰密碼算法又稱非對稱密碼算法,既可用于加密和解密,也可用于數字簽名,打破了對稱密碼算法加密和解密必須使用相同密鑰的限制,很好地解決了對稱密碼算法中存在的密鑰管理難題。公鑰密碼算法包括公鑰加密和私鑰簽名(數字簽名)兩種主要用途。
常用的公鑰密碼算法包括:
(3)雜湊算法
密碼雜湊算法也稱作“雜湊演算法”或“雜湊演算法”,現在的密碼行業标準統稱其為密碼雜湊算法,簡稱“雜湊算法”或“雜湊函數”。密碼雜湊算法對任意長度的消息進行壓縮,輸出定長的消息摘要或雜湊值。
常用的雜湊算法包括:
哪些是密碼學常用術語?
密碼學中經常用到以下幾個術語:
明文:被隐蔽的消息稱作明文,通常用m表示。其英文為Message和Plaintext。明文就是沒有被加密的消息。
密文:将明文隐蔽後的結果稱作密文或密報,通常用c表示。其英文為Ciphertext。密文就是加密後的結果。
加密(Encryption):将明文變換成密文的過程稱作加密,該過程表示為。
解密(Decryption):由密文恢複出明文的過程稱作脫密,該過程表示為。
密鑰(key) :控制或參與密碼變換的可變參數稱為密鑰。密鑰又分為加密密鑰和解密密鑰。
加密密鑰是加密時用的密鑰。
解密密鑰是解密時用的密鑰。加、解密密鑰與成對使用。
加密函數與解密函數互為逆函數,即對所有明文,都有
一個密文隻能有一個解密結果。
如何設計密碼算法?
1
密碼算法即使達不到理論上是不可破的,也應當是實際上不可破的;
2
密碼算法的安全性不依賴于對加密體制或算法的保密,而依賴于密鑰,即滿足柯克霍夫斯(Kerckhoff)假設;
3
加密算法和解密算法适用于密鑰空間中的所有元素,弱密鑰除外;
4
密碼算法應易于實作和使用。
啊,那商用密碼算法
具體是怎樣的呢?什麼工作模式?
關注
下期
#網絡安全微課堂# 第二期
《商用密碼應用安全性評估:
Part2. 商用密碼算法》