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