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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

谈谈数字签名

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

數(shù)字簽名是什么

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

##簽名生成與校驗(yàn)

生成簽名:一般是發(fā)送者對(duì)發(fā)送的消息進(jìn)行簽名,以表示我認(rèn)可該消息
驗(yàn)證簽名:接受者對(duì)發(fā)送者發(fā)送的簽名進(jìn)行驗(yàn)證,已確定該簽名是否是發(fā)送者簽署的,如果驗(yàn)簽失敗表示該簽名不是發(fā)送者的或者發(fā)送的消息被人篡改了

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

上面說的是不是有點(diǎn)和公鑰密鑰算法類似?對(duì),確實(shí)有很大關(guān)系,其實(shí)數(shù)字簽名是將公鑰密碼算法反過來使用,我們先來簡(jiǎn)要回顧下公鑰密碼算法

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

##數(shù)字簽名



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

  • ###對(duì)消息進(jìn)行簽名

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

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


    ###對(duì)消息摘要進(jìn)行加簽

    ##對(duì)簽名的一些疑問

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

    確實(shí)在計(jì)算機(jī)中簽名就是一段很短的字符串,可以復(fù)制,但是簽名本身代表的我認(rèn)可這條消息含義是無法改變的
    如果把簽名放到別的消息中,接受方在驗(yàn)簽時(shí)會(huì)失敗

    問題2 上述圖中消息在網(wǎng)絡(luò)傳輸時(shí)是明文傳輸?shù)?#xff0c;簽名不就不能保證數(shù)據(jù)的安全性?
    簽名并不是為了保證數(shù)據(jù)安全性,它只是表示我對(duì)該消息認(rèn)可的憑證

    問題3上述圖中公鑰是通過網(wǎng)絡(luò)傳輸?shù)?#xff0c;那么接收方不就有可能收到的公鑰其實(shí)不是發(fā)送方?
    對(duì),在網(wǎng)絡(luò)過程中數(shù)據(jù)都有可能被中間人攔截,并篡改;如何保證公鑰的合法性就需要用到數(shù)字證書

    總結(jié)

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

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。