日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

谈谈数字签名

發布時間:2024/9/30 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 谈谈数字签名 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數字簽名是什么

相信大家不會陌生,日常我們和公司簽合同時會簽名,刷信用卡支付時會簽名;而數字簽名就是將日常中這種簽名功能在計算機中實現的一種技術;數字簽名不僅能夠識別篡改和偽裝,還能防止否認等特性,那么數字簽名是如何做到的呢?

##簽名生成與校驗

生成簽名:一般是發送者對發送的消息進行簽名,以表示我認可該消息
驗證簽名:接受者對發送者發送的簽名進行驗證,已確定該簽名是否是發送者簽署的,如果驗簽失敗表示該簽名不是發送者的或者發送的消息被人篡改了

無論是生成簽名還是驗證簽名都需要密鑰來完成;生成簽名需要簽名密鑰來,驗證簽名動作需要驗簽密鑰來完成,簽名密鑰只有簽名者才能有,驗證密鑰則是任何驗證簽名的人都可以擁有;只有簽名密鑰才能生成簽名,只有驗證密鑰才能驗簽;

上面說的是不是有點和公鑰密鑰算法類似?對,確實有很大關系,其實數字簽名是將公鑰密碼算法反過來使用,我們先來簡要回顧下公鑰密碼算法

  • 公鑰加密后的密文只能用與公鑰相匹配的私鑰進行解密
  • 公鑰顧名思義可以被公開
  • 私鑰只能被需要解密方所擁有,只要私鑰不泄漏,竊取者即使攔截到密文和公鑰也無法破解到明文
  • 公鑰密碼解決了對稱密碼密鑰配送的問題

##數字簽名



  • 數字簽名是通過私鑰對消息進行加密生成一段密文即數字簽名,此處的加簽動作目的并不是我們理解的加密,它的目的并不是為了保證數據的安全性,而是只有擁有私鑰的人才能對消息加簽
  • 利用公鑰對數字簽名進行解簽以獲取原始消息

  • ###對消息進行簽名

    假如lin向四縱發"死守塔山"這條命令,其流程如下:

  • lin在發送命令前,首先自己生成密鑰對,自己保留私鑰
  • 將公鑰發送給四縱將領,以用于后續解簽操作
  • lin通過私鑰對要發送的消息進行加簽,生成簽名
  • 將消息和簽名一起發送給四縱將領
  • 四縱收到簽名后用lin發送的公鑰進行解簽以獲取消息原文
  • 將解簽后的消息和接收到的消息進行比較如果一致說明消息確實是lin發送的,如果不一致說明消息,簽名有可能被篡改
  • 其實在實際生活中,我們考慮到消息有時很大,通常不直接對消息原文進行加簽,而是先對消息原文進行單向序列化以生成一個消息摘要(可以理解為消息的指紋),我們對該消息摘要進行加簽,這樣就大大提高加簽速度了,其他的和上面圖一樣,具體見下圖就不解釋了


    ###對消息摘要進行加簽

    ##對簽名的一些疑問

    問題1:簽名在計算機中只是一段字符串,那么簽名不就可以復制了?如果我把簽名放到別的消息中,是不是可以偽裝呢?

    確實在計算機中簽名就是一段很短的字符串,可以復制,但是簽名本身代表的我認可這條消息含義是無法改變的
    如果把簽名放到別的消息中,接受方在驗簽時會失敗

    問題2 上述圖中消息在網絡傳輸時是明文傳輸的,簽名不就不能保證數據的安全性?
    簽名并不是為了保證數據安全性,它只是表示我對該消息認可的憑證

    問題3上述圖中公鑰是通過網絡傳輸的,那么接收方不就有可能收到的公鑰其實不是發送方?
    對,在網絡過程中數據都有可能被中間人攔截,并篡改;如何保證公鑰的合法性就需要用到數字證書

    總結

    以上是生活随笔為你收集整理的谈谈数字签名的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。