首页 > 编程语言 >密码学基础之非对称加密算法

密码学基础之非对称加密算法

时间:2022-09-20 23:26:14浏览次数:78  
标签:公钥 加密 会话 密钥 私钥 非对称 密码学 加密算法

非对称加密算法

非对称加密的一般流程是服务端生成一个密钥对(私钥和公钥),然后将公钥发送给客户端。之后服务可以通过私钥加密数据发送给客户端,客户端收到消息后通过公钥解密。(私钥加密,公钥解密)典型的非对称加密算法有RSA(基于大数因子分解),DSA(基于离散对数),ECC椭圆曲线加密算法等。

DH密钥协商算法

在对称加密中通信双方通过相同的密钥进行加解密数据,这就涉及到密钥的协商。DH密钥协商算法是通过A方会产生一个密钥对,然后将公钥发送给B。B也产生一个密钥对,然后将公钥发送给A。然后A通过自己的私钥+B的公钥计算出一个会话密钥K,B通过自己的私钥和A的公钥也计算出一个会话密钥K。之后通信双发就可以通过这个会话密钥K进行通讯。因为这个会话密钥在通讯时产生,通讯后就失效,所以称为会话密钥,只保存在内存中,不需要存储。而且这个密钥是由通讯双方共同决定的。

非对称加密的密钥协商算法

基于非对称加密的密钥协商算法是通过服务端会产生一个密钥对,然后将公钥发送给客户端,客户端生成一个随机数充当会话密钥,然后客户端通过服务端发来的公钥对这个会话密钥进行加密后发送给服务端。服务端获取到加密数据后通过私钥解密获取到会话密钥。之后双方通过会话密钥进行数据传递。(https就是这么做的)

标签:公钥,加密,会话,密钥,私钥,非对称,密码学,加密算法
From: https://www.cnblogs.com/revercc/p/16714030.html

相关文章

  • 面试官:说说对称加密、非对称加密、混合加密?懵了。。
    来源:liuchenyang0515.blog.csdn.net/article/details/109263510对称加密两边用同一个密钥来加解密。A把明文通过某一算法加密之后得到密文,然后把密文发送给B,B接收到密文......
  • MD5 到底是不是加密算法?
    在回答这个问题之前,我们先分别来了解一下两个知识点:什么是MD5算法?什么是加密算法?一、MD5算法MD5即Message-DigestAlgorithm5(信息-摘要算法5),用于确保信息传输完......
  • 使用openssl实现RSA非对称加密
    生成公钥私钥使用命令生成私钥:1opensslgenrsa-outrsa_private_key.pem1024参数:genrsa生成密钥 -out输出到文件 rsa_private_key.pem......
  • 常见加密算法介绍
    常见的加密算法可以分成三类,对称加密算法,非对称加密算法和Hash算法。1.对称加密指加密和解密使用相同密钥的加密算法,这种加密方法称为对称加密,也称为单密钥加密。优点:速度......
  • 加密-国密-非对称-SM2
    国家密码管理局于2010年12月17日发布了SM2算法,并要求现有的基于RSA算法的电子认证系统、密钥管理系统、应用系统进升级改造,使用支持国密SM2算法的证书。我国现阶段使用的......
  • 使用js实现5种加密解密算法(凯撒密码、字母倒排序、单表置换、维基利亚、转换加密算法
    在学习操作系统的时候,我们会学到系统安全的章节,而在这一块会有关于加密解密算法的学习。一共有5种常见的加密解密算法:凯撒密码、字母倒排序、单表置换、维基利亚、转换加......
  • BTC笔记-01-密码学原理
    BTC-密码学原理B站视频链接比特币中使用了密码学的两个功能:哈希和签名哈希crypto-currency加密货币cryptographichashfunction密码散列函数,其具有两个特性:具......
  • 加密算法学习之SM4
    pom引入:<!--SM国密加密--><dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk15on</artifactId><version>1.56</version></dependen......
  • 前端二次非对称RSA加密密文太长的问题
    文章不易,请关注公众号 毛毛虫的小小蜡笔,多多支持,谢谢。有任何问题都可以留言咨询。 问题两个平台项目中,各自的前后端的密码传输,都用了非对称RSA加密。 流程是这样......
  • 运维脚本----批量创建用户名及密码学习
    #批量创建大量用户#!/bin/bash#思路#useraddzhangsan#echo1234|passwd--stdinzhangsan#截取随机数的8个字符作为密码#echo$RANDOM|md5sum|cut-c1-8#echo{1..10......