私钥和公钥加密过程

RSA公钥私钥的生成及其加密解密过程详解(公司级别质数,原理一样) 首先:我们进行RSA算法的原理剖析: 总所周知RSA算法,是一种非对称加密算发 之所以为非对称,是因为加密和解密的两把钥匙不同,在这个过程的中,密钥的产生是实现过程中的关键: 公式原路为: 明文+public key=密文: 密文-private kēy=明文 过程实现: 1.生成公私钥 (关键) 2.用公钥对指定编码集的字节流进行加密产生密文; 3.用私钥对密文进行解密得出密文; ... 阅读详情

密钥对,私钥,公钥
基本概念
密钥的分类
详细过程

基本概念

首先明确几个基本概念:

1、密钥对,在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。

2、公钥,公钥用来给数据加密,用公钥加密的数据只能使用私钥解密。

3、私钥,如上,用来解密公钥加密的数据。

4、摘要,对需要传输的文本,做一个HASH计算,一般采用SHA1,SHA2来获得。

5、数字签名,使用私钥对需要传输的文本的摘要进行加密,得到的密文即被称为该次传输过程的签名。

6、签名验证,数据接收端,拿到传输文本,但是需要确认该文本是否就是发送发出的内容,中途是否曾经被篡改。因此拿自己持有的公钥对签名进行解密,得到了文本的摘要,然后使用与发送方同样的HASH算法计算摘要值,再与解密得到的摘要做对比,发现二者完全一致,则说明文本没有被篡改过。

使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。

密钥的分类

对称密钥加密,又称私钥加密或会话密钥加密算法,即信息的发送方和接收方使用同一个密钥去加密和解密数据。它的最大优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。

非对称密钥加密,又称公钥密钥加密。它需要使用不同的密钥来分别完成加密和解密操作,一个公开发布,即公开密钥,另一个由用户自己秘密保存,即私用密钥。信息发送者用公开密钥去加密,而信息接收者则用私用密钥去解密。公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。

详细过程

那么这里一共有两组四个密钥:A的公钥(PUB_A),A的私钥(PRI_A);B的公钥(PUB_B),B的私钥(PRI_B)。

公钥一般用来加密,私钥用来签名。

公钥和私钥唯一对应,用某个公钥签名过得内容只能用对应的私钥才能解签验证;同样用某个私钥加密的内容只能用对应的公钥才能解密。

这时A向B发送信息的整个签名和加密的过程如下:
1、A先用自己的私钥(PRI_A)对信息(一般是信息的摘要)进行签名。
2、A接着使用B的公钥(PUB_B)对信息内容和签名信息进行加密。

这样当B接收到A的信息后,获取信息内容的步骤如下:
1、用自己的私钥(PRI_B)解密A用B的公钥(PUB_B)加密的内容;
2、得到解密后的明文后用A的公钥(PUB_A)解签A用A自己的私钥(PRI_A)的签名。

从而整个过程就保证了开始说的端到端的唯一确认。A的签名只有A的公钥才能解签,这样B就能确认这个信息是A发来的;A的加密只有B的私钥才能解密,这样A就能确认这份信息只能被B读取。
下面的例子很好了解释了这个问题。
how to get public key from private key
create rsa dsa key with openssl
Fix ssl key values mistch issue
setup ssh key to login Linux
which ssh key is secure

公钥私钥从原理到实战:加密、签名、SSH与HTTPS全解析 加密技术是保障网络安全的基础,而非对称加密则是现代密码学的核心。公钥与私钥作为一对同时生成的密钥,公钥公开分发用于加密或验签,私钥保密持有用于解密或签名,二者通过单向函数实现安全通信,解决了传统对称加密的密钥分发难题。该技术在HTTPS、SSH远程登录、代码签名等场景中广泛应用。通过生活化类比讲解公钥私钥原理,并结合ssh-keygen和OpenSSL命令演示密钥生成、加密、解密、签名验签的完整流程,帮助读者将理论落地到实际工程操作。 阅读详情

相关推荐

非对称加密使用方式--------公钥加密,私钥解密与私钥加密,公钥解密。

