数字签名的原理

现代密码学实验五:签名算法 sha-1 阅读详情

 (Bob) 有两个密钥, (Bob的公钥)和 (Bob的私钥)。

Bob的私钥只有自己知道, (Bob的公钥)可以让所有人都知道:(Pat)、(Doug)、(Susan) 。公钥和私钥是由特殊算法生成的,都可以用来把明文加密成不可读的密文,用相反的密钥可以把密文解密成可读的明文。


有一天,(Susan) 写了一封信,”Hey Bob, how about lunch at Taco Bell. I hear they have free refills!”,然后通过(Bob的公钥)进行加密,变成“HNFmsEm6Un BejhhyCGKOK JUxhiygSBCEiC 0QYIh/Hn3xgiK BcyLK1UcYiY lxx2lCFHDC/A”,她可以放心的把信交给其他人,帮忙把信送给Bob。 (Bob)看到信之后,用 (Bob的私钥),解密这封信,就能看到Susan写的原话了。其他送信的人是完全看不懂的。

 (Bob)打算给Susan回信,他并不害怕别人知道他说什么,所以他不需要对全文加密,但是他害怕有人偷偷修改他的内容,所以他首先给全文生成一个摘要信息。   。然后对摘要进行加密,经过 (Bob的私钥)的加密,就变成了一个独一无二的数字签名。数字签名被附加到信件的结尾,一起发给 (Susan) 。(Susan)用 (Bob的公钥)解密数字签名,得到当时的信件摘要。然后自己再计算一次信息摘要,如果相同,那么证明信件没有被别人修改过。


送信的(Doug)有一次偷偷的使用(Susan)的电脑,用自己的 (Doug的公钥)替换了 (Bob的公钥),没有人去刻意记忆公钥,所以Susan当时没有发现,她给Bob写信的时候使用了她认为是Bob的公钥(实际上是Doug的公钥)对信件进行加密.现在(Doug)既可以读到Susan的信,也可以冒充 (Bob)制作数字签名,真正Bob的数字签名却被认为是错的。


后来, (Bob)发现了问题,他找到”证书中心”(certificate authority,简称CA),CA用 (CA的私钥),把Bob的 (Bob的公钥)加密一次,这个就是数字证书。带数字证书和Bob的数字签名的信件发给(Susan)后,Susan先用 (CA的公钥)对数字证书解密,拿到一个一定真实的Bob公钥,进而证明的数字签名是否是真的,进而证明信件有没有被改动过。


英文原文:http://www.youdzone.com/signature.html

数字签名的原理、主要技术和应用 数字签名基于公钥密码学的原理,使用了非对称密钥加密算法。它使用了两个密钥:私钥(私有密钥)和公钥(公共密钥)。私钥只有文档的签名者拥有,并且必须保密保存。公钥可以被任何人访问。数字签名通过使用公钥密码学和哈希函数的组合,实现了对数字文档的完整性、真实性和身份的验证。它在身份验证、电子合同、软件分发、电子邮件安全和数据完整性等方面具有广泛的应用。数字签名是一种加密技术,用于验证数字文档的完整性、真实性和身份。它使用了公钥密码学的原理和技术,以及哈希函数来实现。 阅读详情

相关推荐

数字签名原理简述

本文结合下面两个问题来讲解数字签名的基本原理。结合图片希望能给大家一个清晰简单明了的分析和讲解。 1. 问题描述: (1)用户A向远方的用户B发送一个消息,用户B如何确认所收到的消息在传输的过程中没被篡改过? (2)用户B收到了消息之后,如何防止A随之否认这个消息是他发送的呢? ---------阅读本文的知识储备:了解非对称加密的基本原理。-------- 2. 使用方法:数字签名 类比于现实生活,我可以在一个支票上面签名,表示这张支票确实是我本人签署的。收到这张支票的人到银行去兑现的时候,工

smilejiasmile的博客 3376

cryptool1使用教程

对称加密算法 : 凯撒密码: ECB/CBC: AES:  非对称加密算法 : RSA: Hash:  迪菲赫尔曼: 混合加密:  数字签名:       ...

请叫我小纯洁 1万+

七、永磁同步电机矢量控制(FOC)—MTPA控制及Simulink仿真

前面几节的内容已经完成Id=0控制策略的理论和仿真以及双闭环PI参数整定。在接下来几节中,将陆续讲解MTPA、弱磁控制等内容。

weixin_45182459的博客 8190

使用crypoto++进行加密解密签名和认证心得

