现代密码学加密系统设计课程设计1 精品

合集下载

设计电子密码锁的课程设计

设计电子密码锁的课程设计

设计电子密码锁的课程设计一、课程目标知识目标:1. 学生能理解电子密码锁的基本原理,掌握其组成结构和功能。

2. 学生能掌握电子密码锁设计中涉及的电子元件,如微控制器、键盘、显示模块等。

3. 学生了解并掌握电子密码锁编程的基本知识,包括编程语言和编程思想。

技能目标:1. 学生能运用所学知识设计并制作一个简易的电子密码锁。

2. 学生通过实际操作,培养动手能力、团队协作能力和问题解决能力。

3. 学生能够运用信息技术工具进行资料查询、数据分析,提高信息处理能力。

情感态度价值观目标:1. 学生培养对电子科技的兴趣,激发创新精神和实践能力。

2. 学生通过课程学习,认识到科技对生活的影响,增强社会责任感和时代使命感。

3. 学生在团队协作中,学会尊重他人、沟通表达,培养积极向上的团队精神。

课程性质:本课程为实践性较强的课程,结合电子技术、编程知识和实际操作,旨在培养学生的动手能力、创新能力和团队协作能力。

学生特点:六年级学生具有一定的电子元件知识和编程基础,好奇心强,喜欢动手操作,善于合作。

教学要求:教师应注重理论与实践相结合,引导学生主动探究,关注学生的个体差异,鼓励学生创新思维和解决问题的能力。

在教学过程中,注重学习成果的分解和评估,确保课程目标的实现。

二、教学内容1. 电子密码锁原理及结构- 介绍电子密码锁的基本原理,包括密码输入、处理和验证过程。

- 分析电子密码锁的组成结构,如微控制器、键盘、显示模块、驱动电路等。

2. 电子元件及编程知识- 学习电子密码锁中常用的电子元件,如电阻、电容、二极管、三极管等。

- 掌握电子密码锁编程的基本知识,包括C语言基础、编程思想等。

3. 实践操作- 制定实践操作大纲,明确实践步骤、所需材料和时间安排。

- 分组进行实践操作,每组设计并制作一个简易的电子密码锁。

教学内容安排与进度:第一课时:电子密码锁原理及结构介绍第二课时:电子元件学习及编程知识讲解第三课时:实践操作指导,分组讨论与设计第四课时:实践操作,制作简易电子密码锁第五课时:成果展示、评价与总结教材章节关联:本教学内容与教材中“电子技术应用”、“编程基础”和“综合实践活动”等章节相关联。

加密课程设计详细

加密课程设计详细

加密课程设计详细一、教学目标本课程的教学目标是使学生掌握加密的基本概念、原理和方法,包括对称加密、非对称加密、哈希函数等,能够运用加密技术解决实际问题。

1.掌握加密的基本概念和分类;2.了解对称加密、非对称加密和哈希函数的原理和应用;3.掌握加密算法的实现和应用场景。

4.能够使用常见的加密算法进行加密和解密;5.能够分析加密算法的优缺点和安全性;6.能够运用加密技术解决实际问题,如数据保护、通信安全等。

情感态度价值观目标:1.培养学生的信息安全意识,认识到加密技术在保护数据安全中的重要性;2.培养学生对加密技术的兴趣和好奇心,激发学生的学习动力;3.培养学生的团队合作精神,通过小组讨论和实验操作,提高学生的合作能力。

二、教学内容本课程的教学内容主要包括对称加密、非对称加密和哈希函数三个方面。

1.对称加密:介绍对称加密的基本概念和原理,包括DES、AES等加密算法,通过实例讲解其应用场景和实现方法。

2.非对称加密:介绍非对称加密的基本概念和原理,包括RSA、ECC等加密算法,通过实例讲解其应用场景和实现方法。

3.哈希函数:介绍哈希函数的基本概念和原理,包括MD5、SHA等哈希算法,通过实例讲解其应用场景和实现方法。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式。

1.讲授法:通过教师的讲解,使学生掌握加密的基本概念和原理;2.讨论法:通过小组讨论,引导学生深入理解加密技术的应用和优缺点;3.案例分析法:通过分析实际案例,使学生能够将加密技术应用于解决实际问题;4.实验法:通过实验操作,使学生亲手实践加密算法的实现和应用。

四、教学资源为了支持教学内容和教学方法的实施,本课程将利用多种教学资源。

