
數位簽名
數位簽名發生在您應用您的私鑰特定訊息(或大多數情況下該訊息的哈希值)。
然後收件人會拿走您的公鑰- 毫不奇怪,公開可用 - 然後通過將其應用於簽名訊息來驗證您的身份。
加密
另一方面,加密是透過您採取公鑰您的訊息的收件人,並將其套用到訊息中。完成此操作後,您實際上已將其鎖定,無法讓所有人(包括您自己)看到,而解鎖該訊息的唯一方法是收件人應用其權限私鑰到加密的訊息。
“申請”
在上面的兩個場景中,我都使用了「應用」一詞,這是因為這是我提出最後一個問題的下一個要點。
數位加密和簽名基本上是訊息的數學上合適的表示乘以一個非常大的數字(公鑰/私鑰)的數學乘法。當私鑰與公鑰「相乘」時,它們會相互抵消(有點簡化的描述)。
我使用 Diffie-Helman 編寫了一個簡化的範例這裡。
問題/安全問題
現在考慮到這一點,這是我正在考慮的場景...
想像一下,您獲取一條秘密訊息,並使用標準非對稱加密(pri/pub 金鑰)為某人加密。然後,您透過不安全的通道將該訊息傳送給收件人。
竊聽者竊聽線路並捕獲您的訊息。
然而,發送給他們的訊息是加密的 - 他們猜測訊息的真正收件人(擁有相應私鑰的人)使用相同的公鑰/私鑰對進行簽名,就像她進行加密一樣。
他們以某種方式操縱/說服訊息的真正接收者簽署“某些文件”,假設她簽署了。文件當然是捕獲的訊息,但收件人並不知道這一點。
剛剛發生了什麼事?收件人已將其私鑰套用至已由其公鑰簽署的訊息。
然後,她會將訊息交給攻擊者(為了方便論證,我們假設這是一個盲簽名請求)。
攻擊者現在已經解密了訊息嗎?
澄清問題
感謝所有回應的人 - 看來我沒有說出我的問題,因為每個人都誤解了 - 這是我的錯,對此感到抱歉。
澄清:假設對整個訊息而不是該訊息的哈希執行「簽名」操作(此處出於學術目的)。是的,我知道這不是實際完成的,並且出於某些原因(包括效能和大小),簽名是在訊息的固定長度加密雜湊上完成的,而不是訊息本身,但對於這個問題,請假裝這個事實並非如此。
答案1
您基本上是在問應用程式簽名和運行解密是否以相同的方式執行 - 答案是否定的。
你寫了:
數位加密和簽名基本上是訊息的數學上合適的表示乘以一個非常大的數字(公鑰/私鑰)的數學乘法。當私鑰與公鑰「相乘」時,它們會相互抵消(有點簡化的描述)。
這是不正確的。簽名是在明文的加密雜湊上執行的,而不是在明文身上執行的。
答案2
假設錯誤;加密的反面是解密,且簽章不能對兩者進行傳遞操作。簽署訊息對加密沒有任何影響。
答案3
原則上簽名僅在訊息的哈希上完成,而不是在訊息本身上完成。
除此之外,你的情況目前聽起來不太可能。沒有人提供自動簽名服務。實際案例中這種情況真的會發生嗎?難道有人在簽東西之前不會先看一下嗎?為什麼他們會簽署(顯然)垃圾?