TLSv1.2抓包解密分析过程之ECDHE_RSA_WITH_AES_128_CBC_SHA256

2023-11-19

ECDHE_RSA_WITH_AES_128_CBC_SHA256模式下, RSA只用于身份验证, 不用于加密.
加密密钥是通过有限域的椭圆曲线算法交换的, 需要拿到ECDH的私钥才能解密
本文的demo样本使用了特殊方法来获取这些参数.
椭圆曲线加密原理 https://blog.csdn.net/wzj_whut/article/details/86649809#_68

准备工作

已经准备好的抓包数据
https://github.com/wzjwhut/tlsv12-demo/blob/master/src/main/resources/TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256.pcapng
可以通过以下方式自己抓包实验

下载和修改最新版的openssl源码

修改crypto/dh/ec_key.c
加入一段日志函数

/** 用于打印一段数据内容 */
static const char hexdig[] = "0123456789abcdef";
static void log_hex(const char* tag, unsigned char* data, int len){
    char msg[50], *ptr;
    int i;
    ptr = msg;

    printf("%s\r\n", tag);
    for(i=0; i<
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TLSv1.2抓包解密分析过程之ECDHE_RSA_WITH_AES_128_CBC_SHA256 的相关文章

  • Java 加解密技术系列之 MD5

    序 上一篇文章中 介绍了最基础的编码方式 BASE64 也简单的提了一下编码的原理 这篇文章继续加解密的系列 当然也是介绍比较基础的加密方式 MD5 MD5 属于单向加密算法 是不可逆的加密方式 也就是说 采用了 MD5 加密方式加密之后
  • python中的加密算法 -- MD5加密--DES加密

    MD5加密算法 MD5消息摘要算法 属Hash算法一类 MD5算法对输入任意长度的消息进行运行 产生一个128位的消息摘要 不可逆性 每个人都有不同的指纹 看到这个人 可以得出他的指纹等信息 并且唯一对应 但你只看一个指纹 是不可能看到或读
  • 破解AES秘钥长度限制

    破解AES秘钥长度限制 高级加密标准 AES 在密码学中又称Rijndael加密法 是美国联邦政府采用的一种区块加密标准 这个标准用来替代原先的DES 密码说明 因为Rijndael加密法可以支持更大范围的区块和密钥长度 AES的区块长度固
  • 网络错误代码

    网络错误代码 又称ADSL错误代码 ADSL Asymmetric Digital Subscriber Line 非对称数字用户环路 是中国电信报提供的一种新的数据传输方式 它因为上行和下行带宽不对称 因此称为非对称数字用户线环路 它采用
  • Android 最全的AES加密算法及其实现(前所未有的震撼)

    一 什么是AES加密 AES高级加密标准 英语 Advanced Encryption Standard 缩写 AES 在密码学中又称Rijndael加密法 是美国联邦政府采用的一种区块加密标准 这个标准用来替代原先的DES 已经被多方分析
  • python---的各种算法

    今天来聊聊python中的算法 比如AES DES RSA 1 MD5加密 md5是一个大的hash算法 它不存在解密的逻辑 市面上所为的解密是通过撞库来实现的 我们可以简单的理解为生活中的防伪码 1 不加salt 简单理解为密钥 from
  • CMD的命令集锦

    winver 检查Windows版本 wmimgmt msc 打开windows管理体系结构 WMI wupdmgr windows更新程序 wscript windows脚本宿主设置 write 写字板 winmsd 系统信息 wiaac
  • AES加密,128-192-256,方案二

    与方案一对比 方案二要简洁很多 看代码 package com xiao aes util import java security NoSuchAlgorithmException import javax crypto Cipher i
  • HASH函数的特点及其应用

    HASH函数必须具备两个基本特征 单向性 和 碰撞约束 单向性是指其的操作方向的不可逆性 在HASH函数中是指 只能从输入推导出输出 而不能从输出计算出输入 碰撞约束是指 不能找到一个输入使其输出结果等于一个已知的输出结果 或者 不能同时找
  • 如何评估加解密代码?

    在不深入研究代码的具体实现的情况下 如何评估加解密代码的有效性 强度 背景 迫于无赖 项目组只能安排1位新手设计一系列的加密算法 用于对本地文件和二进制代码的加密 幸运的是 对加密强度并没有过高的要求 但也希望能够有效的评估代码 并实现自动
  • C语言实现MD5/SHA1/SHA256/SHA512

    哈希函数是我们做校验时经常会用到的密码学工具 目前常用的工具有MD5 SHA1 SHA256 SHA512等 其中MD5已经被证实不安全 目前只能作为一种辅助的校验手段 而不能防篡改 下面介绍如何使用mbedTLS协议栈中的hash代码生成
  • 10-js逆向(数据加密)

    简单的加密 案例一 返来的数据加密 我们对他进行解密 拿到数据 看到返回的数据加密了 还是直接搜索 也可以直接搜索json parse 可以看到了数据在这个里面已经加密 所以下一步 找他的调用栈 可以看到数据被传在了这个里面 直接进行扣js
  • 工作笔记:TrueCrypt编译记录

    工作笔记 TrueCrypt编译记录 TrueCrypt的最新版本6 2可以从官方网站上下载 我从这里下载了一个6 1的 http freedos pri ee truecrypt 在TrueCrypt官方网站上很多旧版本都没了 这里却很全
  • 非对称加密工作原理

    非对称加密 非对称加密使用两个密钥 一个是public key 一个是private key 通过某个算法 使得数据的加密和解密使用不同的密钥 因为用的是不同的密钥 所以称为非对称加密 非对称加密最著名的是RSA算法 这是以其发明者Rive
  • 常用的加解密技术(2)

    公开密钥体系 公开密钥密码体制是现代密码学的最重要的发明和进展 一般理解密码学 Cryptography 就是保护信息传递的机密性 但这仅仅是当今密码学主题的一个方面 对信息发送与接收人的真实身份的验证 对所发出 接收信息在事后的不可抵赖以
  • Java I/O (第二版) I/O基础 I/O概述

    第一部分 第一章 介绍I O 输入和输出 的简写I O 它是任何操作系统和程序设计语言所必须的基础功能 只有空想家才会喜欢没有输入输出的程序 同时 IO的话题似乎对程序员没有什么吸引力 其实不然 我们应该有很多有趣的东西需要学习在IO中 J
  • 地球坐标系 (WGS-84) 到火星坐标系 (GCJ-02) 的转换算法

    原文 WGS 84 到 GCJ 02 的转换 即 GPS 加偏 算法是一个普通青年轻易无法接触到的 公开 的秘密 这个算法的代码在互联网上是公开的 详情请使用 Google 搜索 wgtochina lb 整理后的算法代码请参考 https
  • 【安全与协议】使用crypto.js进行加密详解

    JavaScript Crypto JS 前言与工具 前言 使用 Crypto JS 可以非常方便地在 JavaScript 进行 MD5 SHA1 SHA2 SHA3 RIPEMD 160 哈希散列 进行 AES DES Rabbit R
  • CTF中那些脑洞大开的编码和加密

    0x00 前言 正文开始之前先闲扯几句吧 玩CTF的小伙伴也许会遇到类似这样的问题 表哥 你知道这是什么加密吗 其实CTF中脑洞密码题 非现代加密方式 一般都是各种古典密码的变形 一般出题者会对密文进行一些处理 但是会给留一些线索 所以写此
  • ISAKMP - 解释域(DOI)和初始向量(IV)

    Domain of Interpretation 解释域 DOI定义了负载的格式 交换的类型 以及对安全相关信息的命名约定 比如对安全策略或者加密算法和模式的命名 DOI标识用来说明payload通过哪一个DOI来解释 常用的DOI有两个

随机推荐

  • Java 正则表达式工具类大全

    import java util regex Matcher import java util regex Pattern author nql Description 验证工具类 date now public class Validat
  • Matlab 超前滞后相关,自相关xcorr

    Matlab提供了计算互相关和自相关的函数xcorr函数 1 使用方法 c xcorr x y c xcorr x c xcorr x y option c xcorr x option c xcorr x y maxlag
  • linux函数库之htons(), ntohl(), ntohs(),htons() 函数

    linux疑难问题排查实战 分享了作为公司专家 在项目开发过程中内存优化 堆 栈 代码段 数据段 性能优化 死机 栈越界 堆越界 死锁等疑难问题排查的案例 使用的工具 perf asan strace memleak等 工作经验 大家可以点
  • Linux中的firewall-cmd

    2023年8月4日 周五上午 目录 打开端口 关闭端口 查看某个端口是否打开 查看当前防火墙设置 firewall cmd中的服务 在防火墙中什么是服务 为什么会有服务 打开或关闭服务 查看某个服务是否打开 firewall cmd中的 z
  • Unity MRTK使用详解(Htc vive+LeapMotion)

    MRTK Unity是一个由Microsoft驱动的开源项目 提供了多种组件和功能 用于加速Unity中的跨平台MR应用程序开发 以下是其一些功能 提供跨平台输入系统和用于空间交互和UI组件 启用快速原型通过在编辑器中的模拟 让你马上看到变
  • 在vscode内运行php代码文件

    一 下载php 下载php链接 下载后解压缩文件 我新建了一个php文件夹在解压缩到这里 二 下载Xdebug 下载Xdebug链接 下载后复制粘贴到php文件夹下的ext文件夹 三 修改 在php文件夹下找到这两个文件夹 复制第一个文件夹
  • Hudi原理

    1 摘要 Apache Hudi提供了不同的表类型供根据不同的需求进行选择 提供了两种类型的表 Copy On Write COW Merge On Read MOR 2 术语介绍 在深入研究 COW 和 MOR 之前 让我们先了解一下 H
  • checking for module ‘sqlite3‘ package ‘sqlite3‘ not found

    checking for module sqlite3 package sqlite3 gt 某个版本号 not found 在编译安装其他源码包的时候遇到缺少sqlite3库的问题 这里字面上的意思是没有安装sqlite3 但是造成这个问
  • (python)常见面试题

    1 一行代码实现1 100之和 2 如何在一个函数内部修改全局变量 3 列出5个python标准库 os 提供了不少与操作系统相关联的函数 sys 通常用于命令行参数 re 正则匹配 math 数学运算 datetime 处理日期时间 4
  • Redis数据实战之“万金油”的String,为什么不好用了?

    Redis数据实战之 万金油 的String 为什么不好用了 引言 为什么 String 类型内存开销大 用什么数据结构可以节省内存 如何用集合类型保存单值的键值对 引言 以一个项目需要为例 需要开发一个图片存储系统 要求这个系统能快速地记
  • DNS使用TCP与UDP

    DNS同时占用UDP和TCP端口53是公认的 这种单个应用协议同时使用两种传输协议的情况在TCP IP栈也算是个另类 但很少有人知道DNS分别在什么情况下使用这两种协议 先简单介绍下TCP与UDP TCP是一种面向连接的协议 提供可靠的数据
  • tensorflow-ssd 实现纸张缺陷检测

    环境 win10 tensorflow1 10 python3 6 9 下载https github com balancap SSD Tensorflow到本地 1 解压并测试demo 打开Anaconda prompt 切换到SSD T
  • 我又把HTMLTestRunner改了一下,支持Python3,添加echarts统计饼图

    之前用Bootstrap把HTMLTestRunner改的美观了一点 同时改成了中文的报告 但那个是基于Python2的 见这篇博文 selenium之 输出报告 对HTMLTestRunner进行样式调整后的示例 这次呢 博主又给它改成了
  • mac编译安装Nginx

    一 安装wget 使用homebrew安装wget brew install wget 安装wget时报错 tar Error opening archive Failed to open Users xxx Library Caches
  • 【数据库】如何创建一个非常便宜的无服务器数据库

    云对象存储可以用作功能强大且非常便宜的数据库 您是否相信您可以使用完全托管 可大规模扩展 高度可用且价格低廉的无服务器数据库 每月只需 5 美元 您就可以存储数亿条记录并读写数十亿条记录 如果您的数据库需求可以通过非常简单的键值存储来满足
  • 近期deep learning做图像质量评价(image quality assessment)的论文4

    1 2017会议论文ICME An accurate deepconvolutional neural networks model for no reference image quality assessment 复旦大学 1 1用了部
  • Python开发环境Wing IDE如何查看调试数据

    Wing IDE具有一个十分有用的特性 就是处理复杂bug的时候可以以各种各样的方式查看调试数据值 这个功能具体是由Watch工具实现的 查看数据值 在PrintAsHTML中发生异常时 右键单击Stack Data工具中的本地数值 这将显
  • 【STM32学习笔记】(13)——外部中断详解

    EXTI 简介 EXTI External interrupt event controller 外部中断 事件控制器 管理了控制器的 20 个中断 事件线 每个输入线可以独立地配置输入类型 脉冲 或挂起 和对应的触发事件 上升沿或下降沿或
  • unity本地分数排行榜简单解决方案(Json)

    具体效果 大体方法 创建一个分数类Score和一个分数类的容器List
  • TLSv1.2抓包解密分析过程之ECDHE_RSA_WITH_AES_128_CBC_SHA256

    ECDHE RSA WITH AES 128 CBC SHA256模式下 RSA只用于身份验证 不用于加密 加密密钥是通过有限域的椭圆曲线算法交换的 需要拿到ECDH的私钥才能解密 本文的demo样本使用了特殊方法来获取这些参数 椭圆曲线加