1.教材:选用权威的加密教材,为学生提供系统的知识体系;2.参考书:提供相关的参考书籍,为学生提供更多的学习资源;3.多媒体资料:利用多媒体课件、视频等资料,丰富学生的学习体验;4.实验设备:提供计算机、网络设备等实验设备,为学生提供实践操作的机会。

密码学课程设计报告01 人人文库

密码学课程设计报告01 人人文库

密码学课程设计报告01 人人文库一、引言密码学是一门研究如何保护信息的学科,主要包括加密、解密和信息鉴别等方面。

随着互联网的快速发展以及网络安全问题的日益突出,密码学的重要性也日益凸显。

本次课程设计旨在学习密码学的基本理论和常用算法,以及设计一个简单的密码学系统进行实践。

二、理论基础1.加密与解密加密是将明文通过密码算法转换成密文,解密则是将密文通过相同的密码算法还原成明文。

常见的加密算法有对称密钥算法和非对称密钥算法。

对称密钥算法使用相同的密钥进行加密和解密。

常见的对称密钥算法有DES、AES等。

对称密钥算法具有加密速度快的优点,但是密钥的分发和管理比较困难。

非对称密钥算法则使用不同的密钥进行加密和解密。

常见的非对称密钥算法有RSA、DSA等。

非对称密钥算法具有安全性高的优点,但是加密速度较慢。

2.密钥管理密钥管理是密码学中非常重要的一环。

密钥的选择、生成、分发和存储等都对密码算法的安全性产生重要影响。

一般来说,密钥越长越难破解,但是加密和解密的时间也会更长。

三、设计实现本次课程设计选择使用对称密钥算法AES进行实现。

设计一个简单的密码学系统,包括密钥的生成、加密和解密等功能。

1.密钥的生成首先,选择合适的密钥长度。

一般来说,128位的密钥已经足够安全。

然后,使用随机数生成算法生成一个随机的密钥。

2.加密加密过程中,将明文通过AES算法转换成密文。

AES算法是一种分组密码算法,将明文分成多个长度相同的块,然后对每个块进行加密。

加密过程中使用的密钥与解密时使用的密钥应保持一致。

3.解密解密过程中,将密文通过AES算法转换成明文。

解密的步骤与加密的步骤相反。

使用相同的密钥对密文进行解密,得到原始的明文。

四、实验结果与对比使用实验中设计的密码学系统,选择一个明文进行加密和解密,得到相应的密文和明文。

通过比对原始明文与解密结果,验证系统的正确性。

在对称密钥算法AES中,选择不同的密钥长度,比较不同密钥长度对加密速度和安全性的影响。

数字系统课程设计密码锁

数字系统课程设计密码锁

数字系统课程设计密码锁一、教学目标本课程旨在通过数字系统课程设计密码锁的学习,让学生掌握数字系统的基本概念,了解密码锁的工作原理和设计方法。

在知识目标方面,学生应了解数字系统的组成、工作原理以及各种编码方式。

在技能目标方面,学生应掌握数字电路的设计方法,能够独立完成密码锁的设计与实现。

在情感态度价值观目标方面,学生应培养对数字技术的兴趣和好奇心,增强创新意识和团队协作能力。

二、教学内容本课程的教学内容主要包括数字系统的基本概念、密码锁的工作原理、数字电路的设计方法等。

具体包括以下几个方面:1.数字系统的基本概念:数字系统的组成、工作原理、数字逻辑电路的分类及其特点。

2.密码锁的工作原理:密码锁的分类、工作原理及其安全性分析。

3.数字电路的设计方法:组合逻辑电路、时序逻辑电路的设计方法及其应用。

4.编码方式:二进制编码、格雷码、BCD码等编码方式的特点及应用。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。

1.讲授法:通过讲解数字系统的基本概念、密码锁的工作原理等理论知识,使学生掌握相关概念和原理。

2.讨论法:学生针对数字电路设计方法、密码锁安全性等问题进行讨论,培养学生的思考能力和团队协作精神。

3.案例分析法:通过分析实际案例,使学生了解数字电路在实际应用中的工作原理和设计方法。

4.实验法:安排学生进行数字电路的设计与实现,提高学生的动手能力和实际操作技能。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用国内权威出版的数字系统及相关课程教材,为学生提供系统的理论知识。

2.参考书:推荐学生阅读相关领域的经典著作,拓宽知识面。

