原创 AttackCTF
丹丹妹,最近又总结了一波JPG格式的图片分析,本篇内容主要讲的是基于DCT域的JPG图片隐写。
JPEG压缩原理
JPEG(全称为joint Photographic Experts Group)是由联合图像专家组开发的,并且简单粗暴的使用组的名字作为该图片格式的名字。之前的文章中我们有讲过PNG图片,JPG图片和PNG图片的不同点是,JPG图片是有损压缩文件,支持多种压缩级别。在讲JPG图片隐写之前,我们先来了解一下JPG图片的压缩原理。
JPEG压缩的流程图如下,解压缩则是反过来:
整个JPEG压缩算法中最核心的算法就是DCT,在CTF中很多的加密隐写也和DCT相关,接下来我们就来了解一下DCT。
● DCT
DCT(Discrete cosine transform),全称为离散余弦变换,类似于离散傅里叶变换,但只使用实数。在进行DCT变换前,会将图像分为8×8的像素块,然后针对8×8的像素块逐一进行DCT变换。
离散余弦变换变换计算公式: