首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TLS加密套件之密钥交换

,然后就可以计算出会话密钥了,于是之前截获加密数据会被破解DHE 算法既然固定一方私钥有被破解风险,那么干脆就让双方私钥每次密钥交换通信时,都是随机生成、临时,这个方式也就是 DHE 算法...ECDHE 算法是 DHE 算法基础利用了 ECC 椭圆曲线特性,可以用更少计算量计算出公钥,以及最终会话密钥。...因为加密套件第二个部分是针对证书要求,所以当服务器配置ECC证书时,加密套件只能选择ECDSA_XXX或者ECDH_XXX。...当服务器配置RSA证书时,只能选择RSA_XXX或者ECDHE_RSA_XXX形式加密套件。(这里解释下原因:如果RSA证书,那么密钥交换方式也是RSA,肯定可以。...按照协商好椭圆曲线去生成会话密钥,无需使用证书)如果加密套件选择ECDH_RSA或者ECDH_ECDSA时:由于ECDH加密套件默认表明了握手需要ECC证书(即ECC证书公钥充当握手中server

57251

一文读懂https中密钥交换协议原理及流程

一、引言 http与https区别:HTTP 由于是明文传输,所以安全性存在以下三个风险: 窃听风险,因为明文传输,可以直接抓包获取传输数据,就会导致信息泄漏。...第二次握手 1 Say Hello 当服务端收到客户端「Client Hello」消息后,会确认 TLS 版本号是否支持,和从密码套件列表中选择一个密码套件,以及生成随机数(Server Random...现在使用交互协议是ECDHE, 即ECC + DH+E (即基于椭圆曲线一次一密密钥交换协议, E:ephemeral) 图3.2.2 ECDHE会话网络包 第一次握手 客户端首先会发一个「Client...:Client Random、Server Random 、使用椭圆曲线椭圆曲线基点 G、服务端椭圆曲线公钥,这几个信息很重要,是后续生成会话密钥材料 第三次握手 1 Key Exchange...,验证下本次生成对称密钥是否可以正常使用。

4.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

假期期间最后折腾:重新整理优化 SSL 证书

所谓“双证书”其实就是 SSL 证书加密算法不同两个证书而已,Let's Encrypt 就支持同时申请同域名不同加密算法证书,也就是RSA 加密算法和ECC 加密算法(椭圆加密算法),俗称 ECC...ECC 加密算法(椭圆加密算法)小知识 椭圆加密算法(ECC)是一种公钥加密体制,最初由 Koblitz 和 Miller 两人于 1985 年提出,其数学基础是利用椭圆曲线有理点构成 Abel...加法群椭圆离散对数计算困难性。...公钥密码体制根据其所依据难题一般分为三类:大整数分解问题类、离散对数问题类、椭圆曲线类。有时也把椭圆曲线类归为离散对数类。...公钥密码系统加密算法 ECC 与 RSA 对比 第六届国际密码学会议对应用于公钥密码系统加密算法推荐了两种:基于大整数因子分解问题(IFP) RSA 算法和基于椭圆曲线上离散对数计算问题(

1.5K20

信息加密

只有拥有解密方法对象,经由解密过程,才能将密文还原为正常可读内容。 现代信息加密方式可以分为对称加密 和 非对称加密。 对称加密加密和解密时,使用相同密钥。...由于加密明文长度与密钥长度安全具有相关性,通俗地说就是多长密钥决定了它能加密多长明文: 如果明文太短,就需要进行填充,然后再进行加密; 如果明文太长,就需要进行分组,每个分组分别进行加密。...图片 --- 常见非对称加密算法有:RSA、ECC(Elliptic Curve Cryptography,椭圆曲线密码学)等。...RSA 密钥长度推荐使用 2048 位以上(256 字节) ECCECC 安全性基于 “椭圆曲线离散对数” 数学难题,使用特定曲线方程和基点生成公钥和私钥,ECC 子算法 ECDHE 用于密钥交换...非对称加密安全性较高,但是加密效率较低:非对称加密在在计算上相当复杂(非对称加密基于大数运算,比如大素数 或者 椭圆曲线,是复杂数学难题),非对称加解密性能远远不比对称加密

61820

解读国密非对称加密算法SM2

加密解密通信数据之前,客户端和服务器端协商出会话密钥,而会话密钥只有服务器端和特定客户端才能知晓。...ECC模型 ECC椭圆曲线由很多点组成,这些点由特定方程式组成,比如方程式可以是y^2 = x^3 + ax + b,这些点连接起来就是一条曲线,但曲线并不是一个椭圆。...理论上方程式和各种参数组合可以是任意,但是密码学中,为了安全,系统预先定义了一系列曲线,称为命名曲线(name curve),比如secp256k1就是一个命名曲线。...ECC本质就是一个数学公式,任何人基于公式都可以设计出椭圆曲线,但要注意ECC离散对数问题(Elliptic-Curve Discrete-Logarithm Problem,简称ECDLP),如果实现不当...我们可以看到,SM2并不是一个全新设计算法,而是借助现有的ECC理论,设计了一条命名曲线。这样,已经实现了ECC算法网络库增加SM2算法支持就非常简单,只需要将曲线参数添加即可。

4.3K20

TLSSSL 协议详解 (29) 国密SSL协议

出现访问不了情况,请清除360国密浏览器所有缓存,重启浏览器后再访问) 源码 https://github.com/mrpre/atls 可以获得 GM/T 没有单独规范 SSL协议文件,而是...2:加密算法 国密SSL定义了多个加密套件,见6.4.4.1.1 实际,若加密各个阶段(非对称、对称、摘要)都替换成国密标准,较主流是如下2个 1ECC_SM4_SM3 2:ECDHE_SM4...ECC 对应是标准RSA,切勿被ECC迷惑,这个ECC并不和标准椭圆曲线密钥交换算法类似,而是和RSA类似。...服务器发送ECC公钥(证书中)到客户端,客户端拿ECC公钥加密随机数给服务器(client key exchange)。...: 标准TLS server key exchange是椭圆曲线参数+对该报文签名,签名时hash是2个随机数加该报文本身。

2.8K20

三.CVE-2020-0601微软证书漏洞及Windows验证机制欺骗复现

ECC算法 要形象地理解椭圆曲线加密算法,可以结合图形来看,以下是一个符合椭圆曲线方程及图像。 ? ?...椭圆曲线加密算法数学依据 : 考虑K=kG,其中K、G为椭圆曲线Ep(a,b)点,n为G阶。k为小于n整数。...因为实际使用中ECC原则把私钥k取得相当大,n也相当大,且椭圆曲线不再连续而是实数内离散值,要把n个解点逐一算出几乎是不可能。 点G称为基点 k(k<n)为私有密钥 K为公开密钥 ?...基本步骤包括: ① 打招呼: 小明和电商互相介绍自己,小明和电商协商好以后步骤里将使用到特定密码算法。本漏洞中,该算法为ECC加密算法。...可以看到导出ECC密钥证书如下图所示,包括证书有效期等信息。这就是微软实现椭圆曲线加密ECC)算法数字证书,位于CryptoAPI.dll文件,也是被我们利用来伪造可信任来源签名漏洞。

