温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
信息隐藏
2023
基于
Matlab
平台
信息
隐藏
教学改革
研究
基于Matlab平台的信息隐藏教学改革研究
[摘 要] 如何在有限的课时内有效地讲授多媒体信息安全专业的重要课程——信息隐藏,激发学生学习热情、提高教学和实验的效率是信息安全专业教学的难点。通过问卷调查和对该课程特点的深入研究,并与传统教学方法和演示与实验平台相比拟,提出基于matlab平台的课程教学改革的方法。实践说明该方法较大程度化解了传统教学方式中不易解决的难点,提高了学生的学习兴趣,获得了良好的教学效果。
[关键词] 信息隐藏 matlab 教学改革 多媒体信息安全
[abstract] ‘informationg hiding’is a significant course of multimedia information security. it is a difficulty in teaching of this course to improve the efficiency of teaching and stimulate students’ enthusiasm for learning. a novel teaching reform way based on matlab platform is proposed, through the questionnaires and the in-depth study of the characteristics of the course. the novel way is compared with traditional teaching methods and presentation of the experimental platform. teaching practice shows that it greater extent resolves the difficulty of traditional teaching method, and improves students’ interest, and obtains good teaching effectiveness.
[key words] information hiding matlab teaching reform multimedia information security
1.引言
多媒体信息安全是信息安全专业的一个重要分支,而信息隐藏那么是多媒体信息安全专业的根底和主干课程,其主要研究内容是利用信息论、统计学、矩阵论、计算机图形学以及编码理论等根底课程知识的综合应用,采用数字多媒体〔数字图像、音频、视频、文本和流媒体等〕作为载体,将信息嵌入到载体中,并满足各种应用的需求。该学科的典型应用研究即数字水印、数字隐写术以及隐写分析等,而这些典型的研究成果正在和已经广泛应用于多媒体版权保护、数字隐秘通信和隐秘通信分析等各个方面,影响着国民经济的开展乃至国家安全等重要方面。
信息隐藏这门课程着重强调理论原理和算法编制,是一门理论性和应用方法论均有较高要求的课程,可以为学生从事各种实际的多媒体信息安全系统的分析和设计提供理论根底和应用工具,是多媒体信息安全专业学习中的一门不可或缺的专业课程。如何帮助学生理解与掌握信息隐藏的根本概念、原理、分析方法以及综合应用所学知识解决实际问题的能力,是目前该课程教学所要解决的关键问题。
由于信息隐藏要求数学〔特别是统计学和优化理论〕根底知识较广,且不同应用问题有不同要求,对应不同求解方法,这给如何向非数学专业的学生教好这门课程提出了不小的难题。目前通常在信息隐藏课程教学中大多采用c/c++语言平台进行算法讲授和实验,虽然c/c++语言也具有一定的计算函数和扩展工具包,但是由于该课程有着极强的应用性,需要进行大量程序编制和实验,在采用c/c++语言时绝大多数的实验平台构建仍需学生自己编写大量的代码,而课程的学时数又相对较少〔学生在课程中进行实验的时间通常在20个学时以下〕,这也给如何让学生在有限的学时内理解和掌握这门课程的根本理论和方法提出了教学的难题。
由于matlab程序编制和实验平台具有极强的数学表现性能〔其开发初衷即为一个数学和科学计算的平台〕,且matlab语言程序编制简便快捷,本身具有强大的程序库函数,对运算和实验结果的表现非常具体和形象,因此在各个学科领域均得到了广泛的应用,兴旺国家对很多自然科学和技术专业的高等教育也广泛采用了matlab平台。在国内各高校的教学和实验中也开始在不少学科尝试基于matlab平台的教学改革,如杨雪梅[1]对基于matlab平台对信息和计算科学专业的教学改革进行了探讨;汪洋[2]那么利用matlab教学平台对自动控制原理的课程教学进行了有益的改革尝试;另外其它许多研究者也提出了不同的基于matlab平台的教学改革思路[3-4]
本文以下局局部析传统教学过程中存在的问题,并结合信息隐藏课程理论和应用实验的特点,通过实例的方法就如何基于matlab平台,对该课程的教学和实验进行改革,以提高学生学习和掌握本课程的能力进行研究和探讨。
2.传统教学过程中存在的问题
信息隐藏通常为大学三年级开设课程,鉴于该课程的理论较深且实践性较强的特点,使得传统的教学过程存在一定的困难。为此,选取计算机系信息安全专业两个班的学生进行问卷调查,共发放问卷53份,回收49份有效答卷,同时随机抽取学生进行深入访谈。通过调查问卷和访谈,发现该课程教学主要存在以下问题:
1〕抽象理论概念多,算法分析涉及较多数学,特别是积分变换、矩阵论和统计学知识。教学过程易枯燥,教学演示不直观,学生学习难度较大,不易培养学习兴趣。通过课后访谈发现,81%的学生对该课程存在较严重的畏难情绪。造成这一现象的原因主要有以下几方面。
① 没有较系统地学过信号分析类课程中傅里叶变换、离散余弦变换等知识点,使学生对数字图像空域和频域中的变换和逆变换较难理解。
② 没有深入学习过线性代数或矩阵论理论。使学生对课程中数值矩阵的运算较陌生。
③ 由于学生统计学根底知识较薄弱,因此对课程中利用各种统计学知识进行分析的算法难以理解,只“知其然,不知其所以然〞,对整个课程逐渐失去兴趣。
④ 由于教学演示不直观,使得学生对课程教学中一些根本原理和算法所产生的效果较为茫然,对整个课程逐渐失去兴趣。
2〕实验课开设课时较少,无法给理论教学足够的支持。信息隐藏是理论教学和实践结合非常紧密的课程,各中根本原理和算法的实际效果不仅需要教学演示,更需要学生实际动手和分析,因此通常课程有近一半的课时是实验课时,包括验证性实验和设计性实验。但是,由于传统教学和实验中常常采用c/c++等编程和调试平台进行实验,而这样的平台对多媒体信息处理等科学计算和工程应用的工具函数库支持缺乏,使得学生消耗大的实验时间在非课程重点问题的解决上,从而相对地减少了对课程本身需解决问题的实验和体会,降低了学生进行实验的积极性,对理论体系的支持也不够。
综上所述,信息隐藏课程的传统教学模式亟待改革,需要采用更适合本课程特点的教学演示和实验平台。
3.matlab编程环境和语言
matlab〔matrix laboratory,矩阵实验室〕主要包括matlab和simulink两大局部,其将数值分析、矩阵计算、科学数据可视化等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了全面的解决方案,在很大程度上摆脱了传统非交互式程序设计语言〔如c、fortran〕的编辑模式。
matlab的根本数据单位是矩阵,其指令表达式与数学和工程的常用形式很相似,故用matlab解算问题比用c,fortran等语言简捷得多,且其开发公司——mathworks在新版本中也参加了对c、fortran、c++和java的支持,可直接相互调用。
使用matlab进行编程、调试具有以下优势:
① 工作平台和编程环境友好:matlab由一系列工具组成。这些工具方便用户使用matlab的函数和文件,且大多采用图形用户界面,人机交互性强,操作简单。matlab编程环境提供了较完备的调试系统,程序不必经编译即可直接运行,且能及时报告出现的错误及进行原因分析。
② 程序语言简单易用:matlab是高级矩阵/阵列语言,包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可在命令窗口中将输入语句与执行命令同步,也可先编写好一个较大的复杂应用程序后再一起运行。新版matlab语言基于c++语言根底,其语法特征与c++相似,但更简单更符合科技人员对数学表达式的书写格式,且可移植性更好。
③ 科学计算数据处理能力强大:matlab是一个包含大量计算算法的集合。其拥有600多个工程数学运算函数,可实现用户所需的各种计算功能。函数中使用的算法均为科研和工程计算的最新研究成果,且经过了优化和容错处理。
④ 图形处理功能出色:matlab具有方便的数据可视化功能,可将向量和矩阵用二维和三维图形表现出来,且其不仅具有二维曲线和三维曲面等的绘制和处理功能,还对于如图形光照处理、色度处理及四维数据的表现等同样出色。
⑤ 模块集合工具箱广泛:matlab对许多专门领域由特定领域的专家开发了功能强大的模块集和工具箱,用户可直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。
⑥ 程序接口和发布平台实用: matlab程序可自动转换为独立于开发环境的c/c++代码,且允许编写可和matlab进行交互的c/c++程序。
4. matlab平台在信息隐藏课程教学中的应用
由于授课课时的限制,目前信息隐藏大多采用数字图像为载体进行讲授。而数字图像的实质即为数值矩阵,在数字图像中隐藏信息也即对这些特定的数值矩阵的空域和各种变换域〔如dct域或dwt域等〕进行处理。matlab本身即为一种高级矩阵/阵列语言,可直接使用以矩阵为根本运算单元的matlab编程环境和语言对数字图像的信息隐藏进行编程实现和调试,这样就具有比其它程序语言其他基于标量的编译性语言如c、fortran等更为方便和易于实现的优点,非常适合利用其对信息隐藏课程进行讲授和实验。由于matlab编程特点接近于人的思维方式,编程过程犹如在纸上列公式求解,大大降低了编程门槛,使得信息隐藏的学习者可以将主要精力放在算法和问题本身上,而不是消耗在程序的编写和调试上,因此选择matlab作为工具平台,辅助该课程的教学和实验对教与学得效率有较大的提高。下面信息隐藏的几个典型教学实验为例进行说明。
4.1 lsb嵌入实验
在数字图像载体的信息隐藏中lsb〔least significant bits,最低有效位〕类算法是出现得最早且应用最为广泛一种算法。因此根本lsb隐藏算法是信息隐藏课程的最根本实验之一。
根本lsb嵌入算法的原理是:将载体嵌入域的最低位平面替换为隐秘信息比特流,学生实验中通常采取将自然图像空域像素的lsb位替换为需嵌入的隐秘信息。而lsb隐写的提取算法那么是嵌入算法的逆操作,即接收者根据密钥在载密图像中直接提取载密域最低比特位平面中的隐秘比特流,并解密得到隐秘信息。
根本lsb实验主要是嵌入算法实验,假设使用c/c++等语言进行实验,由于对载体的读取、写入等程序的编写和调试将占用大量的时间,使得学生对本实验中真正需关注的原理和步骤反而没有时间去完成和理解。而由于matlab平台本身具有各种类型图像载体的根本处理工具包函数,因此对该实验的程序编写非常简单,如下:
其主函数为
clear
a=imread(‘lena.bmp’,’bmp’); [m,n]=size(a);
secret=randint(1,262140,2,123); a_lsb=lsb_stand(a,secret);
imwrite(uint8(a_lsb),’lena_lsb.bmp’,’bmp’);
而lsb嵌入函数为
f