電子商務公開密鑰加密法

(一)定義與應用原理
公開密鑰加密法是針對私有密鑰加密法的缺陷而提出來的。是電子商務應
用的核心密碼技術。所謂公開密鑰加密,就是指在計算機網絡上甲、乙兩用戶之間
進行通信時,發送方甲為了保護要傳輸的明文信息不被第三方竊取,采用密鑰 A 對
信息進行加密而形成密文 M 并發送給接收方乙,接收方乙用另一把密鑰 B 對收到的
密文 M 進行解密,得到明文信息完密文通信目的的方法。由于密鑰 A、密鑰 B 這兩
把密鑰中其中一把為用戶私有,另一把對網絡上的大眾用戶是公開的,所以這種信
息加密傳輸方式,就稱為公開密鑰加密法。與私有(對稱)密鑰加密法的加密和解密
用同一把密鑰的原理不同,公開密鑰加密法的加密與解密所用密鑰是不同的,不對
稱,所以公開私有密鑰加密法又稱為非對稱密鑰加密法。 公開密鑰加密法的應用原理是:借助密鑰生成程序生產密鑰 A 與密鑰 B,
這兩把密鑰在數學上相關,對稱作密鑰對。用密鑰對其中任何一個密鑰加密時,可
以用另一個密鑰解密,而且只能用此密鑰對其中的另一個密鑰解密。在實際應用
中,某商家可以把生成的密鑰 A 與密鑰 B 做一個約定,將其中一把密鑰如密鑰 A 保
存好,只有商家自己知道并使用,不與別人共享,叫作私人密鑰;將另一把密鑰即
密鑰 B 則通過網絡公開散發出去,誰都可以獲取一把并能應用,屬于公開的共享密
鑰,叫做公開密鑰。如果一個人選擇并公布了他的公鑰,其他任何人都可以用這一
公鑰來加密傳送給那個人的消息。私鑰是秘密保存的,只有私鑰的所有者才能利用
私鑰對密文進行解密,而且非法用戶幾乎不可能從公鑰推導出私鑰。存在下面兩種
應用情況:一是任何一個收到商家密鑰 B 的客戶,都可以用此密鑰 B 加密信息,發
送給這個商家,那么這些加密信息就只能被這個商家的私人密鑰 A 解密。實現保密
性。二是商家利用自己的私人密鑰 A 對要發送的信息進行加密進成密文信息,發送
給商業合作伙伴,那么這個加密信息就只能被公開密鑰 B 解密。這樣,由于只能應
用公開密鑰 B 解密,根據數學相關關系可以斷定密文的形成一定是運用了私人密鑰
A 進行加密的結果,而私人密鑰 A 只有商家擁有,由此可以斷定網上收到的密文一
定是擁有私人密鑰 A 的商家發送的。
(二)使用過程
具體到電子商務,很多環節要用到公開密鑰加密法,例如在網絡銀行客戶
與銀行進行資金的支付結算操作時,就涉及大量的資金流信息的安全傳輸與交換。
以客戶甲與乙網絡銀行的資金信息傳輸為例,來描述應用公開密鑰加密法在兩種情
況下的使用過程。首先,網絡銀行乙通過公開密鑰加密法的密鑰生成程序,生成自
己的私人密鑰 A 與公開密鑰 B 并數學相關,私人密鑰 A 由網絡銀行乙自己獨自保
存,而公開密鑰 B 已經通過網絡某種應用形式(如數字證書)分發給網絡銀行的眾
多客戶,當然客戶甲也擁有一把網絡銀行乙的公開密鑰 B。
1、客戶甲傳送一“支付通知”給網絡銀行乙,要求“支付通知”在傳送中是
密文,并且只能由網絡銀行乙解密知曉,從而實現了定點保密通信。客戶甲利用獲
得的公開密鑰 B 在本地對“支付通知”明文進行加密,形成“支付通知”密文,
通過網絡將密文傳輸給網絡銀行乙。網絡銀行乙收到“支付通知”密文后,發現只
能用自己的私人密鑰 A 進行解密形成“支付通知”明文,斷定只有自己知曉“支付
通知”的內容,的確是發給自己的。
2、網絡銀行乙在按照收到的“支付通知”指令完成支付轉賬服務后, 必
須回送客戶甲“支付確認”,客戶甲在收到“支付確認”后,斷定只能是網絡銀行
乙發來的,而不是別人假冒的,將來可作支付憑證,從而實現對網絡銀行業務行為
的認證,網絡銀行不能隨意否認或抵賴。網絡用戶乙在按照客戶甲的要求完成相關
資金轉賬后,準備一個“支付確認”明文,在本地利用自己的私人密鑰 A 對“支付
確認”明文進行加密,形成“支付確認”密文,通過網絡將密文傳輸給客戶甲。客
戶甲收到“支付確認”密文后,雖然自己有許多密鑰,有自己的,也有別人的,卻
發現只能用獲得的網絡銀行乙的公開密鑰 B 進行解密,形成“支付確認”明文, 由于公開密鑰 B 只能解密由私人密鑰 A 加密的密文,而私人密鑰 A 只有網絡銀行
乙所有,因此客戶甲斷定這個“支付確認”只能是網絡銀行乙發來的,不是別人假
冒的,可作支付完成的憑證。
(三)算法
當前最著名、應用最廣泛的公開密鑰系統是 RSA (取自三個創始人的名字
的第一個字母)算法。目前電子商務中大多數使用公開密鑰加密法進行加解密和數
字簽名的產品和標準使用的都是 RSA 算法。RSA 算法是基于大數的因子分解,而大
數的因子分解是數學上的一個難題,其難度隨數的位數加多而提高。
(四)優缺點
優點是可以在不安全的媒體上通信雙方交換信息,不需共享通用密鑰,用
于解密的私鑰不需發往任何地方,公鑰在傳遞與發布過程中即使被截獲,由于沒有
與公鑰相匹配的私鑰,截獲公鑰也沒有意義。
能夠解決信息的否認與抵賴問題,身份認證較為方便。密鑰分配簡單,公
開密鑰可以像電話號碼一樣,告訴每一個網絡成員,商業伙伴需要好好保管的只是
一個私人密鑰。而且密鑰的保存量比起私人密鑰加密少得多,管理較為方便。最大
的缺陷就在于它的加解密速度。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/41897.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/41897.shtml
英文地址,請注明出處:http://en.pswp.cn/news/41897.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從零基礎到精通IT:探索高效學習路徑與成功案例

