非对称加密密钥的产生

RSA算法是最早得到广泛使用的非对称加密算法,RSA算法基于分解大素数之乘积的困难性。较新的非对称加密算法是ECC,ECC基于离散对数难题。它能够以较少的计算资源消耗达到与RSA相当的安全性。目前,大多的数字证书仍然基于RSA算法。如果数学上发现了一种快速计算素数乘积或者离散对数的方法,就意味着相应的非对称加密算法被彻底破解。在这样一个数学天才出现之前,我们还能够无忧地使用这些算法。

对称加密算法本身对密钥的值没有约束,虽然我们会有意避开一些太有规律的密钥值。与对称密钥不同,非对称加密算法不能使用任意比特串作为密钥。非对称加密所用的密钥是符合算法原理要求的特别大数。例如,RSA算法的密钥来自于两个大的素数。非对称私钥没有密钥交换和分配,非对称私钥只应在预期的私钥持有者安全可控的环境里产生。由于无需与任何其他人共享,非对称私钥比较容易管控。如此,我们能建立一个安全的非对称加密系统,在这个系统中,只有私钥的所有者,能够对预期的内容进行解密和签署操作。

实现非对称加密功能的软件或者硬件模块一般都具备私钥的产生及保护能力。在具备USBkey、智能卡等加密安全硬件的情况下,私钥的产生和保护会在这些硬件内部。私钥与安全硬件绑定时,用户容易理解和落实对存有私钥的这些实物安全凭证的管理要求。在不具备外置安全硬件时,加密软件包利用本地计算平台的资源,产生密钥对和保护私钥。这种文件形式存储私钥,会受到计算机上的恶意代码的威胁,其安全对用户的要求相对较高。

时间: 2024-12-29 09:39:32

非对称加密密钥的产生的相关文章

第十二章 非对称加密算法-RSA

注意:本节内容主要参考自<Java加密与解密的艺术(第2版)>第8章“高等加密算法--非对称加密算法” 12.1.RSA(最经典的非对称加密算法) 特点: 使用一套密钥即可完成加解密(与DH不同) 与DH不同的第二点是,RSA自己可以完成加解密,而DH需要依赖于对称加密算法 “私钥加密,公钥解密”或“公钥加密,私钥解密” 公钥长度远小于私钥长度(对下边的代码进行测试,自己比较结果) 加解密流程: 1)发送方(假设为甲方)构建密钥对,自己保留私钥,将公钥发送给接收方(假设为乙方) 2)甲方使用密

对对称加密算法、非对称加密算法、数字签名的一些理解的简述

不太严谨的概括性描述 对称加密算法加密解密都是同一个密钥,所以需要让接受密文方事先知道密钥,而事先知道的方式一般通过网络或者预先存储在物理机器上,网络通信容易被获取,所以不安全. 非对称加密算法会生成公钥和私钥,如果用私密对一个明文进行加密,目的是为了证明给"拿了它的公钥对密文解密的人"知道,这段信息是发布这个公钥的人发的:而如果用公钥对一个明文进行加密,目的是为了证明给"这个公钥对应的私钥的所有者"知道,这段信息是要发给他的. 以上两种方法都无法无视直接地从物理上

三、加密算法与openssl的使用

3.1.加密算法的分类 加密是以某种特殊的算法改变原有的信息数据使得未授权的用户即使获得了已加密的信息但因不知解密的方法仍然无法了解信息的内容.在互联网上对数据的加密主要是保证三个方面内容数据的保密性.完整性以及对方的身份验证. 加密类型分为两种对称加密与非对称加密. 对称加密双方采用共同密常见算法有DES.3DES.AES等 特性加密.解密使用同一个密钥将原始数据分割成固定大小的块逐个进行加密. 缺陷密钥过多密钥分发. 非对称加密密钥是成对儿出现常见算法有RSA, DSA, ELGama等 公

面经 收藏的 这可能不只是一篇面经

作者:_XiaoTeng_链接:https://www.nowcoder.com/discuss/29890来源:牛客网 写了个显眼的标题,就真得说几句有用的话. 5月份一个很偶然的机会,加了叶神的微信,还收到了祝福.一激动就承诺说写篇最详细的面经分享给大家,毕竟用了这么久的牛客网,收获真的很大. 校招真的是段劳心伤神的经历,我把这一路的体会,写在秋招前,也许能给那些和我一样迷茫过,怀疑过,失落过的人一些帮助. (这篇文章有点长,可能需要点耐心) 0. 写在之前 首先呢我的面试经历和一些面霸和收

java加密解密算法记录

package com.algorithm; import java.security.Key; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import java.security.Signature; im

Android之Rsa加密那些年我们踩过的坑

前言: 最近无意中和同事交流数据安全传输的问题,想起自己曾经使用过的Rsa非对称加密算法,闲下来总结一下. 什么是Rsa加密? RSA算法是最流行的公钥密码算法,使用长度可以变化的密钥.RSA是第一个既能用于数据加密也能用于数字签名的算法. RSA算法原理如下: 1.随机选择两个大质数p和q,p不等于q,计算N=pq: 2.选择一个大于1小于N的自然数e,e必须与(p-1)(q-1)互素. 3.用公式计算出d:d×e = 1 (mod (p-1)(q-1)) .4.销毁p和q. 最终得到的N和e

HTTPS证书生成原理和部署细节

今天摸索了下 HTTPS 的证书生成,以及它在 Nginx 上的部署.由于博客托管在 github 上,没办法部署证书,先记录下,后续有需要方便快捷操作.本文的阐述不一定完善,但是可以让一个初学者了解大致的原理,同时跟着操作可以为自己的博客/网站部署一个 HTTPS 证书. 网站部署 HTTPS 的重要性 看看下面,部分电信用户访问京东首页的时候,会看到右下角有一个浮动广告: 小白用户以为是京东有意放置的,细心的用户会发现,这个 iframe 一层嵌一层的恶心广告很明显是电信/中间人通过 DNS

使用RSA进行信息加密解密的WebService示例

使用RSA进行信息加密解密的WebService示例 按:以下文字涉及RSA对WebService传递的数据的加密解密,如果您已经熟知RSA或是有其它更好的方法请不要往下看以免浪费时间. WebService采用的协议是SOAP,它基于HTTP,而HTTP是明文方式,也就是说,采用WebService传递的数据是明文的.如果是天气预报这种公开的只读信息的WebService无所谓,如果涉及写入或是和私密数据相关,那么明文传递就有很大的潜在危险性,必须加以遏止. 一般来说有两种方法,一是采用htt

openssl https证书

今天摸索了下 HTTPS 的证书生成,以及它在 Nginx 上的部署.由于博客托管在 github 上,没办法部署证书,先记录下,后续有需要方便快捷操作.本文的阐述不一定完善,但是可以让一个初学者了解大致的原理,同时跟着操作可以为自己的博客/网站部署一个 HTTPS 证书. 网站部署 HTTPS 的重要性 看看下面,部分电信用户访问京东首页的时候,会看到右下角有一个浮动广告: 小白用户以为是京东有意放置的,细心的用户会发现,这个 iframe 一层嵌一层的恶心广告很明显是电信/中间人通过 DNS