博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数字签名基本原理
阅读量:7076 次
发布时间:2019-06-28

本文共 433 字,大约阅读时间需要 1 分钟。

hot3.png

数字签名基本原理

用户U1写了个邮件给用户U2,准备给它签个名。签名过程如下:

首先生成个私钥m,由某算法(我们称为算法A)根据私钥生成公钥n。注意,如果算法A的输入是n,其输出不会是m。即由公钥n无法得出私钥m。

用户U1把私钥m藏在自己电脑里,不让别人知道;而将公钥存放在一个全世界都认可的“银行”里,所有人都可以得到这个公钥。

用户U1用私钥m对邮件内容进行转换,得到了若干字符,这些字符就是用户U1这封邮件的签名。这些字符和原始邮件内容都会发给用户U2。

用户U2拿到邮件后,从中拿出签名,然后从那家全世界都认可的“银行”里找到用户U1的公钥,然后用它来转换签名,如果转换的结果和邮件内容是一模一样的,则可以确定是用户U1发过来的邮件。如果不一致,那就是伪造的邮件。

如果文本太大,可以对文本的散列值进行签名。

资料

!!!!

《改变未来的九大算法》 第九章

转载于:https://my.oschina.net/letiantian/blog/524971

你可能感兴趣的文章
centos7 内存硬件信息检测
查看>>
SQL Server vs Oracle 简单语法比较
查看>>
javascript 生成一个指定大小的居中div层
查看>>
Jedis cluster集群初始化源码剖析
查看>>
Linux iostat命令详解
查看>>
线程同步辅助类——CountDownLatch
查看>>
Java中的并发工具
查看>>
NetScaler的部署实验之七NetScaler Gateway的配置以及StoreFront集成NetScaler Gateway的配置更改...
查看>>
SVN服务器迁移实战
查看>>
VMware Linux 5.5 tools 的安装
查看>>
后台——使用maven时出现Failure to transfer 错误的解决方法
查看>>
[毕业生的商业软件开发之路]C#可访问级别
查看>>
mysql 查询当天、本周,本月,上一个月的数据
查看>>
linux 下 NFS服务器配置
查看>>
混合的方式开启服务
查看>>
C库数学函数
查看>>
vlan划分及vlan间通信
查看>>
软件管理
查看>>
Java学习之神奇的i=i++
查看>>
maven学习:java编译插件与去除测试插件
查看>>