文章目錄 導語:第一步:明確學習目標與方向選擇適合的IT方向設定具體的學習目標咨詢和調研 第二步:系統學習基礎知識選擇適合的編程語言學習數據結構和算法掌握操作系統和計算機網絡基礎 第三步:實踐項目鍛煉技能選擇合適的項目編寫…

聊一下操作系統 macOS 與 Linux

對于Windows操作系統大家都比較熟悉,也常拿它與Linux操作系統進行比較,兩者之間的差異也很明顯。但對于macOS 和 Linux的比較不太多,很多人認為它們很相似,因為這兩種操作系統都可以運行 Unix 命令。其實詳細比較下,兩…

Redis——哨兵模式(docker部署redis哨兵)+緩存穿透和雪崩

哨兵模式 自動選取主機的模式。 概述 主從切換技術的方法是:當主服務器宕機后,需要手動把一臺從服務器切換為主服務器,這就需要人工干預,費事費力,還會造成段時間內服務不可用。這不是一種推薦的方式,更多時候&…

前端開發怎么解決性能優化的問題? - 易智編譯EaseEditing

前端性能優化是確保網站或應用在加載速度、響應性和用戶體驗等方面達到最佳狀態的關鍵任務。以下是一些解決前端性能優化問題的方法: 壓縮和合并代碼: 壓縮和合并CSS、JavaScript和HTML文件可以減少文件大小,加快加載速度。使用壓縮工具&am…

【Linux】Linux下常用查看文件指令小結

0x00 前言 版本信息:Ubuntu 18.04.6 LTS 最后更新日期:2023.8.18 0x01 Linux下常用查看文件指令小結 cat file :顯示文件內容,支持-n選項,即cat -n file,表示加行號顯示文件內容,不過不適合看…

vue vs react

vue 簡介:漸進式 JavaScript 框架 來源:最初由 Evan You (尤雨溪)于2014年開發。Evan You之前在Google研究過AngularJS,并提取了Angular的部分特性以提供一個更輕量級的框架 版本: vue 1x:2014…

協同過濾推薦算法-基于Django+mysql的智能水果銷售系統設計(可做計算機畢設)

隨著科技的不斷發展,智能化已經成為各行各業的趨勢,水果銷售行業也不例外。智能水果銷售系統就是應運而生的一種智能化解決方案,它可以為用戶提供更加便捷、高效的購物體驗。其中,系統模塊是智能水果銷售系統的重要組成部分。 系…

tsconfig.json

