制作自己的數(shù)字簽名 對(duì)于加密數(shù)據(jù),先加密后簽名的順序是否正確?為什么?
對(duì)于加密數(shù)據(jù),先加密后簽名的順序是否正確?為什么?我認(rèn)為簽字的目的之一是防止雙方否認(rèn)。如果你先加密,他可能不會(huì)承認(rèn)。另外,特別是對(duì)于RSA簽名算法,在簽名前加密存在一種特殊的攻擊。為了防止這種攻擊,建
對(duì)于加密數(shù)據(jù),先加密后簽名的順序是否正確?為什么?
我認(rèn)為簽字的目的之一是防止雙方否認(rèn)。如果你先加密,他可能不會(huì)承認(rèn)。另外,特別是對(duì)于RSA簽名算法,在簽名前加密存在一種特殊的攻擊。為了防止這種攻擊,建議在加密之前使用簽名。該攻擊方法如下:假設(shè)簽名者a通過(guò)先加密后簽名的方式向B發(fā)送消息x。他用B的公鑰EB加密x,然后用他的私鑰da簽名。假設(shè)a的模是Na,B的模是Nb,那么a發(fā)送給B的密文是:(x^EB mod Nb)^Da mod Na。如果B不誠(chéng)實(shí),那么B可以偽造a的簽名。因?yàn)镹B是B的模,B知道NB的分解,所以可以計(jì)算模NB的離散對(duì)數(shù)。在(x1)^k=x mod Nb之后,B發(fā)布他的新公鑰。然后宣布收到的是x1,不是X。
什么是數(shù)字簽名?
謝謝邀請(qǐng),謝謝平臺(tái),并將鏈接網(wǎng)絡(luò)生態(tài)會(huì)為您解答。
一般來(lái)說(shuō),數(shù)字簽名是每項(xiàng)交易的證明。一方面證明交易是轉(zhuǎn)讓人自己發(fā)起的;另一方面證明交易信息在傳輸過(guò)程中沒(méi)有發(fā)生變化。它由數(shù)字摘要和非對(duì)稱加密技術(shù)組成。
例如,為了啟動(dòng)比特幣傳輸,小兔子需要首先通過(guò)哈希函數(shù)將交易信息轉(zhuǎn)換成固定長(zhǎng)度的字符串,然后用自己的私鑰加密,形成數(shù)字簽名。完成后,需要向礦工廣播完整的交易信息和數(shù)字簽名。
miner首先使用相同的哈希函數(shù)將事務(wù)轉(zhuǎn)換為字符串,然后使用rabbit的公鑰對(duì)其進(jìn)行解密,以比較兩者是否一致。如果它們一致,則驗(yàn)證成功,表明事務(wù)是由rabbit自己發(fā)起的,并且信息沒(méi)有更改。
數(shù)字簽名加密的私鑰與數(shù)字簽名解密的公鑰不一致,采用非對(duì)稱加密技術(shù)??雌饋?lái)很復(fù)雜。其實(shí),實(shí)時(shí)傳輸只需要你輸入私鑰就可以即時(shí)完成!就像你去銀行轉(zhuǎn)賬一樣,只要輸入銀行卡密碼,錢就會(huì)被轉(zhuǎn)出。