首页 > 其他分享 > 长度延展攻击

长度延展攻击

时间:2023-06-08 13:11:55浏览次数:27  
标签:攻击 延展 哈希 长度 伪造 消息

一、长度延展攻击的理解

长度延展攻击(Length Extension Attack)是一种利用哈希算法中的“消息扩展”性质来构造伪造摘要码的攻击方式。通常来说,哈希函数对于不同输入值都会产生唯一的摘要值,但是在一些哈希算法中,当一个消息M已经计算出它的哈希值H(M)之后,攻击者可以通过已知H(M)和M的长度以及另一部分内容P来计算出H(M||P),其中"||"表示连接符。

这意味着攻击者可以在不知道M的具体内容的情况下,构造出一个被认为是合法的消息,在验证哈希值的过程中会被误认为是原始消息M本身。因此,长度延展攻击可用于欺骗服务器或客户端程序,导致它们执行未经授权的操作,如篡改数据、伪造身份等。

为了防止长度延展攻击,应使用具有抗长度延展攻击功能的哈希算法,如SHA-3、BLAKE2等。此外,还可以使用 HMAC等其他的消息认证码算法来增加安全性。

二、查找长度延展攻击的CTF试题案例

已知哈希值H(M),并且认为M的长度为L,如何找到一条以H(M)作为前缀的伪造消息

在这个问题中,我们需要构造一条以H(M)作为前缀的伪造消息。由于是长度延展攻击,我们必须利用哈希函数的“消息扩展”特性来构造一个新的消息,使得它的哈希值与已知的前缀H(M)相同。

具体来说,可以使用以下步骤来构造伪造消息:

选择任意一段内容P,并计算出它的哈希值H(P)。
计算H'(M||P)=f(H(M)||P),其中f表示哈希函数的“消息扩展”操作。
得到伪造消息M'||P,其中M'表示一个任意的消息,且其长度等于L。
然后,在验证哈希值时,服务器或客户端程序会将M'||P作为原始消息,而忽略掉M'的实际内容,从而被欺骗。

标签:攻击,延展,哈希,长度,伪造,消息
From: https://www.cnblogs.com/han-jin/p/17466035.html

相关文章

  • 1156. 单字符重复子串的最大长度
    如果字符串中的所有字符都相同,那么这个字符串是单字符重复的字符串。给你一个字符串 text,你只能交换其中两个字符一次或者什么都不做,然后得到一些单字符重复的子串。返回其中最长的子串的长度。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/swap-for-longest-repeated-......
  • SMB 签章可以用于保护 SMB/TCP 协议传输的数据安全性,防止网络中的恶意用户或攻击者篡
    SMB签章可以用于保护SMB/TCP协议传输的数据安全性,防止网络中的恶意用户或攻击者篡改原始数据。要启用SMB签章,可以执行以下批处理脚本:CopyCode@echooffsetlocalrem启用SMB签章echoEnablingSMBsigning...regadd"HKLM\SYSTEM\CurrentControlSet\Services\Lanma......
  • 获取字符串个数和长度
    SAP中strlen()只能计算字符串的个数,不能计算含有中文字符串的长度。FIELD-SYMBOLS:<FV>TYPESTRING.DATA:LV_SRTTYPEI.DATA:LVTYPEREFTODATA.DATA:LV_SSSSTYPECHAR255.LV_SSSS='我'.START-OF-SELECTION.CREATEDATALVTYPESTRING.ASSIGNLV->*TO<FV&g......
  • m基于ENM-LAP模型的自组织网络平均最短路径长度matlab仿真分析
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要移动自组织网络不但具有终端能量受限、无线信道状况受链路距离影响等特点,还具有节点位置的选择存在偏好的规律。本节建立基于节点位置偏好的网络拓扑演进模型,并利用复杂网络理论对其进行分析。网络拓扑结构产生过......
  • 域用户枚举和密码喷洒攻击横向移动
    域用户枚举和密码喷洒攻击横向移动目录域用户枚举和密码喷洒攻击横向移动一、域内用户枚举攻击原理二、域内用户枚举工具三、密码喷洒攻击原理四、密码喷洒工具一、域内用户枚举攻击原理正常域用户登录主机,我们可以通过"netuser/domain"来列举出域内的用户。但是当我们用非......
  • Leetcode 1156. 单字符重复子串的最大长度
    题目:如果字符串中的所有字符都相同,那么这个字符串是单字符重复的字符串。给你一个字符串 text,你只能交换其中两个字符一次或者什么都不做,然后得到一些单字符重复的子串。返回其中最长的子串的长度。难度:中等示例1:输入:text="ababa"输出:3示例2:输入:text="aaabaaa"输出......
  • NetHunter使用Rucky实现HID键盘数据模拟攻击
    知识概要:NetHunter:是KaliLinux推出的移动Android端的系统Rucky:是一种基于HID设备的攻击工具,其本质是一个可编程的键盘模拟器,可以用于快速执行各种攻击,例如在目标计算机上执行特定的命令、窃取密码等。HID:是指人体接口设备,常见的HID包括键盘、鼠标、摄像头等USB设备......
  • 【python基础】复杂数据类型-列表类型(排序/长度/遍历)
    1.列表数据元素排序在创建的列表中,数据元素的排列顺序常常是无法预测的。这虽然在大多数情况下都是不可避免的,但经常需要以特定的顺序呈现信息。有时候希望保留列表数据元素最初的排列顺序,而有时候又需要调整排列顺序。python提供了很多列表数据元素排序的方式,可根据情况选用。1......
  • 最后一个单词的长度
     给你一个字符串s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。单词是指仅由字母组成、不包含任何空格字符的最大子字符串。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/length-of-last-word著作权归领扣网络所有。商业转载请联系......
  • 一篇搞定MySQL索引长度(key_len)计算规则
    MySQL索引长度(key_len)计算 计算规则索引字段:没有设置NOTNULL,则需要加1个字节。定长字段:tinyint占1个字节、int占4个字节、bitint占8个字节、date占3个字节、datetime占5 个字节、char(n)占n个字节。变长字段:varchar(n)占n个字符+2个字节。注......