电子商务公开密钥加密法

(一)定义与应用原理
公开密钥加密法是针对私有密钥加密法的缺陷而提出来的。是电子商务应
用的核心密码技术。所谓公开密钥加密,就是指在计算机网络上甲、乙两用户之间
进行通信时,发送方甲为了保护要传输的明文信息不被第三方窃取,采用密钥 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.mzph.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…

【数学建模】-- 数学规划模型

概述: 什么是数学规划? 数学建模中的数学规划是指利用数学方法和技巧对问题进行数学建模,并通过数学规划模型求解最优解的过程。数学规划是一种数学优化方法,旨在找到使目标函数达到最大值或最小值的变量取值,同时满足…