數字簽名定義
數字簽名就是對數字資訊進行簽名,以防止他人對資訊進行偽造和篡改,也可以用于身份識別
數字簽名的特性
- 簽名是可信的
- 簽名的資訊是不可篡改的
- 簽名是不可復制的
- 簽名是不可偽造的
- 簽名是不可抵賴的
簡而言之,某人對某資訊進行簽名可以證明:這個資訊是這個人寫的,且無其他人進行修改,
數字簽名的原理
背景環境:小明對資訊M進行簽名,并發送給小紅,小紅校驗資訊以確保該資訊是小明發送的,且未被篡改
小明對資訊進行處理
- 小明用hash函式對資訊 M 進行 hash處理 ,得到資訊摘要 M’(hash值)
- 小明使用自己的 私鑰 對摘要值 M’ 進行加密,得到簽名文本 S (簽名,證書次hash值由小明創建)
- 小明使用小紅的 公鑰 對S進行加密,得到加密的簽名文本 S’ (加密,防止他人修改hash值)
- 小明將M和**S’**發送給小紅
小紅收到資訊后,驗證資訊M使用小紅發出的和資訊M未被篡改
- 小紅用自己的 私鑰 對 S’ 進行解密,得到簽名文本 S
- 小紅用小明的公鑰 對 S 進行解密,得到資訊摘要 M’
- 小紅用同樣的hash函式對資訊 M 進行hash處理,得到資訊摘要 M’'
- 將 M’ 和 M’’ 進行比較,若相同,則資訊M由小明撰寫發送,且未被篡改
數字簽名原理的論證
首先,對于任意資訊M,有且只有一個hash值(對于同一個hash函式),且很難找到2個有相同hash值的 資訊M,故資訊M與其hash值在很大程度上有這一 一對應的特點,
其次,小明使用了自己的私鑰對資訊摘要 M’ 進行加密簽名,故他人無法在不破壞簽名的基礎上對資訊摘要M’進行修改,故無法同時隨意修改資訊M
再其次,對小明用小紅的私鑰對簽名文本S進行了加密,故他人并不知道真實的hash值,故無法找到擁有相同hash值的另一個資訊對資訊M做替換篡改,
綜上所述,攻擊者既無法將篡改后的資訊的hash值替換原hash值,也無法通過已知hash值找到另一個擁有相同hash值的資訊對M進行替換,所以在理論上很難偽造數字簽名和篡改簽名后的資訊
一家之言,請多指教
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/71811.html
標籤:其他