3.多媒体资料:制作课件、教学视频等,以图文并茂的形式展示教学内容,提高学生的学习兴趣。

4.实验设备:准备数字电路实验箱、编程器等实验设备,为学生提供实践操作的机会。

现代密码学课程设计。。。。

现代密码学课程设计。。。。

现代密码学课程(设计)题目:现代密码学课程设计姓名:学号:192102-16院(系):计算机学院专业:信息安全指导教师:职称:副教授评阅人:职称:2012 年12 月学校代码:本科生学号:2 中现代密码学课程设计现代密码学课程设计本学科专业:信息安全二〇一二年十二月第一章、引言 (5)第二章、经典密码加密系统 (6)2.1仿射加密 (6)2.2Playfair加密 (7)2.3Vigenere加密 (9)2.4Hill密码 (11)第三章、ElGamal 加密和签名 (12)3.1算法资料 (12)3.2程序与算法 (13)3.3运行结果 (14)第四章、Rabin加密和签名 (14)4.1算法资料 (14)4.2程序与算法 (15)4.3运行结果 (15)第五章、RSA加密与解密 (16)5.1算法资料 (17)5.2程序与算法 (18)5.3运行结果第六章、结束语 (20)引言本文详细叙述了古典密码包括仿射密码、Hill密码、Vigenere密码、Playfaire密码,以及基于公钥密码的加密和签名体制的内在结构并予以程序实现。

实验一经典密码加密系统2.1 仿射密码2.1.1算法资料加法密码和乘法密码结合就构成仿射密码,仿射密码的加密和解密算法是:C= Ek(m)=(k1m+k2) mod nM= Dk(c)=k3(c- k2) mod n(其中(k3 ×k1)mod26 = 1)仿射密码具有可逆性的条件是gcd(k1, n)=1。

当k1=1时,仿射密码变为加法密码,当k2=0时,仿射密码变为乘法密码。

仿射密码中的密钥空间的大小为nφ(n),当n为26字母,φ(n)=12,因此仿射密码的密钥空间为12×26 = 312。

2.1.2 程序与算法//加密int jiami(int k1,int k2,int m,int g){int f=k1*g+k2;f=f%m;return f;}//解密int jiemi(int k1,int k2,int m,int n){int f=niyuan(m,k1)*(n-k2);f=f%m;return f;}2.1.3 运行结果2.2 Playfair2.2.1 算法资料Playfai算法r根据下列规则一次对明文的两个字母进行加密。

信息加密系统课程设计

信息加密系统课程设计

信息加密系统课程设计一、教学目标本节课的教学目标是让学生了解信息加密系统的基本概念、原理和应用,掌握对称加密、非对称加密和哈希算法等基本加密技术,能够根据实际需求选择合适的加密算法和加密方式,提高信息安全的意识和能力。

具体来说,知识目标包括:1.理解信息加密系统的概念、作用和重要性。

2.掌握对称加密、非对称加密和哈希算法的基本原理和特点。

3.了解加密技术在实际应用中的具体案例。

技能目标包括:1.能够使用对称加密和非对称加密对数据进行加密和解密。

2.能够运用哈希算法对数据进行摘要和验证。

3.能够根据实际需求选择合适的加密算法和加密方式。

情感态度价值观目标包括:1.增强信息安全意识,认识到信息加密在保障信息安全中的重要作用。

2.培养学生的团队合作精神和自主学习能力。

3.激发学生对信息技术和信息安全领域的兴趣和热情。

二、教学内容本节课的教学内容主要包括信息加密系统的基本概念、原理和应用,以及对称加密、非对称加密和哈希算法等基本加密技术。

1.信息加密系统的基本概念:介绍信息加密系统的定义、作用和重要性,以及加密技术和解密技术的分类。

2.对称加密:介绍对称加密的基本原理、特点和常用算法,如DES、AES等,并通过实例演示对称加密的加密和解密过程。

3.非对称加密:介绍非对称加密的基本原理、特点和常用算法,如RSA、ECC等,并通过实例演示非对称加密的加密和解密过程。

4.哈希算法:介绍哈希算法的基本原理、特点和常用算法,如MD5、SHA-1等,并通过实例演示哈希算法的数据摘要和验证过程。

5.加密技术在实际应用中的案例分析:分析加密技术在网络通信、数据存储、电子商务等领域的具体应用案例,让学生了解加密技术在实际生活中的重要作用。