3K51

Golang与非对称加密

ECC又称椭圆曲线加密 ECC(Elliptic Curve Cryptography)椭圆曲线加密算法,相比RSA,ECC可以使用更短密钥,来实现与RSA相当或更高安全 定义了椭圆曲线加法和二倍运算...椭圆曲线依赖数学难题是:k为正整数,p是椭圆曲线点(称为基点),k*p=Q,已知Q和P,很难计算出k ECC是建立基于椭圆曲线离散对数难度, 大概过程如下 给定椭圆曲线一个点P,一个整数...Bernstein2006年独立设计椭圆曲线加密/签名/密钥交换算法, 和现有的任何椭圆曲线算法都完全独立 特点是: 完全开放设计: 算法各参数选择直截了当,非常明确,没有任何可疑之处,相比之下目前广泛使用椭圆曲线是...,实用上也并不一定安全,有很大概率通过缓存、时间、恶意输入摧毁安全性,而25519系列椭圆曲线经过特别设计,尽可能将出错概率降到了最低,可以说是实践最安全加密算法。...ECC密钥尺寸和系统参数与RSA、DSA相比要小得多,意味着它所占存贮空间要小得多。这对于加密算法IC卡应用具有特别重要意义 带宽要求低。

1K40

老听别人说加密算法,现在给你个机会深入了解下

