目錄
一、常用加密型別分類
二、資料傳輸流程說明
三、ca數字證書
四、https
五、客戶端與伺服器端rsa+aes雙向加密
公鑰私鑰的作用:
1、對稱加密:採用單鑰對資訊進行加密和解密,即同乙個秘鑰既可以對資訊進行加密,也可以進行解密。
特點速度快,常用於對大量資料資訊或檔案加密時使用。
2、非對稱加密:採用公鑰和私鑰雙鑰形式對資訊進行加密和解密,其中公鑰和私鑰是成對存在的,即使用公鑰對資訊加密後的密文只用使用其相應的私鑰才可以進行解密,反之也毅然。
安全性非常好,但加密和解密耗時較長,比較適用於小資料量加密解密。
1、術語解釋
公鑰:非對稱加密演算法雙鑰對中可向外界公開的稱為公鑰 (publickey)。在網銀支付時一般需第三方支付系統將自己的公鑰提供給銀行,同時銀行也會將它們的公鑰提供給第三方支付系統。
私鑰:非對稱加密演算法雙鑰對中不可向外界公開的稱為私鑰 (privtekey)。在網銀支付時私鑰一般需第三方支付系統妥善儲存在自己系統中用於對接收到的銀行指令進行驗證。
加密與解密:在非對稱加密中,使用公鑰對資訊處理稱之為加密,使用私鑰對公鑰處理後的加密密文反轉過程稱為解密。
簽名與驗證簽名:只能使用在非對稱加密演算法中,使用私鑰進行簽名,公鑰進行驗證簽名,原理是使用私鑰對資訊生成加密hashcode摘要,同資訊一同傳送給公鑰持有方,公鑰持有方會使用公鑰對資訊生成加密hashcode摘要與私鑰生成的進行比較的過程就叫做簽名、驗證簽名。
2、流程說明
(1)第三方支付-->銀行流程:第三方支付系統向銀行傳送資訊流程
第三方支付系統會使用自己的私鑰對傳輸傳輸資訊進行簽名,簽名後將簽名密文資訊與資訊一同使用銀行提供給第三方支付系統銀行公鑰進行加密。加密後將資訊傳輸給銀行,銀行接收到第三方支付系統傳輸過來的資訊,首先會用銀行自己的私鑰對資訊進行解密,解密後再使用第三方支付系統提供給銀行的公鑰資訊對資訊進行驗證簽名,驗證通過後此流程完成。
(2)銀行--->第三方支付:銀行向第三方支付系統傳送資訊流程
銀行會使用自己的私鑰對傳輸資訊進行簽名,簽名後將原文和密文資訊一同使用第三方支付系統提供的公鑰資訊進行加密,將加密後資訊傳輸給第三方支付系統,第三方支付系統接受到銀行傳送過來的資訊後,使用自己的私鑰對資訊進行解密,再使用銀行提供的公鑰對解密後資訊進行驗證簽名,驗證簽名通過後此流程完成。
ca數字證書的使用目的是為了防止您提供給對方的公鑰資訊不被他人替換,其原理只是到相關證書中心進行申請,證書中心會對你的資訊和公鑰資訊一起加密,從而獲得乙個只屬於你的證書就是ca數字證書。對方在驗證簽名過程中需要使用證書中心的提供的公鑰來解開你的ca數字證書,從而獲得你的公鑰資訊進行驗證簽名,從而確認你的身份。
ssl協議提供的服務主要有:
1)認證使用者和伺服器,確保資料傳送到正確的客戶機和伺服器;
2)加密資料以防止資料中途被竊取;
3)維護資料的完整性,確保資料在傳輸過程中不被改變。
客戶端與伺服器端rsa+aes雙向加密流程(1對 或 2對rsa金鑰 ,區別不大,都會受到中間人攻擊)--rsa加密慢,aes加密快!
加解密方法
imports system imports system.security.cryptography imports system.text imports system.io public class encryptor private shared iv as byte private sha...
加解密簡介
加密技術,簽名技術的需要做到三防一確認。一防竊聽,二防篡改,三防抵賴,確認對方身份。在電子商務過程中,開始時必須確認對方身份,不然談了半天,發現網際網路那頭真是一條狗,就悲劇了。防竊聽是指,即便有人在網路傳輸過程中得到了資料,看到的也是亂七八糟,無法從中得知正常的資訊。舉個例子,談判前老總通過網路跟...
字元加解密
using system using system.security.cryptography using system.web.security using system.io using system.text using system.configuration namespace x.com...