【數字_ID】公鑰密碼體制簡介
阿新 • • 發佈:2019-01-23
公鑰密碼體制簡介
- 製作:數字_ID
- 時間:2018年05月28日
1. 公鑰密碼體制概述
- 公鑰之前,所有的密碼都是基於代換和置換
- 公鑰密碼演算法的基本工具是數學函式
- 非對稱的形式使用兩個金鑰,對保密性、金鑰分配、認證等都有著深刻的意義
- 在產生公鑰密碼體制之前,先來談談對稱密碼的侷限性
對稱密碼的侷限性
- 金鑰分發問題:必須保證傳輸金鑰的通道足夠安全
- 金鑰量問題:每兩人都需要一對金鑰,金鑰量太大
- 數字簽名問題:接收方可以偽造簽名,傳送方可以否認傳送過的訊息
- 無法解決陌生人之間的身份認證和交易資訊認證問題
- 由於以上種種,我們的主角公鑰密碼就要登場了!
公鑰密碼提出
- 1976年,W.Diffie和M.Hellman提出公鑰密碼體制
- 公鑰發放,私鑰保留,公鑰加密,私鑰解密,私鑰簽名,公鑰驗證
公鑰密碼體制的應用
- 加密、解密
- 數字簽名
- 金鑰交換:兩方合作以便交換會話金鑰
公鑰密碼體制的特點
- 金鑰分發簡單:公鑰不需保密分發
- 金鑰量大大減少:n個使用者只需n對金鑰
- 可以實現數字簽名/身份認證
- 可滿足不相識的人之間的保密通訊
公鑰密碼演算法應滿足的要求
- 計算容易
- 分析不可行
- 加密變換和解密變換可以互換順序:
公鑰密碼演算法的設計思想
單向陷門函式
設
在公鑰加密演算法中,加密變換就是一個單項陷門函式
公鑰密碼演算法的分類
- 基於大整數因子分解的公鑰密碼(RSA)
- 基於有限域乘法群上的離散對數問題的公鑰密碼(ElGamal)
- 基於橢圓曲線上的離散對數問題的公鑰密碼(ECC)
- 以上三個是本篇部落格主要介紹的三種公鑰密碼體制,當然還有很多,比如:
- 基於揹包問題的公鑰密碼
- 基於概率的平方剩餘問題的公鑰密碼
- 基於格的短向量問題的公鑰密碼
- 基於餘代數編碼中的線性編碼問題的公鑰密碼
- ……
2. 若干數論問題
- 公鑰密碼體制的數學原理和數論有密切關係,可以說數論是基礎,不是一篇文章能講得清的,在這裡先講兩個會用到的數學難題
離散對數問題
- 令素數滿足含有另一大質數(整除),及一整數g,
- 若給定整數,求是簡單的
- 若給定,求,則為DLP問題,是困難的
因數分解問題
- 給定大素數,求,只要一次乘法
- 對於給定,求和,即為因數分解問題FAC,是困難的
接下來開始主要介紹三個公鑰密碼體制
3. RSA公鑰密碼
- RSA演算法是1978年由Rivest,Shamir和Adieman提出
RSA演算法描述
- 公鑰:選擇兩個互異的大素數和,使,,是尤拉函式,選擇一個正數,使其滿足,,則將作為公鑰
- 私鑰:求出正整數,使其滿足,則將作為私鑰
- 加密變換
- 解密變換
RSA解密證明過程
- 關於解密,將代入易證,單要注意證明過程中的兩種情況,和