一、公钥加密假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用 数字2,就是我的私钥,来解密。这样我就可以保护数据了。我的好朋友x用我的公钥1加密了字符a,加密后成了b,放在网上。别人偷到了这个文件,但
首先要了解什么叫对称加密和非对称加密,消息摘要这些知识。1. 非对称加密在通信双方,如果使用非对称加密,一般遵从这样的原则:公钥加密,私钥解密。同时,一般一个密钥加密,另一个密钥就可以解密。因为公钥是公开的,如果用来解密,那么就很容易被不必要的人解密消息。因此,私钥也可以认为是个人身份的证明。如果通信双方需要互发消息,那么应该建立两套非对称加密的机制(即两对公私钥密钥对),发消息的一方使用对方的公
文章标题数字签名数字证书数字证书的应用场景 数字签名数字签名是拿来对数据做认证的,帮助接收者确认数据是否真实有效。就像你在合同上签名,合同生效后,内容就不能再改动了。两者作用是一样的,区别在于认证的原理和方式。数字签名的实现原理是哈希算法和非对称加密算法。哈希算法特点:给定哈希函数,无论数据多少,计算出的哈希值长度都是一样的。根据数据可以计算出哈希值,但是根据哈希值不能反推出数据。一个好的哈希算
Wiki - RSA加密演算法Wiki - 欧拉函数Wiki - 模反元素ASN.1 格式标准RSA算法原理(二)注意:RSA 加密或签名后的结果是不可读的二进制,使用时经常会转为 BASE64 码再传输。 RSA 加密时,对要加密数据的大小有限制,最大不大于密钥长度。例如在使用 1024 bit 的密钥时(genrsa -out rsa_private_key.pem 1024),最大可以加密
基本需求机密性:通信内容不会被别人解密 报文完整性:内容没有被篡改, 端点鉴别:验证是否有人冒充(双方能够证实另一方身份,以及确信通信的另一方确实具有声称的身份)一般原理明文 + 密钥 + 加密算法 --> 密文 密文 + 密钥 + 解密算法 --> 明文三种基于数学原理工具对称密钥系统:发送方和接收方各自拥有一把密钥(密钥可以相同也可以不同),可以用来加密和解密数据,密钥采用“线下交
首先要了解什么叫对称加密和非对称加密,消息摘要这些知识。1. 非对称加密在通信双方,如果使用非对称加密,一般遵从这样的原则:公钥加密,私钥解密。同时,一般一个密钥加密,另一个密钥就可以解密。因为公钥是公开的,如果用来解密,那么就很容易被不必要的人解密消息。因此,私钥也可以认为是个人身份的证明。如果通信双方需要互发消息,那么应该建立两套非对称加密的机制(即两对公私钥密钥对),发消息的一方使用对方的
公钥 私钥 签名 验签 说的啥?公钥加密,私钥解密 私钥签名,公钥验签散列算法散列算法,也叫做哈希函数,是从一个任何一种数据中创建小的数字方法,散列函数把消息或者数据压缩成摘要,有时候也叫做摘要算法。 把数据量变小,将数据的格式固定下来。常用的算法有:MD5 SHA1MD5MD5 不是一种加密算法,是一种摘要算法,无论多长的输入, MD5 都会输出长度为 128bits 的一个串。public s
  签名算法是使用私钥签名,公钥验证的方法,对一个消息的真伪进行确认。如果一个人持有私钥,他就可以使用私钥对任意的消息进行签名,即通过私钥sk对消息message进行签名,得到signature:signature = sign(message, sk);        签名的目的是为了证明,该消息
