当前位置: 首页 > article >正文

系统架构设计师必知:数字签名、加密算法、公钥私钥详解

一、先搞清楚三个基础概念在进入“数字签名”之前必须先理解加密和哈希。1.1 加密Encryption加密是将明文通过某种算法转换成密文的过程目的是保密。只有拥有正确密钥的人才能解密还原明文。对称加密加密和解密使用同一个密钥。优点速度快适合大数据。缺点密钥分发困难如何把密钥安全给对方常见算法AES、DES、SM4非对称加密加密和解密使用一对密钥公钥Public Key和私钥Private Key。公钥加密 → 私钥解密用于保密私钥加密 → 公钥解密用于身份认证即数字签名的原理优点解决了密钥分发问题。缺点速度慢。常见算法RSA、ECC、SM21.2 哈希Hash / 散列哈希算法将任意长度的数据映射成固定长度的短字符串哈希值 / 摘要。特点单向性无法从哈希值反推出原文。抗碰撞很难找到两个不同输入产生相同哈希值。雪崩效应原文改一点哈希值完全改变。常见算法MD5已不安全、SHA-1已弱化、SHA-256、SM3哈希本身不是加密它不涉及密钥也不能还原。哈希的作用是完整性校验和生成数字签名的基础。二、数字签名到底是什么数字签名Digital Signature是对电子数据的一种签名用于确认身份认证消息确实是声称的发送者发出的。完整性消息在传输过程中没有被篡改。不可否认发送者无法事后否认自己发过该消息。2.1 数字签名的核心步骤以RSA为例发送者 Alice 要签署消息并发送给 Bob1. Alice 对原文 M 计算哈希值 H hash(M) 2. Alice 用她的私钥唯一她能拥有的对 H 进行加密得到签名 S Encrypt_private(H) 3. Alice 将 (M, S) 一起发送给 Bob 4. Bob 收到后 - 对 M 计算哈希值 H1 hash(M) - 用 Alice 的公钥解密签名 S得到 H2 Decrypt_public(S) - 比较 H1 与 H2若相等则签名有效关键点私钥用于签名只有自己能做公钥用于验证任何人都能做。签名是对哈希值加密而不是对原文加密 —— 目的是缩短签名长度、提高效率。如果哈希值匹配证明消息未被修改完整性且是拥有私钥的人发出的认证不可否认。2.2 数字签名 ≠ 加密很多人混淆数字签名不是为了保密而是为了认证和完整。签名的消息本身可以是明文比如代码签名、合同PDF。加密数字签名目的机密性不让别人看到认证、完整性、不可否认使用的密钥公钥加密私钥解密私钥签名公钥验签对谁可见只有收方有私钥能看到任何人都能验证签名但未必能看到明文典型场景发送机密文件、HTTPS握手软件签名、JWT、电子合同实战中两者经常结合使用比如先签名再加密既保证真实性又保证机密性。三、公钥与私钥一对奇妙的搭档非对称加密的核心是密钥对公钥Public Key可以公开分发任何人都能拿到。私钥Private Key必须严格保密只能由所有者保管。3.1 两种经典用法用法操作解决问题加密通信发送方用接收方的公钥加密 → 接收方用自己的私钥解密防止中间人窃听数字签名发送方用自己的私钥签名 → 接收方用发送方的公钥验证确认发送者身份 数据未被篡改3.2 一个生活化比喻公钥像一把打开的锁谁都可以拿来锁东西。私钥像唯一的一把钥匙只有主人能打开。场景一加密你想寄秘密信给我我先把锁公钥寄给你你用锁把信锁进铁箱寄给我我用自己的钥匙私钥打开。场景二签名你把一个包裹贴上你的专属印章用你的私钥签名我用你的公开印章图案公钥验证这个包裹确实是你寄的。四、经典算法一览考试常用4.1 对称加密算法算法密钥长度特点AES128/192/256 bit目前最常用安全高效DES56 bit已过时可被暴力破解3DES112/168 bit比DES安全但较慢逐步被AES替代SM4128 bit中国国密标准4.2 非对称加密算法算法常见用途特点RSA加密、签名最经典基于大数分解难题。1024/2048/4096位ECC (椭圆曲线)加密、签名相同安全强度下密钥更短、性能更好SM2加密、签名国密非对称算法DSA仅数字签名不支持加密只用于签名验证ECDSA签名基于椭圆曲线的DSA变体4.3 哈希算法考试注意MD5/SHA-1已被攻破算法输出长度安全状态MD5128 bit不安全可碰撞SHA-1160 bit已弱化建议弃用SHA-256256 bit安全广泛使用SM3256 bit国密哈希五、实际应用场景考试案例题常见5.1 HTTPS/TLS 如何综合运用服务器拥有公钥私钥并持有数字证书CA签名。浏览器访问服务器服务器返回证书含公钥。浏览器验证证书用CA公钥验证签名确认服务器身份。浏览器生成一个临时会话密钥对称密钥用服务器公钥加密后发送。服务器用私钥解密得到会话密钥。后续通信使用对称加密AES因为更快。这一过程同时用到了非对称加密传递对称密钥身份认证、对称加密数据加密、数字签名证书验证。5.2 软件数字签名开发者对软件包计算哈希再用私钥对哈希签名。用户下载软件和签名用开发者公钥验证签名 —— 确保软件未被植入病毒且来自官方。5.3 JWT (JSON Web Token) 的签名JWT 可使用HS256对称签名或RS256非对称签名。RS256 中认证服务器用私钥签发 Token资源服务器用公钥验证 Token 合法性无需共享密钥。六、考试常见选择题与辨析题目1关于数字签名说法正确的是A. 数字签名使用公钥进行签名私钥进行验证B. 数字签名可以保证消息的机密性C. 数字签名通常先对消息计算哈希再对哈希加密D. 数字签名只能用RSA算法实现答案C。A错签名用私钥验签用公钥。B错签名不提供机密性提供完整性和认证。D错还有DSA、ECDSA等。题目2在非对称加密中若希望保证只有接收方能够读取消息应使用A. 发送方私钥加密B. 发送方公钥加密C. 接收方私钥加密D. 接收方公钥加密答案D。保证机密性时用接收方公钥加密。题目3关于哈希函数错误的是A. 哈希函数是单向的B. 不同输入可能产生相同哈希值碰撞C. 可以通过哈希值反推原文D. 哈希函数常用于数字签名答案C。哈希不可逆。七、一张图总结加密与数字签名全过程文字描述发送方(Alice) 接收方(Bob) | | | 明文 M | | -- 1. 计算哈希 H hash(M) | | -- 2. 用私钥加密H得到签名 S | | -- 3. (可选) 用Bob公钥加密(MS)得到密文C | | ------ 发送 C (或直接 MS) ----- | | | | 4. 若密文先用自己私钥解密得到MS | 5. 用Alice公钥解密S得到H2 | 6. 计算H1 hash(M) | 7. 如果H1H2验证成功图中第3步为“加密签名”同时使用保证机密性认证性。八、易错点高频考点总结易混淆点正确理解“公钥加密私钥解密” → 加密✅ 正确用于机密性“私钥加密公钥解密” → 加密 ❌这不是加密是签名不保证机密性数字签名 对原文加密❌ 是对哈希值加密哈希算法是加密算法的一种❌ 哈希不是加密无密钥越长密钥一定越安全❌ 还要看算法ECC 256位 ≈ RSA 3072位公钥必须保密❌ 公钥就是公开的九、备考建议牢记两个“钥匙用途”口诀加密公锁私开别人用我公钥锁我用私钥开签名私签公验我私钥签名大家公钥验理解HTTPS握手过程案例题常考TLS四次握手如何混合使用对称非对称数字证书记住国密算法SM2非对称、SM3哈希、SM4对称 —— 近年考试有涉及国产化趋势。

