消息完整性與數字簽名

消息/報文完整性(message integrity):也稱消息認證,目標:
1、證明消息確實來自聲稱的發送方;
2、驗證消息在傳輸過程中沒有被修改;
3、預防發送時間,順序被修改;
4、預防抵賴

爲了達到以上效果,需要設計這樣的密碼散列函數:H(m);
1、散列算法公開
2、單向不可逆
3、對任意的m,H(m)唯一且定長
4、H(m)能夠快速計算

散列函數算法
MD5:正在廣泛應用的,速度快,不足夠安全,生成128位
SHA1:更加安全的散列算法,速度相對md5慢,很安全
要求輸入消息長度小於2的64次方
散列值160位

消息摘要:對消息m應用散列函數,得到一個固定長度的散列碼,稱爲消息摘要,記爲h(m),可以作爲該消息的數字指紋。

報文認證碼MAC(message authentication Code):
報文m + 認證密鑰s +密碼散列函數H ->擴展報文(m,H(m+s)).


數字簽名
爲了解決否認,僞造,冒充,篡改這些與消息完整性相關的問題,數字簽名應運而生。

數字簽名是實現安全電子交易的核心技術之一。

一種簡單的方法是:利用公鑰技術,直接對報文用私鑰加密,那麼只有公鑰才能解,並且是公佈公鑰的作者發的,你無法否認。
但是這種技術產生的加密後的文件跟你原報文差不多大,當你原報文非常大時,比如一個iso鏡像幾個G,那麼你下載就需要雙倍的空間,這很明顯是不夠好的方法,爲此我們又另一種方法,將消息摘要和公鑰密碼體制結合使用。

簽名報文摘要
我們對報文進行消息摘要,生成一個散列碼,它保證了消息的完整,然後我們只用對這個散列碼用私鑰加密就好了,這就保證了消息是不是別人,是你發的,且你無法否認。最終,你發出的是 消息 + 加密的消息摘要。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章