网络空间安全概论 实验11数字水印 LSB盲水印_第1页
网络空间安全概论 实验11数字水印 LSB盲水印_第2页
网络空间安全概论 实验11数字水印 LSB盲水印_第3页
网络空间安全概论 实验11数字水印 LSB盲水印_第4页
网络空间安全概论 实验11数字水印 LSB盲水印_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中国矿业大学计算机学院2019级本科生课程报告课程名称信息内容安全报告题目LSB盲水印报告时间2022.6.26姓名李方铨学号08192968任课教师曹天杰2021-2022(二)《信息内容安全》评分表考核类别考核内容支撑课程目标试题类型与分值比例分数结课考核课程报告(论文综述、设计、实现、写作规范)目标3:掌握信息内容安全的基础知识,针对具体问题和要求选择正确的技术路线,通过在实验环境中进行仿真实验并能根据算法特点进行攻击测试和综合性能评价,得到具有参考价值的结论。课程报告,100%过程考核1.基本概念、原理目标1:掌握信息内容安全的基本概念、分类、原理和相关技术,能够根据课程基本知识对信息内容安全领域出现的问题进行归类、分析、并有初步分析和解决问题的能力。系统演示及解说,30%2.系统设计与分析目标2:掌握信息内容安全处理相关的理论、技术以及健全的评价体系,能够根据具体问题分析算法、设计算法、实现算法并能综合评价算法。PPT讲解与答辩,50%3.基本概念、原理目标1作业或测试,20%结课考核与过程考核比例结课考核:60%过程考核:40%评阅人:2022年7月10日报告摘要通过LSB技术原理,使用python编写程序,实现对图片编码添加盲水印,并且解码得到水印。演示编码和解码过程,查看编码的抗攻击能力。关键词:LSB;图片盲水印;

报告正文1概述数字水印(DigitalWatermark)一种应用计算机算法嵌入载体文件的保护信息。数字水印技术,是一种基于内容的、非密码机制的计算机信息隐藏技术。它是将一些标识信息(即数字水印)直接嵌入数字载体当中(包括多媒体、文档、软件等)或是间接表示(修改特定区域的结构),且不影响原载体的使用价值,也不容易被探知和再次修改。但可以被生产方识别和辨认。通过这些隐藏在载体中的信息,可以达到确认内容创建者、购买者、传送隐秘信息或者判断载体是否被篡改等目的。数字水印是保护信息安全、实现防伪溯源、版权保护的有效办法,是信息隐藏技术研究领域的重要分支和研究方向。2LSB盲水印原理LSB(theLeastSignificantBits)即最不重要比特位。改变LSB主要的考虑是不重要数据的调整对原始图像的视觉效果影响较小。以图像为例,图像部分像素的最低一个或者多个位平面的值被隐藏数据所替换。即载体像素的LSB平面根据要隐藏的数据改变为“1”或者不变,以此达到隐藏信息的目的。常见的jpg图像采用的是RGB模式,也就是三个通道,每个通道的像素点采用8bit表示。3程序代码importsysfromPILimportImage,ImageMathclassLSB:SUPPORTED=['RGB','RGBA','L','CMYK']def_set_bits(self,bits):self.bits=int(bits)ifnot0<=self.bits<=8:print('[!]Numberofbitsneedstobebetween0-8.')sys.exit()def_get_image(self,path,itype):try:img=Image.open(path)exceptIOErrorase:print('[!]{}imagecouldnotbeopened.'.format(itype.title()))print('[!]{}'.format(e))sys.exit()print('[*]{}imagemode:{}'.format(itype.title(),img.mode))ifimg.modenotinself.SUPPORTED:print('[!]Nonsupportedimagemode.')sys.exit()returnimgdef_save_img(self,img,outfile):try:img.save(outfile)exceptIOErrorase:print('[!]{}imagecouldnotbewritten.'.format(outfile))print('[!]{}'.format(e))sys.exit()exceptExceptionase:print('[!]Unabletosavefile.')print('[!]{}'.format(e))sys.exit()classLSBEncode(LSB):def__init__(self,cover,secret,bits,outfile,mode=None):print('[*]AttemptingLSBEncodingwithbits={}'.format(bits))self._set_bits(bits)self.outfile=outfileself.cover=self._get_image(cover,'cover')ifmode!=None:self.cover=self.cover.convert(mode.upper())print('[*]Convertedcoverimagemodeto{}.'.format(self.cover.mode))self.secret=self._get_image(secret,'secret').convert(self.cover.mode)print('[*]Convertedsecretimagemodeto{}.'.format(self.cover.mode))self._encode_img()def_encode_img(self):c=self.cover.split()s=self.secret.split()expr='convert((c&(256-2**bits))+((s&(256-2**(8-bits))-1)>>(8-bits)),"L")'out=[ImageMath.eval(expr,c=c[k],s=s[k],bits=self.bits)forkinrange(len(c))]out=Image.merge(self.cover.mode,out)self.cover.paste(out,(0,0))self._save_img(self.cover,self.outfile)print('[*]Createdoutfileat{}'.format(self.outfile))classLSBDecode(LSB):def__init__(self,steg,bits,outfile):print('[*]AttemptingLSBDecodingwithbits={}'.format(bits))self._set_bits(bits)self.outfile=outfileself.steg=self._get_image(steg,'steg')self._decode_img()def_decode_img(self):s=self.steg.split()expr='convert((s&2**bits-1)<<(8-bits),"L")'out=[ImageMath.eval(expr,s=s[k],bits=self.bits)forkinrange(len(s))]out=Image.merge(self.steg.mode,out)self._save_img(out,self.outfile)print('[*]Createdoutfileat{}'.format(self.outfile))defmain():iflen(sys.argv)in(6,7)andsys.argv[1]=='-e':LSBEncode(*sys.argv[2:])eliflen(sys.argv)==5andsys.argv[1]=='-d':LSBDecode(*sys.argv[2:])else:usage()if__name__=='__main__':main()4运行过程4.1编码过程载体图片:隐藏图片:使用终端执行代码python3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论