相关文章:

系统架构设计师必知:数字签名、加密算法、公钥私钥详解

一、先搞清楚三个基础概念 在进入“数字签名”之前,必须先理解加密和哈希。 1.1 加密(Encryption) 加密是将明文通过某种算法转换成密文的过程,目的是保密。只有拥有正确密钥的人才能解密还原明文。对称加密:加密和解密…...

基于Git日志的轻量级代码统计工具开发实践

1. 项目概述:一个为开发者定制的轻量级代码统计工具如果你和我一样,日常重度依赖 Cursor 这类 AI 驱动的代码编辑器,那你肯定有过这样的体验:看着编辑器里飞速增长的代码行数,心里却有点没底。我到底写了多少行代码&am…...

EchoBird 图文教程:小白一键安装 Claude Code / Codex,并配置 DeepSeek、OpenAI、Claude 模型

一、为什么要用 EchoBird 如果你最近接触过 Claude Code、Codex、OpenClaw、Aider 这类 AI Agent 工具,大概率会遇到这些问题: 安装命令太多,不知道从哪一步开始;终端、环境变量、权限、依赖这些东西容易卡住;API Ke…...

Vue.js数据同步利器:vsync库的核心原理与工程实践

1. 项目概述:一个基于Vue.js的现代化同步解决方案最近在梳理前端状态管理和数据同步的实践时,我遇到了一个挺有意思的开源项目:Hardik455abc/vsync。乍一看这个标题,vsync很容易让人联想到计算机图形学里的“垂直同步”&#xff0…...