三、教学方法为了提高学生的学习兴趣和主动性,本节课将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

1.讲授法:通过讲解信息加密系统的基本概念、原理和应用,以及对称加密、非对称加密和哈希算法的基本原理和特点,让学生掌握加密技术的基本知识。

加密的课程设计

加密的课程设计

加密的课程设计一、教学目标本课程旨在让学生了解和掌握加密的基本概念、原理和技术,提高他们在信息安全和网络安全方面的意识。

通过本课程的学习,学生应达到以下目标:1.知识目标:a.理解加密的基本概念,包括加密的定义、分类和应用场景。

b.掌握常见的加密算法,如对称加密、非对称加密和哈希算法。

c.了解加密技术在信息安全中的应用,如数据保护、身份验证和数字签名等。

2.技能目标:a.能够使用常见的加密工具和软件进行加密和解密操作。

b.能够设计和实现简单的加密算法。

c.能够分析加密技术的优缺点,并根据实际需求选择合适的加密方案。

3.情感态度价值观目标:a.增强学生对信息安全重要性的认识,提高他们对加密技术的兴趣和好奇心。

b.培养学生的创新精神和团队合作能力,使他们能够积极参与加密技术的研究和应用。

c.教育学生遵守加密技术的法律法规,明确加密技术在保护个人隐私和国家安全中的作用和责任。

二、教学内容本课程的教学内容主要包括以下几个方面:1.加密的基本概念:介绍加密的定义、分类和应用场景,使学生了解加密技术的基本概念。

2.常见加密算法:讲解对称加密、非对称加密和哈希算法等常见的加密算法,使学生掌握其原理和应用。

3.加密技术在信息安全中的应用:介绍加密技术在数据保护、身份验证和数字签名等方面的应用,使学生了解加密技术的重要性。

4.加密工具和软件的使用:讲解如何使用常见的加密工具和软件进行加密和解密操作,培养学生的实际操作能力。

5.加密算法的设计与实现:引导学生设计和实现简单的加密算法,培养学生的编程能力和创新精神。

6.加密技术的优缺点分析:使学生能够分析加密技术的优缺点,并根据实际需求选择合适的加密方案。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。

1.讲授法:通过讲解加密的基本概念、原理和技术,使学生掌握加密技术的基本知识。

2.讨论法:学生进行小组讨论,分享他们对加密技术的理解和观点,培养学生的团队合作能力。

现代密码学基础第一版课程设计

现代密码学基础第一版课程设计

现代密码学基础第一版课程设计1. 课程概述本课程主要讲解现代密码学的基础知识,包括对称加密、非对称加密、哈希算法、数字签名等内容。

通过本课程的学习,学生可以掌握现代密码学的基本原理、算法和应用,为后续学习和研究打下坚实的基础。

本课程适合计算机科学、信息安全、网络安全等专业的本科生和研究生。

2. 教学目标•了解现代密码学的基本概念和理论;•理解对称加密和非对称加密的区别与应用;•掌握常用的加密算法、哈希算法和数字签名算法;•能够分析、设计和实现基本的密码安全应用。

3. 教学内容3.1 现代密码学基础•密码学概述•密码学的应用和分类•密钥分类和密钥分发3.2 对称加密•对称加密算法概述•分组密码与流密码•常用的分组加密算法:DES, AES, IDEA•数据加密标准以及其应用3.3 非对称加密•非对称加密算法概述•RSA 加密算法•椭圆曲线加密算法3.4 哈希算法•哈希算法概述•常用的哈希算法:MD5, SHA-1, SHA-2, SHA-33.5 数字签名•数字签名概述•常用的数字签名算法:RSA, DSA, ECDSA3.6 密码的应用•安全通信协议:SSL/TLS•数字证书及其应用•密码攻击和密码分析4. 教学方法本课程采用教师讲授+在线交互的教学模式,具体包括以下内容:•讲授理论知识并举例说明概念和原理;•利用在线平台开展实验和练习,帮助学生巩固知识点;•设计和布置实际项目,以帮助学生实践和加深理解;•引导学生研读相关文献,开展小组研究和讨论。

5. 评分标准本课程包括在线作业、实验报告、项目评估和期末考试等评估方式。

具体评分标准如下:•在线作业:占总评成绩20%,根据完成度进行评分;•实验报告:占总评成绩30%,根据实验完成度和报告质量进行评分;•项目评估:占总评成绩30%,根据项目需求、代码质量、效果展示等方面进行评分;•期末考试:占总评成绩20%。