1881 年世界第一个电话保密专利出现。第二次世界大战期间,德国军方启用「恩尼格玛」密码机,密码学战争中起着非常重要作用。...身份验证:确保数据发自特定一方。 二、加密算法 根据密钥类型不同将现代密码技术分为两类:对称加密算法和非对称加密算法。...,是一种标准 DSS(数字签名标准); ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。...1985 年 N.Koblitz 和 Miller 提出将椭圆曲线用于密码算法,全称:Elliptic curve cryptography,缩写为 ECC,根据是有限域椭圆曲线点群中离散对数问题...如果重用百分比增加并绘制成图,我们便可以看到差距缩小。

53950

详解国密SSL ECC_SM4_SM3套件

这份文档并没有像RFC那样描述得很详细,实现可能会存在很多不清楚地方。很多时候,我们还要去翻看标准TLS 1.1RFC4346。...SSL通信中,最重要是通信握手,握手成功后,就可以通过加密通道进行通信,握手过程如下: ? SSL握手 1....加密算法 非对称加密、对称加密、摘要等算法都替换为国密标准。ECC_SM4_SM3套件中,非对称加密算法为SM2,对称加密算法为SM4,摘要算法为SM3。...Certificate Verify 证书验签流程和标准ECC证书验签流程也不同,请参考《GMT 0003.2-2012 SM2椭圆曲线公钥密码算法第2部分:数字签名算法》,在后面我会详细写一写SM2...密钥交换 实现时请参考RSA密钥交换,而不要参考椭圆曲线密钥交换算法ECDH或ECDHE,这点需要注意。具体过程为: 服务器发送SM2公钥(加密证书中)到客户端。

4.9K10

二十二.PE数字签名之(下)微软证书漏洞CVE-2020-0601复现及Windows验证机制分析

ECC算法 要形象地理解椭圆曲线加密算法,可以结合图形来看,以下是一个符合椭圆曲线方程及图像。...椭圆曲线加密算法数学依据 : 考虑K=kG,其中K、G为椭圆曲线Ep(a,b)点,n为G阶。k为小于n整数。...因为实际使用中ECC原则把私钥k取得相当大,n也相当大,且椭圆曲线不再连续而是实数内离散值,要把n个解点逐一算出几乎是不可能。...基本步骤包括: ① 打招呼: 小明和电商互相介绍自己,小明和电商协商好以后步骤里将使用到特定密码算法。本漏洞中,该算法为ECC加密算法。...可以看到导出ECC密钥证书如下图所示,包括证书有效期等信息。这就是微软实现椭圆曲线加密ECC)算法数字证书,位于CryptoAPI.dll文件,也是被我们利用来伪造可信任来源签名漏洞。

2K31

HTTPS网络安全与SSL证书相关术语合集

ECC ECDSA(椭圆曲线签名算法)常见叫法,和RSA同时具有签名和加密不同,它只能做签名,它优势是具有很好性能、大小和安全性更高。...ECDH/ECHDE 椭圆曲线Diffie-Hellman(elliptic curve Diffie-Hellman,ECDH)密钥交换原理与DH相似,但是它核心使用了不同数学基础,ECHD基于椭圆曲线加密...,ECDH密钥交换发生在一条由服务器定义椭圆曲线上,这条曲线代替了DH中域参数角色,理论,ECDH支持静态密钥交换。...3DES 加密套件中很多密码使用是3DES_EDE_CBC这种类型维基3DES提供bits数是192bits(168+24),但由于Meet-in-the-middle attack攻击影响...因此等级评定使用192bits,套件安全性使用112bits PSK PSK 是“Pre-Shared Key”缩写。就是 预先让通讯双方共享一些密钥(通常是对称加密密钥)。

1.3K50

详解国密SM2加密和解密