sentence-transformers模型加载报错?试试这个本地路径加载的万能解法(附all-MiniLM-L6-v2示例)

解决sentence-transformers模型加载失败的终极指南:本地路径加载全攻略 当你满怀期待地运行sentence-transformers代码,准备体验强大的文本嵌入能力时,突然遭遇模型下载失败的报错——这种经历对开发者来说简直像踩到乐高积木一样痛苦。网络超…...

别再只会按回车了!ChatGPT换行、分段、写代码的3种正确姿势(含移动端技巧)

ChatGPT高效输入指南:从换行技巧到结构化表达的艺术 在数字创作与AI交互的时代,每个按键背后都藏着提升效率的秘密。当大多数人还在用原始的单行输入与ChatGPT对话时,掌握格式化输入技巧的用户已经获得了截然不同的交互体验——他们的代码保持…...

【目标检测系统】基于YOLOv8的DOTA遥感小目标检测系统

一、系统介绍本系统是一套基于深度学习的DOTA遥感目标检测系统,采用 Ultralytics YOLOv8 作为核心检测引擎,PySide6 构建图形用户界面,专门用于遥感解译、地理空间分析、军事侦察、城市规划等场景。用户只需加载预训练模型并选择图片、视频或…...

Ruoyi-Vue深度整合JimuReport:基于Token的精细化权限与菜单实践

1. Ruoyi-Vue与JimuReport整合背景与价值 在企业管理系统的开发中,报表功能往往是刚需。Ruoyi-Vue作为国内流行的开源后台框架,提供了完善的权限体系和基础架构;而JimuReport作为一款国产可视化报表工具,以其零代码设计和丰富的数…...

保姆级教程:用GeoServer 2.24发布SRTM3地形图,从下载到配色一站式搞定

从零到一:GeoServer发布SRTM3地形图的完整实践指南 当你第一次看到专业GIS系统中那些色彩斑斓的地形图时,是否好奇过它们是如何从原始数据变成可视化作品的?SRTM3作为全球覆盖的90米分辨率高程数据,是地形分析的基础素材&#xff…...

通过Taotoken模型广场快速为项目选择合适的AI模型

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过Taotoken模型广场快速为项目选择合适的AI模型 当你开始一个新项目,或者需要为现有应用集成AI能力时,面…...

