一、Matlab简介

Matlab是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国MathWorks公司出品的商业数学软件,它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,可以进行矩阵运算、图形处理、实现算法、创建用户界面、连接其他编程语言的程序等,有多样化的各种工具箱可供应用。主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。Matlab与其他高级语言有良好的接口,如C、C++、Java等。

二、Matlab在信息加密技术方面的应用

随着计算机网络的发展,计算机应用更加广泛与深入,同时也使得计算机的安全问题日益突出和复杂。网络安全面临诸多威胁,如计算机病毒、黑客入侵、机密文件泄露等等。然而如何确保数据的可靠性、真实性、保密性,这个问题越来越受到人们的关注。密码技术作为保护信息安全的主要手段之一,使用密码技术不仅可以保证信息的机密性,而且可以保证信息的完整性和确证性,防止信息被篡改、伪造和假冒。同时,密码技术是其他安全技术的基础,比如数字签名和密钥管理。随着科学技术的进步,信息加密出现了数字水印、指纹识别、人面识别等技术。Matlab软件强大的科学运算、图形处理和仿真等功能在信息加密技术方面有着广泛的应用。

1.Matlab在密码技术的应用

保密通讯无论在军事、政治、经济还是日常生活中都起着非常重要的作用。信息加密和解密的作用,就是为了将信息传递给己方的接受者,同时又要防止他人(特别是敌人)知道信息的内容,必须将要传递的信息(明文)加密,变成密文后发送出去,这样,即使敌方得到密文也看不懂,而己方的接受者收到密文后却可以按照预先定好的方法加以解密。从密码学的发展来看,密码可分为古典密码(即以字符为基本加密单元的密码),以及现代密码(即以信息块为基本加密单元的密码)。古典密码学在计算机出现以前已得到广泛应用,主要是指20世纪40年代之前的密码编码和密码分析技术,加密解密过程基本是用机械和电子方法实现的,而不是通过软件实现的,工作速度很慢,设备非常笨重。根据算法的不同,古典密码主要有棋盘密码、凯撒密码、维吉尼亚密码、普莱费尔密码、HILL密码等。

矩阵是一种方便的计算工具,它在密码学中得到广泛的应用。HILL2密码是矩阵在密码学的一个有趣应用,HILL2密码是基于矩阵的运算和可逆矩阵,明文被分成大小相同的几个组,密钥是一个可逆方阵。我们可通过Matlab对HILL2密码的加密和解密算法运算实例,了解Matlab软件的使用。在编程过程中使用Matlab的矩阵运算函数:mod(求余)、reshape(将矩阵元素按列方向进行重组)等。

(1)明文加密:

一般的加密过程是这样的:

明文——加密器——密文——普通信道——解密器 ——明文。

根据HILL2密码算法的原理,我们设模 26 意义下,密钥(加密)为矩阵A = ,密钥(解密)为矩阵A = 时,基于Matlab的加密程序操作如图所示:

Figure 1加密过程代码

在Matlab运行时,当输入明文为:杨斯楠(YANGSINAN)时(明文最后N是因为字符串的长度不是偶数时的处理方法),得到的密文是:ACBUKAPCPP。

运行过程如图所示:

Figure 2加密运行过程

(2)密文解密

解密就是加密的逆过程。基于Matlab的解密程序操作如图所示:

Figure 3解密过程代码

在Matlab运行时,当输入密文为:ACBUKAPCPP时,得到的明文是: YANGSINANN。

运行过程如图所示:

Figure 4解密运行过程

2.Matlab在指纹识别系统的应用

在一个安保系统或涉密信息系统中,当需要对进入者进行身份信息鉴别时,比使用密码更安全有效的是使用生物特征识别系统,如指纹识别系统等。指纹识别技术的优势在于,不同人的指纹,即使同一个人不同手指的指纹,纹线走向及纹线的断点和交叉点等各不相同,也就是说,每个指纹都是唯一的。另外,指纹不随年龄的增长而发生变化,是终生不变的。依靠这种唯一性和稳定性,可以把一个人同他的指纹对应起来,通过对他的指纹和预先保存的指纹进行比较,就能验证他的真实身份。