在上一篇文章《解读国密非对称加密算法SM2》介绍了国密非对称算法SM2,文章中说到,如果现有的网络库中已经实现ECC算法,只需加入SM2命名曲线参数即可。...但在实现ECC_SM4_SM3这个密码套件中,密钥交换过程中,存在客户端将Pre-Master Secret使用 SM2 公钥加密后传给服务器端步骤。所以我们需要实现 SM2 加密和解密。...如何使用 SM2 算法进行加密和解密,可以参考资料是《GMT 0003.4-2012 SM2椭圆曲线公钥密码算法第4部分:公钥加密算法》。...如果我们内部使用,当然可以根据它们各自长度(对于指定SM2曲线和SM3哈希算法,x1, y1, C3长度是固定)来拆分,但这样不够灵活,万一换了命名曲线或哈希算法呢?...ECC_SM4_SM3密码套件中,SM2用于密钥交换(客户端生成Pre-Master Secret,加密后传输给服务器端)。当然,如果在程序中直接使用SM2加密信用卡卡号之类小数据也是可以

5.3K40

让大象起舞第一弹---HTTPS计算性能

HTTPS计算原理及算法分析 一节提到四个主要计算环节,事实每个环节都需要用到指定算法。下面结合腾讯现在主要使用到证书签名和密码套件分别介绍一下。...什么是密码套件(cipher suite)?它其实是一套算法统称,包括密钥交换算法、消息认证码算法、内容加密算法和伪随机数算法。...,影响用户访问速度 RSA安全性建立大数因子分解很困难基础;Diffie-Hellman安全性建立离散对数求解比较困难基础;ECDHE是椭圆曲线有限域实现Diffie-Hellman...即使集合全世界性能最强劲CPU,也无法短时间内暴力破解出2048位及以上RSA密钥。 椭圆曲线实际是一个集合,并且定义了一套计算规则。使用较小数字就能实现RSA同样安全强度。...椭圆曲线操作时间统计如下: 曲线名 Op Op/s ecdh (nistp256) 0.0004s 2350.3 椭圆曲线操作曲线基点选取,耗时大概0.4毫秒。

96820

HTTPS 握手会影响性能吗?废话,肯定会

ECDHE 算法是基于椭圆曲线实现,不同椭圆曲线性能也不同,应该尽量选择 x25519 曲线,该曲线是目前最快椭圆曲线。...比如在 Nginx 可以使用 ssl_ecdh_curve 指令配置想使用椭圆曲线,把优先使用放在前面: 对于对称加密算法方面,如果对安全性不是特别高要求,可以选用 AES_128_GCM,...比如在 Nginx 可以使用 ssl_ciphers 指令配置想使用非对称加密算法和对称加密算法,也就是密钥套件,而且把性能最快最安全算法放在最前面: TLS 升级 当然,如果可以,直接把 TLS...怎么合并呢?具体做法是,客户端 Client Hello 消息里带上了支持椭圆曲线,以及这些椭圆曲线对应公钥。 服务端收到后,选定一个椭圆曲线等参数,然后返回消息时,带上服务端这边公钥。...所以,对于服务器证书应该选择椭圆曲线(ECDSA)证书,而不是 RSA 证书,因为相同安全强度下, ECC 密钥长度比 RSA 短多。

94320

国密算法「建议收藏」

SM2算法 SM2算法:SM2椭圆曲线公钥密码算法是我国自主设计公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能...算法描述:   1、用户A选定一条适合加密椭圆曲线Ep(a,b)(如:y2=x3+ax+b),并取椭圆曲线上一点,作为基点G。   ...SM2算法主要考虑素域Fp和F2m椭圆曲线,分别介绍了这两类域表示,运算,以及域椭圆曲线表示,运算和多倍点计算算法。...详细说明了有限域椭圆曲线参数生成以及验证,椭圆曲线参数包括有限域选取,椭圆曲线方程参数,椭圆曲线群基点选取等,并给出了选取标准以便于验证。...总则基础给出了数字签名算法(包括数字签名生成算法和验证算法),密钥交换协议以及公钥加密算法(包括加密算法和解密算法),并在每个部分给出了算法描述,算法流程和相关示例。

1.6K20

椭圆曲线密码学和以太坊中椭圆曲线数字签名算法应用

