密码学 - 加密和签名算法整理
加密和签名算法整理对比RSA加密目的:保护数据的机密性,确保只有拥有相应私钥的人能够解密数据。 过程: 加密: 使用接收方的公钥 $ e $ 对消息 $ m $ 进行加密。 加密公式:$ c \equiv m^e \pmod{n} $ 这里,$ c $ 是密文,$ m $ 是明文,$ n $ 是两个大素数的乘积($ n = p \times q $),$ e $ 是公钥。 解密: 使用接收方的私钥 $ d $ 对密文 $ c $ 进行解密。 解密公式:$ m \equiv c^d \pmod{n} $ 这里,$ m $ 是解密后的明文,$ c $ 是密文,$ d $ 是私钥。 应用: 安全的消息传输,例如电子邮件加密、文件加密等。 RSA签名目的:验证消息的真实性和完整性,确保消息来自合法发送者且未被篡改。 过程: 签名: 使用发送方的私钥 $ d $ 对消息的哈希值 $ h(m) $ 进行签名。 签名公式:$ s \equiv h(m)^d \pmod{n} $ 这里,$ s $ 是签名,$ h(m) $ 是消息 $ m $ 的哈希值,$ d $ 是私钥...
密码学题目 - 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...
实训记录
实训1 项目名称: 缓冲区溢出利用一、环境及工具基本信息 实验环境:Windows操作系统,使用Dev-C++ 5.11进行编译 设备:个人计算机 前置知识:C/C++编程基础,汇编语言基础,操作系统原理,网络安全基础 必要的课程:计算机安全,网络安全 说明:本实验旨在通过实践操作,深入理解缓冲区溢出的原理和利用方法,掌握编写和执行shellcode的基本技能。 推荐的文章链接:(缓冲区溢出漏洞的原理及其利用实战 - 浅易深 - 博客园 (cnblogs.com)) 前置知识 C/C++编程基础:理解数组、指针、字符串处理函数(如strcpy)的使用,以及函数调用过程中栈帧的变化。 操作系统原理:了解进程和线程的基本概念,以及内存管理中的堆、栈、代码区和数据区。 汇编语言基础:能够阅读和理解简单的汇编代码,了解寄存器的作用和常见的汇编指令。 调试工具的使用:熟悉使用OllyDbg、IDA Pro等调试工具来分析程序的执行过程和内存布局。 安全编程概念:了解缓冲区溢出漏洞的成因,以及如何通过安全编程实践来预防这类漏洞。 Windows API函数:对于Windows...