6. 参考资料•李鹏. 现代密码学基础[M]. 机械工业出版社, 2013.•范明. 神秘的密码[M]. 科学出版社, 2014.•周康. 计算机网络安全——一种基于密码学的解决方案[M]. 人民邮电出版社, 2011.•高文. 计算机网络安全技术的原理与实践[M]. 清华大学出版社, 2010.7. 总结本课程旨在帮助学生掌握现代密码学的基础知识和应用技能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

现代密码学课程作业题目现在密码学文件加密姓名学号指导老师指导教师职称年级专业班级所在学院目录摘要 (3)前言 (4)1基础介绍 (5)1.1背景介绍 (5)1.2需求分析 (5)1.3意义 (6)1.4文献综述 (6)2实现步骤 (7)2.1基本实现技术 (7)2.2操作步骤 (7)3应用基本功能测试 (19)3.1单表加密测试。

(19)3.2单表解密测试 (19)3.3多表加密测试 (20)3.4多表解密测试 (21)3.5文件生成模块测试 (21)4总结 (22)摘要本实验设计是在matla软件的GUI程序平台下设计的一个关于文件加密解密的小的应用,文章根据实验项目的完成过程比较详细的介绍了项目的设计思想,设计方法和完成步骤,并给出了遇到的问题的解决方法,最后给出了应用的测试情况。

关键词:GUI程序设计,单表加密(解密),多表加密(解密)前言本文较为详细的介绍了GUI多表单表加密应用的开发过程,全文分为三章。

第一章主要介绍GUI多表单表加密应用的相关知识,以及它所要实现的基本功能。

并做了简要的需求分析,确定了该程序应实现了一些基本功能。

另外还简要的说明了查阅的相关资料。

第二章主要介绍了开发的具体过程,以程序的具体开发步骤为主线介绍了相关的操作和具体函数的书写。

第三章主要是对程序的设计进行总结。

1基础介绍1.1背景介绍在现代密码学的学习过程中我们接触了许多实际的问题,主要学习了在密码学的发展简史,古典密码学,分组密码,公钥密码,序列密码,数字签名以及密码协议。

本设计是针对学习过的现代密码学中的古典密码学的理论来实现该课程中的一些相关的加密应用。

在本文中我们对古典密码学中的两个基本的加密方法——单表加密解密和多表加密解密进行GUI 平台下的应用编程,实现相关的功能,以达到基本应用的目的。

1.2需求分析在GUI单表多表加解密的应用中,给出如下的具体应用要求:实现对简单字符的单表多表加密解密;实现对文件的单表多表加密解密;能够在应用中自主创建加密或者是解密文件;对文件的加密和解密过程实施监测,让使用者能够了解加密和解密的进程;提供基本的应用使用帮助手册,给初次使用应用者提供参考。

1.3功能模块图加密系统图1.系统功能模块图1.4意义简单应用程序的设计与开发,是信息与计算科学专业学生必须掌握的一项技术。

了解基本应用的各个模块之间的关系和功能,通过编程实现具体的应用是本专业学生的基本素质。

通过具体的小的项目的实现,了解各功能模块的设计与实现方法,以及各功能模块之间的相互联接方法,对于今后从事软件设计与开发,有重要的指导作用。

1.5文献综述文献【1】《现代密码学》陈鲁生沈世镒北京:科学出版社文献【2】《matlab与数学实验》江世宏武汉工程大学文献【3】网络文献此处不予列出2实现步骤2.1基本实现技术在matlab的gui编程中有两种方式来进行程序设计:①直接用M文件来编写;②通过gui向导来进行编写。

方式①的好处在于可以以最大的灵活度来实现应用的设计和编写,但是缺点就在于必须对于各种控件的属性有比较好的了解。

方式②的优点在于编写者能够将更多的精力集中于程序控件的响应函数的编写,而不是将更多的精力放在实现的界面的美化和排版之上,缺点在于响应函数的控制范围没有前一种方式来的灵活。

在本应用中主要是用gui的向导编程来实现应用的绝大部分功能,在应用的帮助手册的编辑界面实现方式上则主要是采用方式①来实现。

