1 / 26

密码应用 —— 软件篇

密码应用 —— 软件篇. 武汉大学 信息安全 硕士 崔竞松. 本课程教学内容. 了解密码与软件 使用 C 语言开发密码程序 Symmetrical Cryptography Public Key Cryptography 算法优化技巧. 考核方式. 总分 课堂实践( 30` ) 期末报告( 40` ) 到课情况( 10` ) 综合评价( 20` ). 要点. 算法的效率 时间复杂度 空间复杂度 软件的质量 可读性 可维护性 项目管理. 算法效率. 时间复杂度 评价体系. Mission 1.1. 构建时间复杂度评价体系

Download Presentation

密码应用 —— 软件篇

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 密码应用——软件篇 武汉大学 信息安全 硕士 崔竞松

  2. 本课程教学内容 • 了解密码与软件 • 使用C语言开发密码程序 • Symmetrical Cryptography • Public Key Cryptography • 算法优化技巧

  3. 考核方式 • 总分 • 课堂实践(30`) • 期末报告(40`) • 到课情况(10`) • 综合评价(20`)

  4. 要点 • 算法的效率 • 时间复杂度 • 空间复杂度 • 软件的质量 • 可读性 • 可维护性 • 项目管理

  5. 算法效率 • 时间复杂度 • 评价体系

  6. Mission 1.1 • 构建时间复杂度评价体系 • 请在VC环境下,使用C语言,编写一个console程序,满足要求: • 能够对某段程序的运行时间进行较精确的测量 • 利用一段固定的程序测量当前系统的计算速度指标 • 仅使用C语言标准库 • 难度系数:10

  7. Mission 1.2 • 产生随机数 • 请编程序 • 将内存中连续的1024个bit填充成为随机数 • 要求以32位整数为最小处理单位 • 要求随机数不会短周期重复 • 难度系数:5

  8. Mission 1.3 • 输出 • 请编程序 • 将内存中连续存放的1024个bit组成的数据,以16进制大整数的形式,显示在屏幕上 • 难度系数:5

  9. Mission 1.4 • 输入 • 请编程序 • 将以16进制形式表示的一个大整数,输入到内存中连续存放的1024个bit • 调用Mission 1.3的程序验证上述功能 • 难度系数:10

  10. Mission 1.5 • 验证 • 请编程序 • 调用已有程序生成1024b随机数,并显示出来 • 将内存中连续存放的1024个bit,按照1个bit为单位,将1024个bit全部倒置 • 调用已有程序将结果显示出来 • 难度系数:20

  11. Mission 1.6 • 验证 • 请编程序 • 对Mission 1.5的程序测试速度(不含随机数生成、输入输出) • 要求测量精确、稳定 • 难度系数:10

  12. Mission 1.7 • 优化 • 改进Mission 1.5的代码 • 使得速度更快 • 难度系数:5(*2)

  13. 算法效率 • 时间复杂度 • 评价体系 • RSA基本功能

  14. RSA基本功能 • 基本运算模块 • 高级运算模块 • 基本密码功能 • 高级密码功能 • 密码体制与应用

  15. RSA基本功能 • 基本运算模块 • +,+% • -,-% • *,*%

  16. Mission 2.1 • 基本运算 • 编程实现(a+b)%c • a,b,c∈ℤ* • 0<|c|≤1024b • a,b <c • 难度系数:10

  17. Mission 2.2 • 优化 • 改进Mission 2.1 的代码 • 使得速度更快 • 难度系数:5(*2)

  18. Mission 2.3 • 基本运算 • 编程实现(a-b)%c • a,b,c∈ℤ* • 0<|c|≤1024b • a,b <c • 难度系数:10

  19. Mission 2.4 • 基本运算 • 编程实现a%c • a,c∈ℤ* • 0<|c|≤1024b • 0≤ a <c2 • 难度系数:15

  20. Mission 2.5 • 优化 • 改进Mission 2.4 的代码 • 使得速度更快 • 难度系数:5(*2)

  21. Mission 2.6 • 基本运算 • 编程实现(a*b)%c • a,b,c∈ℤ* • 0<|c|≤1024b • a,b <c • 难度系数:15

  22. Mission 2.7 • 优化 • 改进Mission 2.6 的代码 • 使得速度更快 • 难度系数:5(*2)

  23. RSA • 高级运算模块 • GCD • Inverse • ^%

  24. Mission 3.1 • 高级运算 • 编程实现gcd(x,y) • x,y∈ℤ+ • |x|, |y| ≤1024b • 难度系数:15

  25. Mission 3.2 • 高级运算 • 编程实现(a-1)%c • a,c∈ℤ+ • |c|≤1024b • a <c • 难度系数:15

  26. Mission 3.3 • 高级运算 • 编程实现(ab)%c • a,b,c∈ℤ+ • |b|, |c| ≤1024b • a <c • 难度系数:20

More Related