lsbmain.m脚本,调用LSB(c,m,n)函数,将秘密信息嵌入载体图像最低1层,生成伪装图像并提取秘密信息。submain.m脚本,对指定图像进行分层提取,获取并分析图像最底层的二进制位平面信息。步骤1: 启动MATLAB并配置实验环境。在Windows 7操作系统中,点击桌面上的“MATLAB R2014a”图标启动软件。在软件界面的地址栏中输入实验目录路径“D:\1、信息安全\4、信息内容安全\23信息隐藏课程\1.LSB图像信息隐藏实验\TOOLS\LSB”,点击搜索按钮进入文件夹。双击打开“readme.txt”文档,了解实验中各M文件的功能说明,确认lsbmain.m用于主流程,submain.m用于分层分析,为后续操作做好准备。
步骤2: 执行LSB图像信息隐藏与提取。在“当前文件夹”栏中双击打开“lsbmain.m”脚本文件,点击工具栏上的“运行”按钮。程序将执行LSB算法,核心调用了函数LSB(c,m,1),其中参数c表示载体图像main.tif,m表示秘密信息door.bmp,n设置为1,表示在图像8位二进制结构的最低1层进行隐藏。程序运行后,弹出包含三张图片的窗口:左侧为原始载体图像,中间为隐藏信息后的伪装图像inwatermarking.tif,右侧为从伪装图像中提取出的秘密信息watermaikingnew.tif。通过观察,验证伪装图像与载体图像在视觉上无显著差异,且提取出的信息与原始秘密信息一致。
步骤3: 进行图像的分层提取处理。在左侧文件栏中找到并双击“submain.m”脚本,点击运行。该脚本的核心功能是对图像进行分层提取操作,以演示LSB算法修改的是图像的最低位。根据代码注释及考核内容,实验针对原始文件im3进行处理。程序利用位平面提取技术,将图像像素的十进制值转换为二进制,并分别提取出8个位平面的信息。通过对比观察提取出的最底层(第0位)图像,验证其呈现为类似噪声的杂乱纹理,这正是LSB算法通过修改该层来嵌入数据且不影响视觉效果的原理所在。
实验结果: 本次实验通过MATLAB平台成功实现了基于LSB算法的图像信息隐藏。运行lsbmain.m后生成的伪装图像inwatermarking.tif与原始载体图像在视觉上几乎无法区分,充分验证了LSB算法的不可感知性。同时,从伪装图像中提取出的秘密信息与原始秘密信息完全一致,保证了信息的完整性。分层提取实验直观展示了图像位平面的结构,确认了秘密信息隐藏于最低位平面中。
个人收获: 通过本次实验,我深入理解了LSB算法利用人类视觉系统对低阶位变化不敏感的特性来实现隐写的技术原理。我不仅掌握了MATLAB的基本图像处理操作,更明白了信息隐藏与加密的区别。同时,我也认识到LSB算法虽然隐蔽性较好,但对图像处理操作(如压缩、滤波)非常敏感,鲁棒性较差,这在实际应用中需要综合考虑。
本文作者:Linxiong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!