接触非对称加密的时候,最容易疑惑不清的大概就是 什么时候要使用公钥加密,私钥解密,什么时候要用私钥加密,公钥解密 因为我刚接触非对称加密的时候也是这个疑惑,所以我举两个例子或许能够给大家带来一些思路。 公钥加密,私钥解密 时间回到十几年前,那个时候我们很多人应该都还在度过懵懂的校园时光。在那个手机还不盛行的年代,我们表达好感的行为,大多都是用小纸条来传递,那时候的我们....咦,跑题...

小轩猿的博客 2万+

加密/解密 公钥/私钥

主要介绍加密、解密以及对称加密非对称加密的基本知识,最后还介绍了一下HTTPS中采用的加密传输方式

赵四司机的博客 1万+

http、https 协议运行过程 公钥私钥,证书存放位置,传递证书,(非)对称加密。

http 采用的TCP / IP通信协议,http默认的是 80 端口。主要特点: 1、无连接 2、无状态 3、媒体独立 参考: https://blog.youkuaiyun.com/qq_41291945/article/details/106328304 https 在http的基础上添加了加密协议,默认端口是 443。 HTTP协议的请求过程如下: 1、客户端发起 HTTPS 请求 这个没什么好说的,就是用户在浏览器里输入一个 https 网址,然后连接到 server 的 443 端口。 2、服.

cyt 5073

《图解密码技术》笔记5:公钥密码-用公钥加密,用私钥解密

目录 5.1 投币寄物柜的使用方法 5.2 本章学习的内容 5.3 密钥配送问题 5.3.1 什么是密钥配送问题 5.3.2 通过事先共享密钥来解决 5.3.3 通过密钥分配中心来解决 5.3.4 通过 Diffie-Hellman 密钥交换来解决密钥配送问题 5.3.5 通过公钥密码来解决密钥配送问题 5.4 公钥密码 5.4.1 什么是公钥密码 5.4.2公钥密码的历史 5.4.3 公钥通信的流程 5.4.3 各种术语 5.4.5 公钥密码无法解决的问题 5.5 时钟...

qq_29864185的博客 6877

从原理图到代码:深入解析SX1278 LoRa模块与STM32的SPI通信驱动(附完整工程)

本文深入解析了SX1278 LoRa模块与STM32的SPI通信驱动实现,从硬件原理图到完整工程代码,详细介绍了LoRa技术的通信原理、寄存器配置、SPI接口设计及低功耗优化策略。适合物联网开发者和嵌入式工程师提升远距离无线通信能力,附完整工程代码助力快速开发。

weixin_42715608的博客 423

什么是无人机电源管理模块?电源管理模块有什么用处?

我来描述一下我的问题情景,电源管理模块的定义是,这里给出这个PX4官方对于电源管理模块的一些介绍,补充一下锂电池的放电原理大家就可以更好理解为什么需要电源管理模块

HRWVY0725的博客 2272

C# 对接JAVA过程中RSA 私钥公钥加密问题

公司业务需求要和第三方进行接口对接。我方使用的是C#,第三方是JAVA ,安全验证使用了AES和RSA加密。 AES加密,机密好弄, RSA就有些麻烦了,C#和JAVA的不一样。C#原生的支持的XML格式密钥。java提供的是pem文件格式密钥。 下图为签名方式: 签名规则详细步骤如下: (1)合作方、现在支付生成各自 RSA 公私钥、AES 对称密钥。其中,合作方 RSA 公私钥为 (cooperatorPubKey、cooperatorPriKey),合作方 AES 对称密钥为 coope..

妖精的尾巴 2177

UE5 Decal混合进阶:如何用DBuffer实现自定义Normal插值(附完整材质配置流程)

本文深入解析了UE5中利用DBuffer技术实现Decal自定义Normal插值的完整流程。通过详细的材质配置步骤和核心算法说明,帮助开发者突破传统混合模式限制,掌握高级法线控制技巧,特别适合需要精细环境细节的3A级项目开发。

table的专栏 224

区块链-公钥私钥签名、验签、加密、解密过程

公钥 与 私钥 比特币采用了ECDSA数字签名算法,是一种非对称的加密方法。非对称加密的秘钥是成对出现的,即公钥与私钥。 公钥,公之于众,用于数字验签、加密; 私钥,由持有者保存,用于数字签名、解密; 以下记录一下学习该段知识的简要笔记,只讨论原理,不涉及具体加密算法的实现。 数字签名&验签 假设场景一,我让马化腾转述一句话给马云,谈一下如何收购小企鹅的 , 为了防止马化腾 ...