指纹自动识别系统AFIS(Automated Fingerprint Identification System)是一种通过计算机实现的身份识别手段。该系统主要包括几个流程:指纹取像,图像预处理,特征提取(数据库管理),指纹识别。①指纹取像,即指将一个人的指纹采集下来输入计算机,指纹图像的获取主要利用设备取像,方便实用。②图像的预处理和特征提取,无论采取哪种方法提取指纹,总会给指纹图像带来各种噪声,图像预处理的目的就是去除图像中的噪音,把它变成一幅清晰的点线图,以便于提取正确的指纹特征。预处理过程,就是将原始指纹图像经过离散化和归一化等过程,得到待识别的指纹图像数据。③指纹识别,即直接把预处理后的指纹图像数据进行识别匹配,一般只需计算两幅图像数据的相关性,得到相关系数,设定某一阈值来决定是否匹配。

指纹图像的预处理和指纹识别可以通过Matlab来进行处理和运算。实现指纹图像的识别,常用的算法有:基于神经网络指纹识别算法、滤波特征和不变矩指纹识别算法和指纹匹配算法。Matlab环境下实现的指纹自动识别系统,具有简单灵活,易于改进等优点。

3.Matlab在涉密信息系统中应用

虽然Matlab有强大的矩阵运算及图形显示能力,但由于其是一种解释性语言,执行效率比较低,不适用于通用的编程平台。而其他的面向对象的程序语言,如JAVA、C++等,则被广泛应用于开发各种应用软件,但是,它们对于某些较复杂的数学运算的编程比较烦琐,处理速度也较慢。因此,我们可以在这些语言的编程环境下,调用Matlab来处理一些比较复杂的数学运算(如加密算法),充分发挥Matlab强大的数学运算能力和仿真功能,实现混合编程,弥补单独编程的缺点,提高其编程效率和加快处理速度。现在Matlab的Matlab Engine函数具有提供面向C、C++和JAVA等语言的接口函数,用户可以通过在其编程环境中调用接口函数,实现对Matlab的控制。

涉密信息系统用来处理和传输国家秘密信息,如果安全保密防范不力,就会危及国家的安全和利益。因此,安全防护技术是涉密信息系统安全管理的主要问题。加密保护是保障信息安全的重要手段之一,通常的加密技术是用复杂的数学算法来改变原始信息,这种技术虽然安全性较高,但还是存在被破译的可能性。而量子密码是一种截然不同的加密方法,主要利用量子状态作为信息加密和解密的密钥。任何想测算和破译密钥的人都会因为改变量子状态而得到无意义的信息。从理论上来说,用量子密码加密的信息不可能被窃听,安全程度极高。对于涉密信息系统,为确保信息的安全,应采用量子密码来加密。在RR量子密钥分配协议中,通信双方执行样条纠错算法(Slice算法)将连续变量的密钥转换成离散的二进制密钥,而这个Slice算法是用Matlab语言编写的。因此,在涉密信息系统的编程环境中,采用混合编程,通过Matlab的接口函数,调用由Matlab编写的Slice算法,实现量子密码加密。

三、结束语

信息加密技术在我们的生活中起着越来越重要的作用,为信息安全提供了可靠的保障。Matlab集数值计算、矩阵运算、信号处理和图形显示于一体。由于其强大的科学计算、数字图像处理能力以及丰富的库函数和各种各样的工具箱,在信息安全保密方面有着广泛的应用前景。我虽然刚刚接触Matlab,已深深地被它所吸引,我将要认真学习,掌握这个工具,并在今后的专业学习和实践中予以运用。