它基于有限域特定椭圆曲线进行操作,最重要操作是椭圆曲线点倍积,不夸张说,椭圆曲线点倍积正是椭圆曲线密码学基石。 为什么这么说呢?...加密椭圆曲线参数组 ECC使用场景包括数字签名,安全伪随机数生成等。应用中,所采用椭圆曲线必须用一组完整参数来加以定义,这组参数被称为域参数。...(参数k是标量),IsOnCurve()检查参数所代表是否椭圆曲线上; elliptic.CurveParams结构体实现了接口所有方法,另外用成员属性定义了一个具体椭圆曲线,...小结: 以太坊中数字签名全部采用椭圆曲线数字加密算法(ECDSA), 它理论基础是椭圆曲线密码学(ECC),而ECC存在理论基础是点倍积(point multiplication)算式 Q =...以太坊中调用椭圆曲线数字签名算法实现,来自己libsecp256k1库,这是一个针对特定椭圆曲线secp256k1、经过优化C++库,并早已被比特币系统采用。

3.8K40

【RSA】HTTPS中SSLTLS握手时RSA前后端加密流程

我们应用层消息数据SSL记录协议会给分成很多段,然后再对这个片段进行加密,最后加上记录头后就发送出去。...可以看出RSA和椭圆曲线密钥交换算法私钥用途是不一样,RSA密钥交换时是用来做加解密椭圆曲线密钥交换时是用来做签名。...这里 ECDHE 使用 ECC 命名曲线是 x25519 。Server 公钥是 (62761b5……),签名算法是 ECDSA_secp256r1_SHA256 。...由于是 ECDHE 协商算法,所以 Client 需要发送 ECC DH 公钥,对应公钥值是 (1e58cf……)。公钥长度 32 字节。...(is resumable): 标识会话是否可恢复 当 Server 保存了以上信息,可以再次计算出 TLS 记录层需要 security parameters 加密参数,从而加密应用数据。

1.1K10

这 HTTPS,真滴牛逼!

对数运算取值是可以连续,而离散对数取值是不能连续,因此也以「离散」得名, 离散对数是在对数运算基础加了「模运算」,也就说取余数,对应编程语言操作符是「%」,也可以用 mod 表示。...ECDHE 算法是 DHE 算法基础利用了 ECC 椭圆曲线特性,可以用更少计算量计算出公钥,以及最终会话密钥。...),此时小红公私钥为 Q1 和 d1,小明公私钥为 Q2 和 d2; 双方交换各自公钥,最后小红计算点(x1,y1) = d1Q2,小明计算点(x2,y2) = d2Q1,由于椭圆曲线上是可以满足乘法交换和结合律...接着,客户端会发「Encrypted Handshake Message」消息,把之前发送数据做一个摘要,再用对称密钥加密一下,让服务端做个验证,验证下本次生成对称密钥是否可以正常使用。 ?...,而对于 ECDHE 算法,客户端可以不用等服务端最后一次 TLS 握手,就可以提前发出加密 HTTP 数据,节省了一个消息往返时间; 使用 ECDHE, TLS 第 2 次握手中,会出现服务器端发出

1.5K10

【区块链技术工坊46期】PPIO蒋鑫:椭圆曲线密码学简介

加密货币”,到底是不是加了密货币?为什么***和以太坊等众多区块链项目选用椭圆曲线而不是RSA?大名鼎鼎Sony PS3私钥是如何被盗?...议题纲要: 1椭圆曲线重要性 2)RSA算法回顾 3)群论 4)椭圆曲线上加法定义 5)基于椭圆曲线签名和验签 6)安全性问题 7)ECC与RSA比较 3)嘉宾: 蒋鑫,PPIO...因此椭圆曲线密码单位比特强度要高于其他公钥体制。 数字签名算法(DSA)联邦信息处理标准FIPS中有详细论述,称为数字签名标准。它安全性基于素域离散对数问题。...它可以看作是椭圆曲线对先前基于离散对数问题(DLP)密码系统模拟,只是群元素由素域中元素数换为有限域椭圆曲线点。 椭圆曲线密码体制安全性基于椭圆曲线离散对数问题(ECDLP)难解性。...椭圆曲线离散对数问题远难于离散对数问题,椭圆曲线密码系统单位比特强度要远高于传统离散对数系统。因此使用较短密钥情况下,ECC可以达到于DL系统相同安全级别。

92510
领券