RSA: 1、生成随机秘钥对 2、用公钥加密私钥解密  客户端:RSA用公钥加密之后,需要对加密后的数据在进行Base64加密, 以便在HTTP协议之间传输(兼容各语言的差异性)。 服务端:以JAVA端为列,接受到数据流(InputStream)之后,将流转化为字符串,先用Base64解密,将解密后的结果,在用RSA的私钥解密。 P
转载 2023-06-25 22:24:33
150阅读
数字签名签名:一般是指用自己的私钥对数据进行加密,只能用公钥解密,任何人都可以用公钥解密。因为私钥只有你自己有,所以保证了该数据肯定是从你这发送出去的,不可能是别人发的。验证过程A 使用自己的私钥对信息计算一个签名,将签名和信息一起发出去,接受者 B 使用 A 的公钥进行验签,如果不是 A 的私钥计算的签名,那么验签时就会出错。这样就能确定该消息是否是 A 发出来的。一般而言,我们不会直接对数据本
文章目录对称加密与非对称加密对称加密非对称加密HTTPS加密证书预置和申请TLS握手 首先需要理解对称加密与非对称加密。对称加密与非对称加密对称加密对称加密又叫做私钥加密,即信息的发送方和接收方使用同一个密钥去加密和解密数据。对称加密的特点是算法公开、加密和解密速度快,适合于对大数据量进行加密,常见的对称加密算法有DES、3DES、TDEA、Blowfish、RC5和IDEA。其加密过程如下:明
先明确一下概念: 公钥加密私钥解密,   没问题,也可以说是 "公共密钥加密系统 " 私钥加密公钥解密,一般不这么说,应叫 "私钥签名,公钥验证 ",也可以说是“公共密钥签名系统” 再来说一下 "公共密钥签名系统 "目的:(如果晕就多看几遍,这个没搞清,后面的代码就更晕) A欲传(信息)给B,但又怕B不确信该信息是A发的。 1.A选计算(
转载 2023-09-04 21:06:38
91阅读
# 私钥签名Java实现 ## 概述 在本文中,我将教会你如何使用Java实现私钥签名私钥签名是一种常见的加密技术,用于验证数据的完整性和真实性。它通过使用私钥对数据进行签名,然后使用相应的公钥验证签名是否有效。 ## 流程概述 下面是私钥签名的整个流程: | 步骤 | 描述 | | --- | --- | | 1 | 生成密钥对 | | 2 | 使用私钥对数据进行签名 | | 3 |
原创 8月前
51阅读
# Java 私钥签名实现流程 作为一名经验丰富的开发者,我很乐意教会你如何实现 Java 私钥签名私钥签名是一种常用的加密技术,用于确保数据的完整性和身份验证。在本文中,我将为你提供一种实现私钥签名的方法,并详细介绍每个步骤需要做什么以及相应的代码示例。 ## 实现步骤 下面是实现 Java 私钥签名的基本步骤。你可以按照这些步骤进行操作。 | 步骤 | 描述 | | --- | --
原创 2023-07-19 08:22:11
257阅读
 昨天在公司的代码中,看见一个VC项目的Post Build Step会用signtool给项目生成的exe添加数字签名,而exe的某块代码会调用WinVerifyTrust这个Windows API来验证exe自己的数字签名。正好这几天稍微闲暇一些,在好奇心的驱使下便开始捣鼓起数字签名来。经过一天终于有点收获,大致理解数字签名是怎么一回事,也对公司代码的那两块地方比较理解了,于是做个小结。  首
一、公钥加密假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用 数字2,就是我的私钥,来解密。这样我就可以保护数据了。我的好朋友x用我的公钥1加密了字符a,加密后成了b,放在网上。别人偷到了这个文件,
一、 签名 signature,表示指定的人,而不是别人,同意支票、信用卡收据、信件这类文件上描述的事情。那么,在制造计算机网络数字签名的时候,需要把一个独一无二的东西放到报文中。这样由于别人没有这个东西,只有自己有,所以可以表示真实身份。我们可以很容易地想到私钥。于是,可以使用私钥对明文加密,表示这份密文是由拥有私钥的一方发出来的,而且只能是拥有私钥一方发出来的。仿照现实世界,我们会对整个报文进
一:公私钥公钥(Public Key)与私钥(Private Key)是通过一种算法得到的一个密钥对(即一个 公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。二:数字签名发送者:将报文通过 hash 算法生成摘要,用私
数字签名又称电子签名,防伪造、不可否认性 非对称密码技术,公钥和私钥是成对出现的。公钥以数字证书形式存在,可公开,私钥必须保密。  签名过程: 数据计算摘要值 ----> 私钥对摘要值签名(加密)----> 数据和签名值一起发送验签过程: 数据计算摘要值 ----> 公钥对签名信息验签(解密)----> 对比验签值和摘要值是否一致 数字签名(digita
1.RAS简介RSA加密是非对称加密,由一对秘钥进行完成加密解密,分别称为公钥和私钥,公钥加密,私钥解密,RSA可以完成加密和签名;2.加密与签名的区别加密是为了防止信息被泄露,签名是为了防止信息被篡改;3.RSA加密过程假如B要发消息给A,首先A在本地生产一对秘钥,公钥和私钥,并将公钥发送给B,B使用公钥对消息进行加密,然后传输给A,A接收到消息后在本地使用私钥解密;缺点:这种加密过程保证了消息
原创 2021-06-28 10:00:07
158阅读
  • 1
  • 2
  • 3
  • 4
  • 5