概念 tsconfig.json所在位置是ts項目的根目錄,他的主要作用是自定義配置不同的選項來告訴編譯器如何編譯當前項目。 重要屬性 compilerOptions - 主要用來配置目標js版本(target)、模塊解析方式(moudle)、輸出目錄&am…

python實現文字轉語音

文字轉語音 簡介 pyttsx3是一個Python庫,用于文字轉語音的功能。它可以將文本轉換為語音,并使用不同的音頻引擎進行輸出。這個教程將向您介紹如何使用pyttsx3來創建自定義的語音應用程序。 安裝 使用以下命令安裝pyttsx3庫: pip install…

unet pytorch

1.單機多卡版本:代碼中的DistributedDataParallel (DDP) 部分對應單機多卡的分布式訓練方式 import torch import torch.nn as nn import torch.optim as optim import torch.nn.functional as F from torch.utils.data import Dataset, DataLoader from torchvisi…

ArcPy將矢量屬性表批量轉換為Excel文件

要使用ArcPy將矢量屬性表批量轉換為Excel文件,可以按照以下步驟進行操作: 1. 導入所需的Python庫: import arcpy import pandas as pd 2. 設置工作空間和要素類路徑:將arcpy.env.workspace設置為包含要素類的工作空間路徑&…

【Apollo學習筆記】—— Planning模塊

前言 本文記錄學習planning模塊時的一些筆記,總體流程參照https://zhuanlan.zhihu.com/p/61982682中的流程圖,如上圖所示。 planning_component modules/planning/planning_component.cc PlanningComponent::Init部分首先完成規劃模式的選擇&#xff…

【Linux】POSIX信號量和基于環形隊列的生產消費者模型

目錄 寫在前面的話 什么是POSIX信號量 POSIX信號量的使用 基于環形隊列的生產消費者模型 寫在前面的話 本文章主要先介紹POSIX信號量,以及一些接口的使用,然后再編碼設計一個基于環形隊列的生產消費者模型來使用這些接口。 講解POSIX信號量時&#x…

記K8S集群工作節點,AnolisOS 8.6部署顯卡驅動集成Containerd運行時

1、安裝gcc #安裝編譯環境 yum -y install make gcc gcc-c2、下載顯卡驅動 點擊 直達連接 nvidia高級搜索下載歷史版本驅動程序(下載歷史版本驅動) https://www.nvidia.cn/Download/Find.aspx?langcn3、安裝驅動 安裝顯卡驅動 ./NVIDIA-Linux-x86…

windows結束explorer進程后桌面白屏解決

背景 結束進程時一不小心一起刪掉explorer.exe ,這個文件結束桌面就一片白 , 解決: 不要關機,同時按鍵盤上ctrlshiftesc ,重新進入任務管理器,接著點“進程”選項,按左上角文件選項,進入下拉菜單…

備份或同步數據?跨國大文件傳輸的不同需求與解決方案

信息化時代的到來,使得許多個人、組織、企業在日常生活中都需要對數據進行備份或同步。但不同的應用場景和需求,也需要不同的備份和同步方式。而在跨國大文件傳輸方面,更是需要根據不同需求選擇合適的傳輸方案。下面將分別介紹備份與同步數據…

BeanFactoryApplicationContext之間的關系

1**.BeanFactory與ApplicationContext之間的關系** (1)從繼承關系上來看: ? BeanFactory它是ApplicationContext 的父接口 (2)從功能上來看: ? BeanFactory才是spring中的核心容器,而Appli…

設備管理是什么意思?

設備管理 使組織能夠管理和維護設備,包括虛擬機、物理計算機、移動設備和 IoT 設備。 設備管理是任何組織安全策略的關鍵組成部分。 它有助于確保設備安全、最新且符合組織策略,目的是保護公司網絡和數據免受未經授權的訪問。 由于組織支持遠程和混合員…

MySQL 奇遇記三則

公司新項目,要使用 MySQL 數據庫。 第一次使用 MySQL,有點小激動。聽說過 N 多次,這一次終于用上了。 為什么是奇遇記? 因為在網上幾乎搜索不到別人遇到和我一樣的問題。 系統 :WINDOWS10X64 中文版 數據庫&#xf…

【數學建模】-- 數學規劃模型

概述: 什么是數學規劃? 數學建模中的數學規劃是指利用數學方法和技巧對問題進行數學建模,并通過數學規劃模型求解最優解的過程。數學規劃是一種數學優化方法,旨在找到使目標函數達到最大值或最小值的變量取值,同時滿足…