加密和签名的区别
来源:互联网 发布:java json解析jar包 编辑:程序博客网 时间:2024/06/04 18:38
最近在研究RSA,对其中的签名和加密的概念不是很理解,从网上搜了搜,在这里总结一下。
举个例子,就拿A给B发送经过签名加密信息来说:
1、A对信息签名的作用是确认这个信息是A发出的,不是别人发出的;
2、加密是对内容进行机密性保护,主要是保证信息内容不会被其他人获取,只有B可以获取。也就是保证整个过程的端到端的唯一确定性,这个信息是A发出的(不是别人),且是发给B的,只有B才被获得具体内容(别人就算截获信息也不能获得具体内容)。
这只是大概说了作用,具体说来,涉及到密钥相关的东西。密钥有公钥和私钥之分。
那么这里一共有两组四个密钥:
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、B用自己的私钥(PRI_B)解密A用B的公钥(PUB_B)加密的内容;
2、得到解密后的明文后用A的公钥(PUB_A)解签A用A自己的私钥(PRI_A)的签名。
从而整个过程就保证了开始说的端到端的唯一确认。
A的签名只有A的公钥才能解签,这样B就能确认这个信息是A发来的。
A的加密只有B的私钥才能解密,这样A就能确认这份信息只能被B读取。
这个过程可以这么个故事来概括:
B的银行卡落到A的家里了,A要给B邮寄银行卡,提前和B说了我要给你寄银行卡(B拿到A的公钥),
A在寄银行卡的时候要求快递员在B收到东西时说出是谁寄的(A用自己的私钥进行签名),只有说对了才给B(B用A的公钥验证签名)。
这张银行卡对于快递员来说是加密的(快递员既不知道银行卡是谁的,也不知道银行卡密码),但是对于A来说,A知道银行卡是谁的(相当于B的公钥),而对于B来说,B有银行卡的密码(B的私钥)。
举个例子,就拿A给B发送经过签名加密信息来说:
1、A对信息签名的作用是确认这个信息是A发出的,不是别人发出的;
2、加密是对内容进行机密性保护,主要是保证信息内容不会被其他人获取,只有B可以获取。也就是保证整个过程的端到端的唯一确定性,这个信息是A发出的(不是别人),且是发给B的,只有B才被获得具体内容(别人就算截获信息也不能获得具体内容)。
这只是大概说了作用,具体说来,涉及到密钥相关的东西。密钥有公钥和私钥之分。
那么这里一共有两组四个密钥:
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、B用自己的私钥(PRI_B)解密A用B的公钥(PUB_B)加密的内容;
2、得到解密后的明文后用A的公钥(PUB_A)解签A用A自己的私钥(PRI_A)的签名。
从而整个过程就保证了开始说的端到端的唯一确认。
A的签名只有A的公钥才能解签,这样B就能确认这个信息是A发来的。
A的加密只有B的私钥才能解密,这样A就能确认这份信息只能被B读取。
这个过程可以这么个故事来概括:
B的银行卡落到A的家里了,A要给B邮寄银行卡,提前和B说了我要给你寄银行卡(B拿到A的公钥),
A在寄银行卡的时候要求快递员在B收到东西时说出是谁寄的(A用自己的私钥进行签名),只有说对了才给B(B用A的公钥验证签名)。
这张银行卡对于快递员来说是加密的(快递员既不知道银行卡是谁的,也不知道银行卡密码),但是对于A来说,A知道银行卡是谁的(相当于B的公钥),而对于B来说,B有银行卡的密码(B的私钥)。
阅读全文
1 0
- 签名和加密的区别
- 加密和签名的区别?
- 加密和签名的区别?
- 加密和签名的区别
- 秘传(加密)和签名的区别
- rsa 签名和加密 区别
- 数据加密和数据签名的本质区别 解释
- Android 关于RSA 加密和签名的区别
- 签名密钥和加密密钥区别?
- 签名密钥和加密密钥区别
- 加密和签名的的作用
- java加密解密和签名的问题
- 加密和签名证书
- GPG加密和签名
- 加密和签名方案
- 签名和加密
- 加密 签名 签密 区别
- apk的签名加密
- 零基础学图形学(10) 几何知识——矩阵操作
- 7-11 哈利·波特的考试(25 分)
- Mybatis中的resultType和resultMap
- 文件上传下载
- Quartz2 动态使用
- 加密和签名的区别
- Android下的配置管理之道之repo的使用
- 华展云-让展览更高效 2017年第35届中国国际体育用品博览会会刊(参展商名录)
- 【跨平台编程工具】XERO CODER 4.2.8.0 For x86 Cracked By PiaoYun/P.Y.G 优雅破解
- Docker----制作一个带有JDK和tomcat的docker镜像
- linux编译安装ffmpeg
- Tomcat开启超时报错
- 【游戏框架】Unity应用设计模式架构赛车游戏
- 小程序思维导图,让小程序不再难懂(二)