Matlab信息加密解密系统相关推荐

  1. 基于MATLAB的OFDM系统实现

    基于MATLAB的OFDM系统实现 OFDM(正交频分复用)的基本原理是将高速的数据流通过串并转换分解成若干低速的数据流,利用多个正交的子载波并行传输.本文借鉴了IEEE802.11a标准并进行简化, ...

  2. 传输预编码matlab,基于MATLAB的MIMO系统预编码性能仿真教程.doc

    基于MATLAB的MIMO系统预编码性能仿真教程 PAGE \* MERGEFORMAT - 33 - 摘要在现今的移动通信系统中,被极多的国际通信标准采纳为基础性关键技术的一种方法是多输入多输出的技 ...

  3. 【揭秘】网易云视频点播加解密系统架构

    毕伟 宁波大学硕士,2015年3月加入网易,负责网易云视频服务Android,ios,windows端播放器和音视频技术的相关开发,兴趣领域在视频编解码和图像处理. 随着经济及互联网的快速发展,版权越 ...

  4. 信号与系统matlab课设报告,MATLAB信号与系统实验报告

    <MATLAB信号与系统实验报告>由会员分享,可在线阅读,更多相关<MATLAB信号与系统实验报告(9页珍藏版)>请在装配图网上搜索. 1.信号与系统实验报告(5)MATLAB ...

  5. matlab多变量频域设计工具箱,10.4.3用MATLAB实现连续系统的频域分析.ppt

    10.4.3用MATLAB实现连续系统的频域分析.ppt 第10章 MATLAB在信号与系统分析中的应用 10.0 引 言 一般来说,MATLAB系统包括下面五个主要部分. (1)编程语言:是一种以矩 ...

  6. 微擎在线goto解密系统

    介绍: 微擎在线goto解密系统 直接上传到根目录,把需要解密的goto文件放到decodeFile目录下,访问域名即可解密. 5438独家升级 网盘下载地址: http://kekewangLuo. ...

  7. matlab实验与系统信号实验二,信号与系统上机实验-matlab(第一第二次实验课)new

    <信号与系统上机实验-matlab(第一第二次实验课)new>由会员分享,可在线阅读,更多相关<信号与系统上机实验-matlab(第一第二次实验课)new(13页珍藏版)>请在 ...

  8. matlab频分复用,基于MATLAB的频分复用系统的仿真_.doc

    基于MATLAB的频分复用系统的仿真_ 基于MATLAB的频分复用系统的仿真_毕业论文(设计) Abstract With the development of communication techn ...

  9. 【音乐检索】基于matlab音乐检索系统【含Matlab源码 435期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[音乐检索]基于matlab音乐检索系统[含Matlab源码 435期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专栏 ...

  10. 简单文件加密解密系统(c++)

    简单文件加密解密系统(c++) 一.原理 二.实现思路 三.c++代码 四.运行结果 一.原理   为了实现加解密,首先需要一个码本文件.一个基本的码本文件包含26个字母,即a~z打乱顺序的结果,比如 ...

最新文章

  1. tomcat 默认150连接数怎么支持几万大并发的?集群?
  2. java 开发详解_面向接口编程详解-Java篇
  3. c++工作笔记001---c++相关零碎要点_endl、“\n”和‘\n’区别_extern int a关键字_-的意思_::的意思_指针和引用的区别
  4. Bengio最新博文:深度学习展望
  5. BackTrack4——利用***测试保证系统安全
  6. FileZilla传输文件乱码的解决方案
  7. 解决Invalid bound statement (not found): com.hengjun.mapper.UserMapper.selectByExample,
  8. 金融行业相关指标整理(超全面,欢迎交流~)
  9. 《深入理解计算机系统》学习笔记——处理器体系结构
  10. 【微信支付】Java实现微信APP支付流程
  11. baidu文库爪巴虫——xls
  12. 操作系统——Liunx系统基础知识
  13. 谷歌SEO-外链策略
  14. 刘振飞:互联网项目研发管理心得
  15. world2007文档结构图字体大小调整
  16. java eventusermodel_异常读取XLSB文件Apache POI java.io.CharConversionException
  17. 谷歌浏览器的防火墙怎么关闭?
  18. 医院医疗抛弃品也需要施行RFID资产管理系统,以免管理不当带来危险-新导智能
  19. 使用EasyPoi实现文件批量下载,导出与压缩
  20. 微软行星云计算Microsoft Planetary Computer 账号内测申请开通和如何根据自己的需求配置电脑环境(R/python/GIS等)

热门文章

  1. jvisualvm监控远程服务器,Jvisualvm监控远程tomcat
  2. Win10重装系统后进行初始化
  3. java学习心得与体会(自我鼓励)
  4. 安装rational rose软件详细教程(不用注册账号)
  5. AMTEmu v0.9.2
  6. ip-guard网页浏览放开微信二维码和QQ截图
  7. nachos中文教程java_Nachos实验环境搭建
  8. 算法导论第三版 第30章习题答案
  9. jenkins教程菜鸟_Jenkins教程:修改Jenkins端口号
  10. java坦克大战图片素材包,坦克大战素材包