超薄OLED字符显示屏技术解析与工业应用

1. 超薄OLED字符显示屏的技术革新 在工业控制和嵌入式系统领域,显示模块的选择往往需要在可视性、功耗和空间占用之间寻找平衡点。Newhaven Display最新推出的超薄OLED字符显示屏系列,通过突破性的结构设计将厚度压缩至5mm,同时实现了10,000:…...

Reflexion框架:让LLM通过自我反思实现智能迭代优化

1. 项目概述:从“试错”到“反思”的智能进化如果你也曾在调试一段复杂代码时,对着报错信息反复尝试,直到灵光一现找到那个被忽略的边界条件,那么你已经在实践一种最朴素的“反思”过程。noahshinn/reflexion这个项目,…...

FPGA配置核心技术与工程实践详解

1. FPGA配置基础与核心概念解析FPGA配置是将设计好的逻辑电路加载到可编程芯片中的关键过程。与ASIC不同,FPGA的灵活性正是通过这种可重复配置的特性实现的。在Xilinx 7系列器件中,配置过程涉及多个硬件接口和软件流程的协同工作。1.1 配置引脚功能详解P…...

AG32从零开始---用纯cpld点亮LED灯

1.AG32官方给的教程又乱又少真是的,我一个小菜鸡点个灯都要研究半天,诶呀烦死了2.别问我为什么只用cpld,工作需要,mcucpld点灯更是复杂3.用纯cpld编程需要安装软件Quartus II和Supra(自己研究)最新Supra下载…...

iOS Swift 推送通知完整实现教程(前台/后台/杀死状态 全覆盖跳转)

一、前言 远程推送通知是iOS开发中高频必备功能,绝大多数App都需要实现推送消息提醒、点击通知跳转指定业务页面。iOS推送分为三种运行状态,开发中必须全部兼容:前台运行:App处于打开状态,直接接收推送弹窗后台挂起&am…...

AI应用开发利器:基于MCP协议的故障记忆与自学习系统

1. 项目概述:一个为AI应用注入“事故记忆”的MCP服务器最近在折腾AI应用开发,特别是那些需要调用外部工具和数据的智能体(Agent)时,总绕不开一个核心问题:如何让AI在调用外部API或执行复杂操作时&#xff0…...

高中生物必修一第3讲:细胞的基本结构——细胞膜、细胞器与细胞核全解,生物膜系统与分泌蛋白通路深度剖析

目录1 细胞膜的结构与功能:流动镶嵌与选择透过1.1 细胞膜的成分1.2 流动镶嵌模型1.3 细胞膜的功能1.4 体验制备细胞膜的方法1.5 细胞壁1.6 例题精讲2 细胞器:分工与合作的精密工厂2.1 细胞器的分类2.2 各细胞器的结构与功能详解2.3 细胞器的综合对比2.4 …...

pico示波器采集软件SSL1000A在功率器件测试的应用

在新能源汽车电控体系里,IGBT、MOSFET 是电机控制器、OBC、DC-DC 等核心模块的 “功率开关”,它们的开关特性、瞬态响应、稳定可靠性直接影响整车效率与安全。功率器件测试看似简单,实则细节要求极高,因为器件在高频开关中产生的尖…...

基于本地LLM与Whisper的沉浸式语音编程环境搭建指南

1. 项目概述:当语音输入遇上沉浸式编程 最近在GitHub上看到一个挺有意思的项目,叫 voice-typing-vibe-coding 。光看名字,你可能会觉得这又是一个语音转代码的工具,但实际体验下来,我发现它的核心远不止“打字”那么…...

EldenRingSaveCopier终极指南:轻松迁移艾尔登法环存档的完整解决方案

EldenRingSaveCopier终极指南:轻松迁移艾尔登法环存档的完整解决方案 【免费下载链接】EldenRingSaveCopier 项目地址: https://gitcode.com/gh_mirrors/el/EldenRingSaveCopier 你是否曾在艾尔登法环中投入数百小时,却因存档损坏或设备更换而面…...

