安全学习DAY09_加密逆向,特征识别

news2024/9/28 11:18:28

算法逆向&加密算法分类,特征识别

文章目录

  • 算法逆向&加密算法分类,特征识别
    • 算法概念,分类
      • 单向散列加密 - MD5
      • 对称加密 - AES
      • 非对称加密 - RSA
    • 常见加密算法识别特征,解密特点
      • MD5密文特点
      • BASE64编码特点
      • AES、DES特点
      • RSA密文特点
      • 其他密文特点(大佬文章)
    • 安全测试思路

请添加图片描述

  1. 单向散列加密 -MD5,HASH(不可逆向,只能碰撞解密
  2. 对称加密 - AES,DES
  3. 非对称加密 - RSA
  4. 解密- 识别&需求&寻找(前后端)&操作

算法概念,分类

单向散列加密 - MD5

单向散列加密算法的优点有(以MD5为例):

方便存储,损耗低:加密/加密对于性能的损耗微乎其微。

单向散列加密的缺点就是存在暴力破解的可能性,最好通过加盐值的方式提高安全性,此外可能存在散列冲突。我们都知道MD5加密也是可以破解的。

常见的单向散列加密算法有:

MD5 SHA MAC CRC

对称加密 - AES

对称加密优点是算法公开、计算量小、加密速度快、加密效率高。

缺点是发送方和接收方必须商定好密钥,然后使双方都能保存好密钥,密钥管理成为双方的负担。

常见的对称加密算法有:

DES AES RC4

AES-128的ECB模式不需要偏移量

对称加密,要解密最重要的是密码和偏移量,没有则无法解开,模式和填充只有几种

非对称加密 - RSA

非对称加密的优点是与对称加密相比,安全性更好,加解密需要不同的密钥,公钥和私钥都可进行相互的加解密。

缺点是加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

公钥私钥为一对,使用过公钥加密的密文需要使用私钥进行解密,而使用私钥加密的密文需要使用公钥进行解密。

常见的非对称加密算法:

RSA、RSA2、PKCS

常见加密算法识别特征,解密特点

MD5密文特点

1、由数字“0-9”和字母“a-f”组成的字符串

2、固定为16位或32位

解密需求:只需密文即可解密,但因其不可逆向,所以采用碰撞式解法,复杂明文可能解不出

BASE64编码特点

1、密文尾部一般会有两个等于号“=”,明文很短时可能没有

2、大小写区分,由数字和字母的组合

3、明文越长,密文越长,一般不会出现“/” (AES、DES会出现

AES、DES特点

  1. 明文越长,密文越长
  2. 大小写区分,由数字、字母、**“/”、“+”**组成
  3. 尾部会出现等号“=”

解密需求:密文,模式,加密Key,偏移量,条件满足才可解出

RSA密文特点

特征同AES,DES相似,但是长度较长

解密需求:密文,公钥或私钥即可解出

其他密文特点(大佬文章)

1.30余种加密编码类型的密文特征分析

https://mp.weixin.qq.com/s?__biz=MzAwNDcxMjI2MA==&mid=2247484455&idx=1&sn=e1b4324ddcf7d6123be30d9a5613e17b&chksm=9b26f60cac517f1a920cf3b73b3212a645aeef78882c47957b9f3c2135cb7ce051c73fe77bb2&mpshare=1&scene=23&srcid=1111auAYWmr1N0NAs9Wp2hGz&sharer_sharetime=1605145141579&sharer_shareid=5051b3eddbbe2cb698aedf9452370026#rd

2.CTF中常见密码题解密网站总结

https://blog.csdn.net/qq_41638851/article/details/100526839

3.CTF密码学常见加密解密总结

https://blog.csdn.net/qq_40837276/article/details/83080460

拿到密文,一般有源码,可以分析为哪种加密算法,无源码只能靠密文特征猜测

后端加密,在后端语言上进行加密,需要源码才能分析

前端加密,js,前端js代码进行加密

安全测试思路

有源码 - 直接看源码分析算法(后端加密必须要有源码才能准确知道算法类型)

无源码 - 1、猜,根据特征猜测,2、看前端JS(取决于加密逻辑是否在前端,若不在则行不通)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/804831.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

leaftjs实现全国温度降水气压风速等值面风场洋流效果

实现内容 数据爬取、地图marker聚合、鼠标移动显示pop,风场,洋流,温度等值面、降水等值面、气压等值面、风速等值面,洋流方向、洋流流速展示、风场方向、风场风速展示,后期扩展小时预报,分钟预报、7天预报…

Modbus RTU协议 + 调试工具 + java工具类

春风若有怜花意,可否容我再少年 Modbus RTU通信协议指令学习 Modbus RTU协议是一种紧凑的,采用二进制表示数据的方式,带有循环冗余校验的校验和。 读取指令格式 使用过程中03功能码比较常用,所以以03读取为例 读请求&#xff…

Java的代理模式

java有三种代理模式 静态代理 jdk动态代理 cglib实现动态代理 代理模式的定义: 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的…

打包出现ProjectBuildingException异常原因之一

一次正常打包操作突然出现 原因是同事不小心在集合模块里面添加了重复的模块引入

Github 上 爆火,标星 103K的 Spring Security 手册及源码笔记,YYDS

Spring Security 是一个基于 Spring AOP 和 Servlet 过滤器的安全框架,它提供了安全性方面的解决方案 Spring Security 作为非常强大的框架,作为程序员是非常热爱的,我这里整理了四份 Spring Security 手写笔记及实战手册原文档见文末 目录…

FANUC机器人实现2个RO输出信号互锁关联(互补)的具体方法

FANUC机器人实现2个RO输出信号互锁关联(互补)的具体方法 一般情况下,为了方便用户控制工装夹具上的电磁阀等控制工具,FANUC机器人出厂时给我们提供了8个RO输出信号,如下图所示,这8个RO信号可以各自单独使用。 那么,如果为了安全控制,需要将2个RO信号成对的进行安全互锁…

【C语言进阶篇】回调函数都学了吧!那么用冒泡排序实现qsort函数你会嘛?

🎬 鸽芷咕:个人主页 🔥 个人专栏:《C语言初阶篇》 《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活! 文章目录 📋 前言💬 qsort 和 冒泡排序的区别📑 qsort 的特点📑 冒泡排序 …

干货 | 常见电路板GND与外壳GND之间接一个电阻一个电容,为什么?

干货 | 常见电路板GND与外壳GND之间接一个电阻一个电容,为什么? 外壳是金属的,中间是一个螺丝孔,也就是跟大地连接起来了。这里通过一个1M的电阻跟一个0.1uF的电容并联,跟电路板的地连接在一起,这样有什么好…

Michael.W基于Foundry精读Openzeppelin第14期——SafeMath.sol

Michael.W基于Foundry精读Openzeppelin第14期——SafeMath.sol 0. 版本0.1 SafeMath.sol 1. 目标合约2. 代码精读2.1 tryAdd(uint256 a, uint256 b) && trySub(uint256 a, uint256 b) && tryMul(uint256 a, uint256 b) && tryDiv(uint256 a, uint256 b…

CSS鼠标样式(cursor)

CSS cursor 属性值 属性值示意图描述auto默认值,由浏览器根据当前上下文确定要显示的光标样式default 默认光标,不考虑上下文,通常是一个箭头none不显示光标initial将此属性设置为其默认值inherit从父元素基础 cursor 属性的值context-menu…

JVM理论(七)性能监控与调优

概述 性能优化的步骤 性能监控:就是通过以非强行或入侵方式收集或查看应用程序运行状态,包括如下问题 GC频繁CPU过载过高OOM内存泄漏死锁程序响应时间较长性能分析:通常在系统测试环境或者开发环境进行分析 通过查看程序日志以及GC日志,或者运用命令行工…

simulink与遗传算法结合求解TSP问题

前言:刚开始入门学习simulink,了解了基本的模块功能后想尝试从自己熟悉的领域入手,自己出题使用simulink搭建模型。选择的是TSP问题的遗传算法,考虑如何用simulink建模思想来实现一个简单TSP问题的遗传算法。 TSP问题描述 一个配…

注解和反射04--类加载

类加载 Java内存分析了解类的加载过程类的加载与ClassLoader的理解什么时候会发生类的初始化 类加载器类加载器的作用 Java内存分析 了解类的加载过程 当程序主动使用某个类是,如果该类害未被加载到内存中,啧系统会通过下面三个步骤来对该类进行初始化 …

数字信号处理中的基本运算——加法运算

1. 一位全加器 2. 二进制加法原理 两个N位二进制补码相加,为防止溢出时导致计算结果错误,可将这两个加数先进行符号位扩展,变为N1位二进制数,然后相加,结果亦取N1位,可保证运算结果正确。 根据多位加法器…

互联网医院申办|线上问诊系统|互联网医院系统功能

随着互联网的快速发展,各行各业都在积极探索如何将互联网与自身服务相结合,实现数字化转型。互联网医院建设分院内与院外建设,院内建设是业务流程的优化过程,是系统改造的过程,是医院精细化运营的一部分,也…

基于Java+SpringBoot+vue前后端分离美容院管理系统设计实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

跑步适合戴什么样的耳机、最好的跑步耳机推荐

每个人对于运动的方式都不尽相同,但大多数热爱运动的朋友都离不开音乐的陪伴。运动和带有节奏感的音乐能够激发我们更多的热情和动力。特别是在夏日的时候,我非常喜欢跑步。在酷热的天气里,如果没有音乐的伴随,跑步会变得单调乏味…

【Vue3】BEM 架构和 Sass 语法

1. BEM 架构 BEM(Block, Element, Modifier)是一种命名约定,用于在编写 CSS 和 HTML 类名时创建可维护和可重用的样式。BEM 是一种常用的 CSS 命名规范,它的目的是减少样式之间的耦合,增加样式的可读性,并…

多目标优化:NSGA(Ⅱ)

多目标优化的基本概念 习多目标优化的过程中&#xff0c;其中涉及相关概念如下&#xff1a; Pareto 支配关系 (Pareto Dominance)&#xff1a;支配&#xff1a;对于多个目标值&#xff0c;随机自变量x1、x2&#xff0c;对于任意一个目标函数都存在f(x1)<f(x2)&#xff0c;则…

Vue 3:玩一下web前端技术(三)

前言 本章内容为VUE工作过程与相关使用讨论。 上一篇文章地址&#xff1a; Vue 3&#xff1a;玩一下web前端技术&#xff08;二&#xff09;_Lion King的博客-CSDN博客 下一篇文章地址&#xff1a; Vue 3&#xff1a;玩一下web前端技术&#xff08;四&#xff09;_Lion Ki…