当前位置: 首页 > news >正文

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

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

文章目录

  • 算法逆向&加密算法分类,特征识别
    • 算法概念,分类
      • 单向散列加密 - 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.lryc.cn/news/105250.html

相关文章:

  • 原型模式(Prototype)
  • 深度学习之用PyTorch实现线性回归
  • 45.248.11.X服务器防火墙是什么,具有什么作用
  • 如何以无服务器方式运行 Go 应用程序
  • 小程序商城系统的开发方式及优缺点分析
  • [数据集][目标检测]城市道路井盖破损丢失目标检测1377张
  • 【Spring Cloud 三】Eureka服务注册与服务发现
  • WPF实战学习笔记21-自定义首页添加对话服务
  • AngularJS学习(一)
  • 918. 环形子数组的最大和
  • AI算法图形化编程加持|OPT(奥普特)智能相机轻松适应各类检测任务
  • C语言文件指针设置偏移量--fseek
  • 快速消除视频的原声的技巧分享
  • lua脚本实现Redis令牌桶限流
  • 最新 23 届计算机校招薪资汇总
  • BUU CODE REVIEW 1
  • django使用ztree实现树状结构效果,子节点实现动态加载(l懒加载)
  • 认识springboot 之 了解它的日志 -4
  • 关于大规模数据处理的解决方案
  • 免费快速下载省市区县行政区的Shp数据
  • MAC下配置android-sdk
  • Hive-数据倾斜
  • Java多线程(三)
  • Linux操作系统3-项目部署
  • 软件测试面试题——接口自动化测试怎么做?
  • 如何在医疗器械行业运用IPD?
  • 16. Spring Boot 统一功能处理
  • PostgreSQL-数据库命令
  • 面试题:说说JavaScript中内存泄漏的几种情况?垃圾回收机制
  • HTML基础介绍1