网上关于crypto++的加密解密以及签名验证资料说的都比较详细。接下来就说说我的一些使用心得。 首先是下载版本问题。一定要注意你下载crypto++版本和你的vs适用。如果你的vs版本出来的年限比crypto++出来的年限都晚,很可能在编译中出现问题。 打开crypto++里的test.sln,源代码是在vs2008的环境下编的。我放到vs2013中,在Win32和x64中都可以编译。路面的

Scarlett_OHara的博客 1722

lenovo联想拯救者Legion Y9000P 2022款2023款2024款笔记本电脑(82RF,82WK,82WQ,83DE,83DF)原装出厂Windows11预装OEM系统镜像下载

联想原装出厂系统自带所有驱动、出厂主题壁纸、系统属性联机支持标志、系统属性专属LOGO标志、Office办公软件、联想电脑管家、联想浏览器、联想软件商店、legionzone控制中心等预装程序。链接:https://pan.baidu.com/s/1YBji_oh7xOkq-NxnS8Mm8g?链接:https://pan.baidu.com/s/1S7_enXmuoja1a9ASvUT5Fg?拯救者Legion Y9000P IRX9H 2024款【83DE】原厂Win11系统包。

QQ17855069的博客 6510

STM32CubeMx+stm32f407+FreeRTOS+LAN8720实现LWIP以太网UDP TCP数据收发功能

单片机实现LWIP的调试

qq_40600203的博客 3068

信息安全实验(物联网)RSA现代非对称加密算法

实验5:RSA现代非对称加密算法 【实验步骤及描述】 题目要求: 根据给定的RSA的公钥(N,e)=(33,3)和对应的私钥 d = 7 加密消息M = 19,并对消息M = 25实施数字签名计算 1.打开cryptool2软件 2.选择Templates 中的RSA Encryption 打开的界面如下 可以针对Source调整模式,选择Enter keys manually,并输入相应的信息 进行加密 按照道理没有出现操作的问题,但是软件仍然报错为 查阅网上相关资料了解到,可能是输入的明文M太大

weixin_44726459的博客 2927

4.3 Langfuse 集成实战:追踪 OpenAI、LangChain 和 LangGraph 应用

本文介绍了如何将Langfuse集成到不同类型的AI应用中,包括原生OpenAI、LangChain和LangGraph应用。主要内容包括: 两种集成模式:手动追踪(精确控制)和自动追踪(通过回调机制) 三种应用场景的集成方案: 原生OpenAI应用:使用langfuse.trace()手动记录对话流程、LLM调用和工具执行 LangChain应用:通过LangfuseCallbackHandler自动追踪Agent执行过程 LangGraph应用:与LangChain相同的自动追踪方式,可可视化节点和状态

yonggeit的博客 3302

使用Crypto实现RSA算法的数字签名和检验

总的来说,需要用到的对象有三个: Crypto.PublicKey.RSA:用来生成RSA算法的密钥对象 Crypto.Hash.SHA384:用来获取信息的摘要对象 Crypto.Signature.pkcs1_15:用来实现数字签名和检验对象 前提条件 创建RSA对象,生成密钥key = RSA.generate(1024),参数表示RSA模块的长度,至少为1024,必须是...

CodingMKing 3833

IPGUARD客户端与应用程序冲突

客户端与应用程序冲突 症状 安装客户端之后,客户端的某些程序无法运行或使用过程中出现异常,卸载客户端后恢复正常。 原因分析 可能是客户端的某些功能与应用程序发生冲突导致。 解决方法 当出现这样的情况时,可以按照以下步骤确认。 步骤1:屏蔽主动注入 在客户端配置策略中,增加配置策略hookapi_disinj,值为1;待策略同步到客户端后,重启客户端确认问题是否解决。如果解决,则转到...

IP-Guard专栏 1410

Camunda 7.x 系列【62】启动流程实例源码解析

为了更好的了解Camunda,接下来我们简单分析下启动流程实例相关源码

记录知识、锤炼自我 1171

数字签名的工作原理

数字签名的工作原理 数字签名是公钥基础结构的基础部分。当我们说PKI时,一般想到的是数字证书,证书颁发机构(CA),银行使用的Key,以及SSL通信等等。 数字证书,一般都是成对存在的,包含证书的公钥,和证书对应的私钥,公钥本身有一定的身份标识功能(如ssl证书中的域名信息,邮件客户端证书的邮箱地址等),对于数字证书的应用比较广泛,但其基本原理简单来说就是公钥用来加密,私钥用来解密。私钥用来签名,公钥用来验证签名。 那么,在我们了解数字签名的技术原理之前,我们先要明白一个和数字签名密切相关的算法:Ha

