工作原理:
數(shù)字簽名原理中定義的是對原文做數(shù)字摘要和簽名并傳輸原文,在很多場合傳輸?shù)脑氖且蟊C艿模髮υ倪M行加密的數(shù)字簽名方法如何實現(xiàn)?這里就要涉及到“數(shù)字信封”的概念?!半娮有欧狻被驹硎菍⒃挠脤ΨQ密鑰加密傳輸,而將對稱密鑰用收方公鑰加密發(fā)送給對方。收方收到電子信封,用自己的私鑰解密信封,取出對稱密鑰解密得原文。其詳細過程如下:
(1) 發(fā)方A將原文信息進行哈希運算,得一哈希值即數(shù)字摘要MD;
(2) 發(fā)方A用自己的私鑰PVA,采用非對稱RSA算法,對數(shù)字摘要MD進行加密,即得數(shù)字簽名DS;
(3) 發(fā)方A用對稱算法DES的對稱密鑰SK對原文信息、數(shù)字簽名SD及發(fā)方A證書的公鑰PBA采用對稱算法加密,得加密信息E;
(4) 發(fā)方用收方B的公鑰PBB,采用RSA算法對對稱密鑰SK加密,形成數(shù)字信封DE,就好像將對稱密鑰SK裝到了一個用收方公鑰加密的信封里;
(5) 發(fā)方A將加密信息E和數(shù)字信封DE一起發(fā)送給收方B;
(6) 收方B接受到數(shù)字信封DE后,首先用自己的私鑰PVB解密數(shù)字信封,取出對稱密鑰SK;
(7) 收方B用對稱密鑰SK通過DES算法解密加密信息E,還原出原文信息、數(shù)字簽名SD及發(fā)方A證書的公鑰PBA;
(8) 收方B驗證數(shù)字簽名,先用發(fā)方A的公鑰解密數(shù)字簽名得數(shù)字摘要MD;
(9) 收方B同時將原文信息用同樣的哈希運算,求得一個新的數(shù)字摘要MD’;
(10)將兩個數(shù)字摘要MD和MD’進行比較,驗證原文是否被修改。如果二者相等,說明數(shù)據(jù)沒有被篡改,是保密傳輸?shù)?,簽名是真實的;否則拒絕該簽名。
這樣就做到了敏感信息在數(shù)字簽名的傳輸中不被篡改,未經(jīng)認證和授權(quán)的人,看不見原數(shù)據(jù),起到了在數(shù)字簽名傳輸中對敏感數(shù)據(jù)的保密作用。