2.2操作步骤2.2.1 首先打开gui编程向导的界面,建立空白的gui界面对话框,gui 向导界面如下:图2.空白gui界面建立图2.2.2 建立空白的gui界面对话框之后,在该空白界面上添加一系列的程序控件,程序控件的添加主要分为5个大的模块:[1]加密模块控件;[2]解密模块控件;[3]自主生成文件模块;[4]加密形式模块;[5]明文密文显示框。

各项控件添加完毕之后的效果截图如下:图3.系统界面控件添加效果图2.2.3 对空白的对话框界面进行基本菜单的添加。

在gui的向导编程中如果选择空白的对话框来建立应用程序的基本框架时,在对话框中是没有给出基本菜单栏的,这里对本应用中添加的菜单栏进行简要的说明。

在控件添加界面的工具栏中有标注为Menu Edito的工具(截图如下红圈内)图4.界面编辑工具栏(红色标记为gui菜单编辑按钮)点击此按钮出现对基本菜单栏的编辑对话框(截图如下):图5.菜单编辑对话框上图左侧的红圈表示一级菜单,蓝圈表示二级菜单,右侧的五角星标注为为各级菜单的命名区,红色圈表示其快捷键设置,蓝圈内的View键是用于设置菜单的响应函数的按钮,红色斜线部分标注的为菜单栏的其他属性设置界面的开启按钮。

2.2.4 代码编写,代码的编写主要分为单表加密代码,多表加密代码,单表解密代码和多表解密代码,以上是解密加密的代码概述。

另外还包括加解密文件生成代码,以及一些其他的辅助按键的响应代码。