u012391423的博客 6541

在Rviz仿真环境中搭建传送带

<geometry><material>

qq_58268456的博客 936

从OpenClaw到Hermes Agent:AI Agent实战部署与自动化工作流构建

AI Agent(智能体)作为大语言模型(LLM)的能力延伸,其核心原理在于通过工具调用(Tool Calling)与环境交互,使模型从“对话”走向“执行”。这一技术价值在于将自然语言指令转化为具体操作,实现业务流程自动化,从而提升开发与运维效率。在应用场景上,AI Agent广泛适用于自动化运维、智能客服、数据报告生成等重复性任务处理。本文聚焦于两大热门开源框架OpenClaw与Hermes Agent,深入探讨其部署配置、技能扩展及实战联调。通过结合OpenClaw的模块化扩展能力与Hermes Age

weixin_34122810的博客 503

用通俗易懂的话来介绍加密货币从私钥到公钥,再到公钥哈希,最后生成比特币地址的过程。

第四步:从公钥哈希到比特币地址在公钥哈希的基础上,加上版本号(区分不同加密货币),再进行两次哈希计算并取前4位作为“校验码”,最后把这些信息一起转换成base58编码(一种去掉容易混淆字符的编码方式,比如去掉0和O、1和l),就得到了我们平时看到的比特币地址(比如“1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa”)。这个地址就是你给别人转账时提供的“收款码”。简单说就是:私钥(自己藏好的钥匙)→ 算出公钥(公开的账号)→ 压缩成公钥哈希(精简版账号)→ 加工成地址(能用的收款码)。

通俗易懂学IT 762

Unity抖音小游戏上架实战:从零到一,详解流程与避坑指南

本文详细介绍了Unity抖音小游戏上架的全流程,包括环境准备、SDK集成、开发者账号注册、软著申请、打包提交流程及常见问题解决方案。重点解析了抖音小游戏平台特有的配置细节和避坑技巧,帮助开发者高效完成游戏上架并优化用户体验。

weixin_33704234的博客 261

加密解密:公钥私钥过程详解

前言:为什么要加密这个东西,就不用多说了吧,比如我们出门的时候,总会有意识的把门用锁锁上,保证屋内东西的安全,虽然家贼难防,但至少可以防外贼(当然,也有贼可以从窗户进呀,但这里我想说,大哥大姐们,不要钻牛角尖)。那这个加密的也一样的,具体可看下述: ...

weixin_40384363的博客 9252

CMOS图像传感器——工作原理

CMOS图像传感器的曝光与读出

沧海一升的博客 9459

LVGL 源码分析大全

LVGL 是一款流行的免费和开源嵌入式图形库,为纯C的轻量级GUI框架,支持framebuffer直接渲染图层,因此LVGL能更容易为 MCU、MPU等显示设备开发漂亮的UI。可视化的 UI 编辑器官方上有推荐使用工具。当然,也可以选择 NXP(恩智浦半导体) 提供的工具。........................

Bigan(安)的博客 1万+

java公钥加密私钥解密过程_GPG加密解密过程

GPG加密解密过程一、Linux系统下1.安装yum安装[root@POC-ORACLE ~]# yum install gnupg下载安装包安装https://www.gnupg.org/download/index.en.html查看gpg帮助[root@POC-ORACLE ~]# gpg --helpgpg (GnuPG) 2.0.14libgcrypt 1.4.5Copyright (C...

weixin_33250808的博客 1288

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Python实现公钥私钥加密解密的全过程

通常,公钥用于加密数据,而私钥用于解密数据。然而,需要注意的是,公钥加密通常用于加密较小的数据(如会话密钥),因为公钥加密算法(如RSA)在处理大数据时可能效率较低。对于大数据,通常的做法是使用对称加密算法(如AES),并用公钥加密算法加密对称密钥。在实际应用中,你可能需要安全地存储这些密钥,并避免将它们硬编码到你的代码中。函数接受一个加密后的字节串,并返回解密后的字节串。在打印解密后的消息时,我们将其解码为字符串(假设原始消息是UTF-8编码的)。)作为消息,并返回一个加密后的字节串。

2401_89383634的博客 833

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

RSA用私钥加密数据公钥解密数据(不是签名验证过程)