lavin1614 1037

华为FusionCompute之计算虚拟化

华为FusionCompute之虚拟化

jks212454的博客 2452

数字签名-原理

数字签名1. 从消息认证到数字签名1.1. 消息认证码的局限性1.2. 通过数字签名解决问题2. 签名的生成和验证3. 数字签名的方法3.1 签名步骤3.2 过程图解4. 数字签名无法解决的问题 “数字签名 — 消息到底是谁写的” 数字签名是一种将相当于现实世界中的盖章、签字的功能在计算机世界中进行实现的技术。使用数字签名可以识别篡改和伪装,还可以防止否认。 1. 从消息认证到数字签名 1.1....

学无止境 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

数字签名原理剖析

本系列通过通俗易懂的讲解,让您就像读小说一般,轻轻松松就能理解数字签名的基本原理和应用方法(即使您是一个并不精通计算机的企业老总,也能读懂本篇文章)。然后我们再逐步深入技术细节,最后将给出一个在B/S信息系统中使用数字签名的DEMO。 由于数字签名基于非对称加密技术,所以我们需要先啰嗦一下对称加密和非对称加密技术。 对称加密 何谓加密?加密是一种“把数据搞乱掉”的技术。加密技术涉

morningsun1990的专栏 731

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

数字签名原理及其应用详解

序言签名的作用无非就是证明某个文件上的内容确实是我写的/我认同的,别人不能冒充我的签名(不可伪造),我也不能否认上面的签名是我的(不可抵赖)。我们知道,手写签名之所以不能伪造,是因为每一个人的笔迹都是独一无二的,即使模仿,也可以通过专家鉴定分别出来。而不可抵赖,是因为每个人的笔迹都有固定特征,这些特征是很难摆脱的。正是这两点特性使得手写签名在日常生活中被广泛承认,比如签合同、借条等等。而数字签名,...

细嗅蔷薇 3万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

数字签名原理

9.5.3  数字签名原理     数字签名是一种确保数据完整性和原始性的方法。数字签名可以提供有力的证据,表明自从数据被签名以来数据尚未发生更改,并且它可以确认对数据签名的人或实体的身份。数字签名实现了“完整性”和“认可性”这两项重要的安全功能,而这是实施安全电子商务的基本要求。     当数据以明文或未加密形式分发时,通常使用数字签名。在这种情况下,由于消息本身的敏感性无法保证加密,因此...

weixin_34125592的博客 414

数字签名的原理和应用

1.数字签名的原理 在日常生活中,签名的意义就是签完你的名后,别人可以知道这件事是你做的,而由于每个人笔迹不同,你也无法否认这个名字是你签的。同真实的签名一样,数字签名也是用来证明某条信息是本人发的,而且本人无法否认,他人无法伪造。 通常是用非对称加密(RSA)实现数字签名,分为以下几个步骤: 1.计算消息的摘要M 2.发送方用自己的私钥d对M进行加密,得到S(这里叫作签名,因为M不是一个需要加密的信息,加密的目的是签名),随消息一起发出 3.消息发送之后,接收方对消息计算摘要M,再用发送方的公钥对S解密d

qq_44109982的博客 5818

深入理解[数字签名]原理与技术

在腾讯工作已经第三周了,由于是支付业务,不免会涉及到加解密、数字签名之类的安全手段,花了一天时间,学习了下数字签名,整理发出。 1.数字签名概述 在讨论数字签名之前,我们先来说说签名。签名,即自己写自己的名字,尤其为表示同意、认可、承担责任或义务。在实际生活中,一些方式(如字迹,指纹等)一直被用作签名者身份的证明。这是因为:签名是可信的;不可伪造的;不可重用的;不可抵赖的。签名即代表...

weixin_30402343的博客 1158

数字签名工作原理

数字签名是指发送方用自己的私钥对数字指纹进行加密后所得的数据,其中包括非对称密钥加密和数字签名两个过程,在可以给数据加密的同时,也可用于接收方验证发送方身份的合法性。采用数字签名时,接收方需要使用发送方的公钥才能解开数字签名得到数字指纹。 数字指纹又称为信息摘要,是指发送方通过HASH算法对明文信息计算后得出的数据。采用数字指纹时,发送方会将本端对明文进哈希运算后生成的数字指纹(还要...

xuguokun1986的博客 1792
上一篇: 比较透彻的epoll的讲解
下一篇: RFC2326 - Real Time Streaming Protocol (RTSP) 完整中英文对照版
horst_hu
博客等级 码龄15年 38粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值