这里就单表加密代码和解密代码做简单的说明:单表的主要做法师对英文的二十六个字母和一些常用的标点符号进行编码,然后根据编码通过模运算来对明文实现移位,这里假设m 为明文的编码,n 为密文的编码,密钥的编码为k ,加密的模运算公式就为S k m n mod )(+=,其中S 表示所有明文空间的长度,这样就顺利的实现加密的过程,其基本代码如下: k=get(handles.radiobutton2,'value')if(k==1)[filename,pathname]=uigetfile({ ...'*.*','All Files(*.*)';},...'');if isequal([filename,pathname],[0,0])returnelsepic = fullfile(pathname,filename);fid=fopen(pic);[A,COUNT]=fscanf(fid,'%c',inf);fclose(fid);ends=get(handles.edit2,'string');if isempty(s)msgbox('The edit is empty,please enter again!','error');return;endstr='D:\MATLAB7\work\moderncryptography\encryption\wordtable1.xls';[CODE,TXT,RAW]=xlsread(str);s=double(s);B=double(A);[m,n]=size(B);j=0;C=ones(1,n);hwait=waitbar(0,'Please Wait(1)>>>>>>>>'); for i=1:nif(B(i)>=13 & B(i)<=126)j=j+1;C(j)=B(i);endWaitBar1(i,n,hwait);endclose(hwait);[m,n]=size(CODE);hwait=waitbar(0,'Please Wait(2)>>>>>>>>'); for h=1:nif(s==CODE(2,h))s=CODE(1,h);endWaitBar1(h,n,hwait);endclose(hwait);for h=1:jfor k=1:nif(C(h)==CODE(2,k))C(h)=CODE(1,k);endendend% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%hwait=waitbar(0,'Please Wait(3)>>>>>>>>');for h=1:jC(h)=mod(C(h)+s,29);WaitBar1(h,j,hwait);endclose(hwait);% close(hwait);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%hwait=waitbar(0,'Please Wait(4)>>>>>>>>');for h=1:jfor k=1:nif(C(h)==CODE(1,k))C(h)=CODE(2,k);endendWaitBar1(h,j,hwait);endclose(hwait)% close(hwait);C=char(C);set(handles.edit3,'string',C);str='D:\MATLAB7\work\moderncryptography\encryption\singlesecretword.txt';fid=fopen(str,'wt');fprintf(fid,'%s',C)fclose(fid)elseA=get(handles.edit1,'string');if isempty(A)msgbox('The edit is empty,please enter again!','error');return;ends=get(handles.edit2,'string');if isempty(s)msgbox('The edit is empty,please enter again!','error');return;endstr='D:\MATLAB7\work\moderncryptography\encryption\wordtable1.xls';[CODE,TXT,RAW]=xlsread(str);s=double(s);B=double(A);[m,n]=size(B);j=0;C=ones(1,n);hwait=waitbar(0,'Please Wait(1)>>>>>>>>');for i=1:nif(B(i)>=13 & B(i)<=126)j=j+1;C(j)=B(i);endWaitBar1(i,n,hwait);endclose(hwait);[m,n]=size(CODE);hwait=waitbar(0,'Please Wait(2)>>>>>>>>');for h=1:nif(s==CODE(2,h))s=CODE(1,h);endWaitBar1(h,n,hwait);endclose(hwait);for h=1:jfor k=1:nif(C(h)==CODE(2,k))C(h)=CODE(1,k);endendend% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%hwait=waitbar(0,'Please Wait(3)>>>>>>>>');for h=1:jC(h)=mod(C(h)+s,29);WaitBar1(h,j,hwait);endclose(hwait)% close(hwait);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%hwait=waitbar(0,'Please Wait(4)>>>>>>>>');for h=1:jfor k=1:nif(C(h)==CODE(1,k))C(h)=CODE(2,k);endendWaitBar1(h,j,hwait);endclose(hwait)% close(hwait);C=char(C);set(handles.edit3,'string',C);str='D:\MATLAB7\work\moderncryptography\encryption\singlesecretword.txt';fid=fopen(str,'wt');fprintf(fid,'%s',C)fclose(fid)end解密过程就是上述过程的逆过程,这里就不在赘述,单表解密基本代码如下:k=get(handles.radiobutton2,'value');%提取加密形式指标值if(k==1)[filename,pathname]=uigetfile({ ...'*.*','All Files(*.*)';},...'');if isequal([filename,pathname],[0,0])returnelsepic = fullfile(pathname,filename);fid=fopen(pic);[A,COUNT]=fscanf(fid,'%c',inf);fclose(fid);end%文件形式解密时打开解密文件[CODE,TXT,RAW]=xlsread('D:\MATLAB7\work\modern cryptography\encryption\wordtable1.xls');%读取解密对照表set(handles.edit3,'string',A);%将密文显示在密文编辑框中s=get(handles.edit6,'string');%提取解密密钥if isempty(s)%解密密钥测空msgbox('The edit is empty,please enter again!','error');return;ends=double(s);n=length(CODE);hwait=waitbar(0,'Please Wait(1)>>>>>>>>');for h=1:nif(s==CODE(2,h))s=CODE(1,h);endWaitBar1(h,n,hwait);endclose(hwait);B=double(A);[m,n]=size(B);hwait=waitbar(0,'Please Wait(2)>>>>>>>');for h=1:nfor k=1:29if(B(h)==CODE(2,k))B(h)=CODE(1,k);endendWaitBar1(h,n,hwait);endclose(hwait);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% B=mod(B-s,29);hwait=waitbar(0,'Please Wait(3)>>>>>>>')for h=1:nfor k=1:29if(B(h)==CODE(1,k))B(h)=CODE(2,k);endendWaitBar1(h,n,hwait);endclose(hwait);B=char(B);fid=fopen('D:\MATLAB7\work\moderncryptography\encryption\singleproclaimedword.txt','wt');fprintf(fid,'%s',B)fclose(fid)set(handles.edit1,'string',B);else[CODE,TXT,RAW]=xlsread('D:\MATLAB7\work\modern cryptography\encryption\wordtable1.xls');A=get(handles.edit3,'string');s=get(handles.edit6,'string');if isempty(s)msgbox('The edit is empty,please enter again!','error');return;ends=double(s);n=length(CODE);hwait=waitbar(0,'Please Wait(1)>>>>>>>>');for h=1:nif(s==CODE(2,h))s=CODE(1,h);endWaitBar1(h,n,hwait);endclose(hwait);B=double(A);[m,n]=size(B);hwait=waitbar(0,'Please Wait(2)>>>>>>>');for h=1:nfor k=1:29if(B(h)==CODE(2,k))B(h)=CODE(1,k);endendWaitBar1(h,n,hwait);endclose(hwait); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% B=mod(B-s,29);hwait=waitbar(0,'Please Wait(3)>>>>>>>')for h=1:nfor k=1:29if(B(h)==CODE(1,k))B(h)=CODE(2,k);endendWaitBar1(h,n,hwait);endclose(hwait);B=char(B);fid=fopen('D:\MATLAB7\work\modern cryptography\encryption\singleproclaimedword.txt','wt');fprintf(fid,'%s',B)fclose(fid)set(handles.edit1,'string',B);end3应用基本功能测试3.1单表加密测试。

相关文档
最新文档