嬴姓有多罕见?全国不到1000人的姓氏,即将成为一个啤酒品牌

嬴姓,中国最古老的姓氏之一。全国不到1000人姓嬴。这个罕见的姓氏,即将成为一个啤酒品牌的名字。你身边有姓“嬴”的人吗?大概率没有。因为嬴姓太罕见了。据统计,全国姓“嬴”的人不到1000人。主要分布在江苏、山东、河北等地。嬴…...

揭秘Clay印相底层渲染逻辑:为什么92%的用户调不出真实陶土肌理?

更多请点击: https://intelliparadigm.com 第一章:Clay印相的视觉本质与行业误读 Clay印相并非传统意义上的图像渲染技术,而是一种基于物理材质反射模型与神经感知先验耦合的视觉表征范式。其核心在于模拟黏土(Clay)在…...

Turbo模式突然失效?紧急修复指南:5分钟定位API网关超时、区域节点降级、token配额劫持三大隐性故障

更多请点击: https://intelliparadigm.com 第一章:Turbo模式突然失效?紧急修复指南:5分钟定位API网关超时、区域节点降级、token配额劫持三大隐性故障 Turbo模式并非原子性开关,其状态依赖于网关层、区域服务健康度与…...

YuukiPS启动器:动漫游戏玩家的智能启动解决方案终极指南

YuukiPS启动器:动漫游戏玩家的智能启动解决方案终极指南 【免费下载链接】Launcher-PC 项目地址: https://gitcode.com/gh_mirrors/la/Launcher-PC 你是否厌倦了每次启动游戏都要重复繁琐的配置步骤?是否希望有一个工具能够智能管理多个游戏账号…...

新手装 Node.js 总踩坑,这份保姆级教程帮你一次搞定(附镜像加速+版本切换)

🔥个人主页:北极的代码(欢迎来访) 🎬作者简介:java后端学习者 ❄️个人专栏:苍穹外卖日记,SSM框架深入,JavaWeb ✨命运的结局尽可永在,不屈的挑战却不可须臾或…...

构建高可复用表单解决方案:从状态管理到校验引擎的工程实践

1. 项目概述:一个面向开发者的表单实验室如果你是一名前端或全栈开发者,肯定对表单这个“老朋友”又爱又恨。爱它,是因为它是用户与系统交互最核心的桥梁;恨它,是因为从数据绑定、校验、提交到状态管理,每一…...

【LeetCode刷题日记】一篇带你搞懂平衡二叉树高效判断法(110.平衡二叉树)

🔥个人主页:北极的代码(欢迎来访) 🎬作者简介:java后端学习者 ❄️个人专栏:苍穹外卖日记,SSM框架深入,JavaWeb ✨命运的结局尽可永在,不屈的挑战却不可须臾或…...

2026永康选车膜,避坑指南看完就懂

永康车主选车膜,最怕花了钱还踩坑。劣质膜不隔热、起泡异味,施工粗糙导致翘边划伤车漆,这些痛点我见得太多。今天用真实案例和数据,帮你避开这些坑。一、膜品质量:数据说话,拒绝劣质数据对比:量…...

ARM异常级别与系统寄存器访问控制机制解析

1. ARM异常级别与系统寄存器访问控制机制解析在ARMv8/v9架构中,异常级别(Exception Level)构成了处理器权限管理的核心框架。这个分层保护机制从EL0(用户应用程序)延伸到EL3(安全监控模式),每个级别都有明确…...

2026年写作类国际竞赛都有哪些?留学背景提升首选赛事全解析

AI 问答摘要块 Q:2026 年写作类国际竞赛都有哪些? A:2026 年值得参加的高含金量国际写作竞赛主要包括:1. Cosmopolitan Writing Award(CWA)(全球首创 AI 评审机制,全年龄段覆盖,留学背景提升首选…...