密码学 - 经典练习题精选解析
说明AES和DES设计的不同之处。AES和DES设计的不同之处 密钥长度: AES:支持128位、192位和256位的密钥长度。 DES:固定56位的密钥长度(尽管通常表示为64位,但其中8位用于奇偶校验)。 分组长度: AES:固定128位的分组长度。 DES:固定64位的分组长度。 算法结构: AES:基于替代-置换网络(Substitution-Permutation Network, SPN)。使用S盒和P盒来实现复杂的替代和置换操作。 DES:基于费斯妥尔网络(Feistel Network)。每一轮将数据分成两半,交替进行加密和交换。 轮数: AES:轮数取决于密钥长度:128位密钥为10轮,192位密钥为12轮,256位密钥为14轮。 DES:固定为16轮。 安全性: AES:设计更为现代,考虑了更多的密码分析攻击,现阶段没有已知的有效攻击方式。 DES:由于密钥长度较短,容易受到暴力破解攻击,已经被认为是不安全的。 硬件和软件实现: AES:设计时考虑了高效的硬件和软件实现,特别是对现代处理器进行了优化。 DES:设计较早,硬件实...
密码学题解 - RSA 数字签名方案与计算
在RSA签名方案中,设p=7,q=17,公钥e=5,消息m的Hash值为19,试计算私钥d并给出对消息的签名和验证过程。求私钥 d 的计算过程已知参数: p = 7 q = 17 n = p \times q = 7 \times 17 = 119 \phi(n) = (p - 1) \times (q - 1) = 6 \times 16 = 96 公钥 e = 5 我们需要找到私钥 d,满足: d \equiv e^{-1} \mod 96即: 5 \times d \equiv 1 \pmod{96}5×d 与 1 在模 96 下是同余的 使用扩展欧几里得算法求解逆元扩展欧几里得算法步骤: 使用欧几里得算法找到 e 和 \phi(n) 的最大公约数: 96 = 5 \times 19 + 1这里我们得到了 1 = 96 - 5 \times 19。 改写成扩展欧几里得算法形式: 1 = 96 - 5 \times 19即: 1 = 96 \times 1 - 5 \times 19从而: 1 \equiv -5 \times 19 \pmod{96}因此: d...
实训记录:CTF 缓冲区溢出与格式化字符串漏洞实战
实训1 项目名称: 缓冲区溢出利用一、环境及工具基本信息 实验环境:Windows操作系统,使用Dev-C++ 5.11进行编译 设备:个人计算机 前置知识:C/C++编程基础,汇编语言基础,操作系统原理,网络安全基础 必要的课程:计算机安全,网络安全 说明:本实验旨在通过实践操作,深入理解缓冲区溢出的原理和利用方法,掌握编写和执行shellcode的基本技能。 推荐的文章链接:(缓冲区溢出漏洞的原理及其利用实战 - 浅易深 - 博客园 (cnblogs.com)) 前置知识 C/C++编程基础:理解数组、指针、字符串处理函数(如strcpy)的使用,以及函数调用过程中栈帧的变化。 操作系统原理:了解进程和线程的基本概念,以及内存管理中的堆、栈、代码区和数据区。 汇编语言基础:能够阅读和理解简单的汇编代码,了解寄存器的作用和常见的汇编指令。 调试工具的使用:熟悉使用OllyDbg、IDA Pro等调试工具来分析程序的执行过程和内存布局。 安全编程概念:了解缓冲区溢出漏洞的成因,以及如何通过安全编程实践来预防这类漏洞。 Windows API函数:对于Windows...