常规自带的一些rsa密码utils里面并没有这种功能。只有封装好的sign和verify函数。但是我们并不需要里面的hash功能。RSA用私钥加密数据公钥解密数据,严格的来说,并不安全。但是最近在写一个keygen的时候,软件作者是这么用的,所以只能搞一个这样的。把克隆下来的python-rsa-main这个文件夹名改成py_rsa。我克隆的时间‎为2022‎年‎7‎月‎21‎日,‏‎225529。将上面的改版代码加入rsa/pkcs1.py中。之后就可以私钥加密普通内容,公钥解密普通内容。........

uiop_uiop_uiop的博客 3621

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

RSA 知道公钥模N 公钥指数E 算出公钥? 知道私钥D 私钥P等, 算出私钥? 及反过来知道私钥,算出D,P等所有参数?python示例 RSA公钥的生成过程 rsa加密、解密及签名、验签示例

当你知道RSA公钥的模N和公钥指数E时,你可以使用Python中的rsa模块来计算RSA公钥。在这个示例中,我们使用了Crypto模块中的RSA类来构建RSA公钥对象,并将输入的模N和公钥指数E传递给方法。最后,我们输出了生成的公钥。

chenhao0568的专栏 1719

python生成rsa公钥私钥,及分段加密、解密、签名、验签过程

比较早以前封装的一个关于RSA的类,今天贴出来,以供大家参考 # coding:utf-8 import os import base64 import json from cryptography.hazmat.primitives.asymmetric import rsa from cryptography.hazmat.primitives import serialization from cryptography.exceptions import InvalidSignature from c

weixin_43620243的博客 1207

android rsa加密和解密过程,Android RSA 公钥 私钥 加密和解密

/*** 私钥加密* @throws Exception*/@Testpublic void testPrivateKey() throws Exception{String priKey = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAL5o5kuY6LOQrfbmhHpKS0pqV3phJHylhIVhuKicmOJAq2kWMoRoCw...

weixin_29311017的博客 295

4.17.0 RSA 私钥和公钥的一些自己的理解

RSA 是非对称加密算法 对称的加密算法,加密和机密都是使用的一套密码,而非对称使用的是两套密码。 例如我要传的是18,然后我加密的时候是3*6,然后能我解密的时候,可能是(3*3)*(6/3)=9*2=18 来得到这个18. 我加密的时候是一种密钥, 解密的时候又是一种密钥。 1:加密的密钥与解密的密钥不相同  2:使用私钥加密的内容,只能通过公钥来解密       使

Kodulf的专栏 6683

java 实现 RSA 公钥私钥分别 加密解密 加签延签 生成 公钥私钥 实例

目录 介绍 秘文写入本地文件 和读出使用解密 公钥加密,私钥解密示例 日志 公钥私钥分别 加密解密 加签延签 测试类 加密类 验证添加签名类 base64类 结果生成公钥私钥 日志 介绍 一共四个类 秘文写入本地文件 和读出使用解密 package com.superman.service; import java.io.BufferedReader; imp...

银河系天城知识宝库_技术专家蒋浩宇 1502

使用rsa公钥对字符串加密并通过私钥解密全过程

0.生成公钥私钥对 ssh-keygen -t rsa -N "" -f ${HOME}/.ssh/id_getAuthToken_rsa 1:把当前公钥转为pem格式 python ./convert.py <(awk '{ print $1" "$2" "$3; }' < ${HOME}/.ssh/id_getAuthToken_rsa.pub)|sed 2,3d >${H

风 1万+

公钥和私钥原理

以下为转载:公钥和私钥原理2005年03月01日 17:06:00阅读数:22313      一直以来对公钥和私钥都理解得不是很透彻,感觉到模棱两可,心里直打鼓呢。公钥怎么会事?私钥怎么会事?工作原理是怎么的?今天在网上找了半天,通过查看大家对这个密钥对的理解,总算弄清楚了,咱就把我的心得写出来给大家对密钥对有疑问的同志们看看。      公钥和私钥就是俗称的不对称加密方式,是从以前的对称加密(...

KiddYang‘s Blog 1万+
上一篇: Linux磁盘挂载、分区、扩容操作
下一篇: pfx文件是什么
曹大卫779
博客等级 码龄6年 70粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值