3、LSB随机替换嵌入算法-2016年6月26

LSB随机替换嵌入算法-2016年6月26
一:代码

%输入:载体图像C、密钥k、秘密消息M
%输出:载密图像C_M、C_C
%输入输出格式:[C_M,C_C]=lsbRhide('Lena.bmp','message.txt',100)
%步骤: 
%1、读取图像、并且对载密图形赋空间C_M
%2、读取秘密消息文本并转化为二进制,并保存到向量M中,记录二进制长度L
%3、利用randinterval函数找到嵌入位置[row col]=randinterval(C,L,K)
%4、将二进制嵌入到相应指定的嵌入位置
%      具体方法为 i=1:L
%      C_M(row(i),col(i))=C1(row(i),col(i))-mod(C1(row(i),col(i)),2)+M1(i,1)
%5、查看LSB平面分布情况
%6、画图展示结果
function [C_M,C_C]=lsbRhide(C,M,k)
C1=imread(C);
C_M=C1;
C_C=C1;
%读取秘密消息文件
fileID=fopen(M,'r');
[M1,L]=fread(fileID,'ubit1');
%利用randinterval函数找到嵌入位置
[row,col]=randinterval(C,L,k);
%将二进制嵌入到相应指定的嵌入位置
for i=1:L
     C_M(row(i),col(i))=C1(row(i),col(i))-mod(C1(row(i),col(i)),2)+M1(i,1);
end
%查看LSB平面分布情况
[m,n]=size(C1);
for i=1:m
   for j=1:n
        C_C(i,j)=C_M(i,j)-C1(i,j);
  end
end
%画图展示结果
subplot(1,2,1);imshow(C_M);title('载密图像','FontSize',20);
subplot(1,2,2);imshow(mat2gray(C_C));title('LSB平面分布情况','FontSize',20);

二、实验结果展示:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,910评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,258评论 19 139
  • 首页 资讯 文章 资源 小组 相亲 登录 注册 首页 最新文章 IT 职场 前端 后端 移动端 数据库 运维 其他...
    Helen_Cat阅读 9,460评论 1 10
  • 回到深圳好好休息了一个下午,一直在跟小玉商量着过几天来深圳玩,带她去哪些地方玩,今天我们一起讨论了一下,然后做了一...
    山顶的黑狗兄阅读 2,187评论 0 0
  • 趁着停电的夜晚,更新最近的状态。 此时此刻,周围的世界是黑漆漆的,宿舍只有我一个人,最近都很享受独处的一个人,可以...
    kingson____阅读 1,297评论 0 1

友情链接更多精彩内容