美文网首页iOS应用程序安全
加密和签名的区别

加密和签名的区别

作者: 捡书 | 来源:发表于2017-11-08 11:16 被阅读13次

最近在研究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的私钥)。

相关文章

  • 加密和签名的区别

    最近在研究RSA,对其中的签名和加密的概念不是很理解,从网上搜了搜,在这里总结一下。 举个例子,就拿A给B发送经过...

  • 加密和签名的区别

    加密是对信息的加密,比如A给B发消息则会使用b的公钥加密,发送后只能使用B的私钥才能解密。 签名,是给信息加个身份...

  • 加密和签名

    基本知识 ASCII(American Standard Code for Information Interch...

  • iOS逆向-day9:签名机制

    概述:加密解密单向散列函数数字签名iOS签名机制 和 证书重签名 一、加密解密 1.1、常见的英文单词encryp...

  • RSA加密与签名的区别

    RSA加密:RSA密码体制是一种公钥密码体制,加密算法公开,以分配的密钥作为加密解密的关键。一般来说,在一对公私钥...

  • 对称加密算法、非对称加密算法和哈希算法

    对称加密和非对称加密介绍和区别

  • 数字签名

    签名:用私钥加密 验证:用公钥解密 加密:用公钥加密 解密:用私钥解密 数字签名签名的数据 数字签名主要使用来做数...

  • iOS逆向-RSA的使用-证书签名、代码签名(手动签名、脚本自动

    一:APP证书、APP 的签名与解密(低级签名) 3.1 公钥和私钥(公钥也是私钥加密过的)3.2 公钥加密,私钥...

  • 安全编程基础

    安全编程基础 目录 数据加密 数字签名 哈希算法 数字签名 PKI体系 加密通信 一.数据加密 分类:对称加密,非...

  • iOS安全--APP代码签名机制

    学习路线(内部分享内容) 加密解密(对称加密、非对称加密、混合加密) 单向散列函数 数字签名 证书 iOS签名机制...

网友评论

    本文标题:加密和签名的区别

    本文链接:https://www.haomeiwen.com/subject/bhyemxtx.html