密码学 - DES五种工作模式
DES 的五种主要工作模式DES(数据加密标准)是一种对称加密算法,它可以在多种工作模式下使用。不同的工作模式提供了不同的安全特性和操作方式。以下是 DES 的五种主要工作模式: 1.电子密码本模式(ECB,Electronic Codebook)工作原理: 明文被分割成固定大小的块(通常是64位),每个块独立地加密或解密。 相同的明文块总是被加密成相同的密文块。 优点: 实现简单,适合加密小数据量或无关数据。 缺点: 不提供数据的混淆和扩散效果。 相同的明文块总是被加密成相同的密文块,容易被攻击者利用模式分析攻击。 示例: 适用于随机数据或少量数据的加密。 2. 密文分组链接模式(CBC,Cipher Block Chaining)工作原理: 第一个明文块与初始向量(IV)进行异或,然后加密。 每个后续明文块在加密前与前一个密文块进行异或。 优点: 提供了混淆和扩散效果。 相同的明文块不会加密成相同的密文块。 缺点: 需要初始向量(IV)。 加密和解密不能并行处理。 示例: 广泛用于各种安全通信协议中,如 SSL/TLS。 3. 密文反馈模式(C...
密码学题目 - 椭圆曲线ElGamal密码体制
在椭圆曲线上的ElGamal密码体制中,设椭圆曲线为E_{11}(1, 6),生成元p=(2, 7),接收者的私钥x=4。(1)求接收者的公钥Q。(2)发送者欲发送消息Pm=(7, 9),选择随机数k=2,求密文c。(3)给出接收者从密文c恢复消息Pm的过程。在椭圆曲线上的ElGamal密码体制中,求解和解密的过程如下: 已知条件 椭圆曲线 E_{11}(1, 6) 生成元 p = (2, 7) 接收者的私钥 x = 4 (1)求接收者的公钥 Q接收者的公钥 Q 通过计算 Q = x \cdot p 获得,即将生成元 p 乘以私钥 x。 首先,回顾一下椭圆曲线上的点加法运算。对于两个点 P = (x_1, y_1) 和 Q = (x_2, y_2) 在模 n 的椭圆曲线上,点加法的公式为: 当 P \neq Q 时: \lambda = \frac{y_2 - y_1}{x_2 - x_1} \mod n x_3 = \lambda^2 - x_1 - x_2 \mod n y_3 = \lambda(x_1 - x_3) - y_1 \mod n 当 P = Q 时(点倍加...
密码学 - 公钥加密公式整理
公钥加密的公式分类整理RSA 公钥加密 RSA 加密方案 密钥生成: 选择两个大素数 $ p $ 和 $ q $ 计算 $ n = pq $ 计算 $ \phi(n) = (p-1)(q-1) $ 选择一个整数 $ e $(满足 $ 1 < e < \phi(n) $ 且 $ \gcd(e, \phi(n)) = 1 $) 计算私钥 $ d $(满足 $ ed \equiv 1 \pmod{\phi(n)} $) 公钥为 $ (e, n) $,私钥为 $ (d, n) $ 加密: 明文 $ m $ 密文 $ c = m^e \mod n $ 解密: 密文 $ c $ 明文 $ m = c^d \mod n $ 基于离散对数的公钥加密 ElGamal 加密方案 密钥生成: 选定大素数 $ p $ 和生成元 $ g $ 选择私钥 $ x $(随机数),计算公钥 $ y = g^x \mod p $ 公钥为 $ (p, g, y) $,私钥为 $ x $ 加密: 明文 $ m $ 选择随机数 $ k $(满足 $ 1 < k <...
密码学题目 - DSS数字签名标准
在数字签名标准DSS中,设q=13,p=4q+1=53,g=16,签名者的私钥x=3,公钥y=16^3 mod 53=15,消息m的Hash值为5,试给出选取随机数k=2时的签名和验证过程。在数字签名标准(DSS)中,签名和验证过程涉及计算签名值和验证签名的有效性。让我们一步步进行计算。 给定参数 q = 13 p = 4q + 1 = 4 \times 13 + 1 = 53 g = 16 私钥 x = 3 公钥 y = 16^3 \mod 53 = 15 消息的 Hash 值 h(m) = 5 随机数 k = 2 签名过程 计算 r r = (g^k \mod p) \mod q代入已知值: r = (16^2 \mod 53) \mod 13计算 16^2 \mod 53: 16^2 = 256然后取模 p: 256 \mod 53 = 44然后取模 q: 44 \mod 13 = 5所以,r = 5。 计算 s s = k^{-1} (h(m) + xr) \mod q这里,k^{-1} 是 k 的模逆元,满足 k \times k^{-1} \equiv...
密码学 - 数字签名公式整理
数字签名的公式分类整理RSA 数字签名算法 RSA 签名方案 密钥生成: 选择两个大素数 $ p $ 和 $ q $ 计算 $ n = pq $ 计算 $ \phi(n) = (p-1)(q-1) $ 选择一个整数 $ e $(满足 $ 1 < e < \phi(n) $ 且 $ \gcd(e, \phi(n)) = 1 $) 计算私钥 $ d $(满足 $ ed \equiv 1 \pmod{\phi(n)} $) 公钥为 $ (e, n) $,私钥为 $ (d, n) $ 签名: 对消息 $ m $ 进行哈希得到消息摘要 $ H(m) $ 计算签名 $ s = H(m)^d \mod n $ 验证: 对签名 $ s $ 进行验证计算 $ H(m) $ 的哈希值: $ v = s^e \mod n $ 若 $ v \equiv H(m) \mod n $,则验证通过 离散对数(基于离散对数问题的签名算法) ElGamal签名方案 密钥生成: 选定大素数 $ p $ 和生成元 $ g $ 选择私钥 $ x $(随机数),计算公钥 $ y ...
密码学题目 - ElGamal签名方案
在ElGamal签名方案中,设P=19,g=2,私钥x=9,则公钥y=2^9 mod 19=18。若消息m的Hash值为152,试给出选取随机数k=5时的签名和验证过程。ElGamal签名方案重新生成给定参数 P = 19 g = 2 私钥 x = 9 公钥 y = g^x \mod P = 2^9 \mod 19 = 18 消息的 Hash 值 h(m) = 152 随机数 k = 5 签名过程 计算 r r = g^k \mod P代入已知值: r = 2^5 \mod 19计算 2^5 = 32,然后取模: r = 32 \mod 19 = 13 计算 s s = k^{-1} (h(m) - xr) \mod (P-1)这里,k^{-1} 是 k 的模逆元,满足 k \times k^{-1} \equiv 1 \mod (P-1)。 计算 k^{-1} \mod 18(因为 P-1 = 18): k = 5 \Rightarrow 5 \times k^{-1} \equiv 1 \pmod{18}用扩展欧几里得算法求解,得到 k^{-1} = 11,因为 ...
密码学 - 第1章 密码学概述
密码学概述第1章:密码学概述密码学基础密码学的基本概念 密码学:研究在有敌手的情况下如何隐密地传递信息的科学,常被认为是数学和计算机科学的分支。 密码编码学:对消息进行变换,以保证消息在信道传输过程中不被窃取、篡改和利用。 密码分析学:破译和分析密码体制。 基本概念 明文(m):要变换的消息 密文(c):变换后的消息 密钥(k):秘密参数 加密(E):将明文变换成密文的过程 解密(D):由密文恢复出明文的过程 密码体制分类 按密钥数量: 对称密码体制:加密密钥和解密密钥相同或可相互推导。 非对称密码体制:加密密钥和解密密钥不同,且难以从一个密钥推导出另一个密钥。 按加密方式: 流密码:按位加密明文。 分组密码:将明文分成定长的块进行加密。 密码体制分析安全性要求 机密性(Confidentiality):保证信息仅供授权者使用。 完整性(Integrity):信息在传输或存储过程中不能被破坏。 认证性(Authentication):保证消息来源和通信实体的真实性。 不可否认性(Non-repudiation):防止通信方对行为的否认。 密码体制的攻击方法...
密码学 - 第2章 序列密码
第2章:序列密码伪随机序列的发展伪随机数的算法与应用 随机序列:被称为随机数,目前没有统一的数学定义,主要从统计学的角度阐述,应该是独立的、互不相关的、具有长周期、均匀分布、不可压缩等。 真随机数:由某些物理过程产生,如热噪声、宇宙噪声、放射性衰变等,完全不可预测,在任何情况下不可能重复产生两个完全相同的随机数。 伪随机数:由数学公式产生,若生成随机数的算法确定,随机数也确定。伪随机序列就是具有某种随机特性的确定序列,能通过一系列测试检验的伪随机数可作为真随机数使用。 伪随机数在数据加密、密钥产生、密钥管理、数字签名等方面扮演核心角色。 伪随机序列的定义与性质 定义:如果一个序列可以随意产生和重复进行,且具有近似随机的统计特性,就称为伪随机序列。 常用的伪随机序列有:m序列、Gold序列、Walsh序列、R-S序列等。周期达到最大值的序列称为m序列。 性质: 均衡特性:m序列在一个周期中1与0出现的次数基本相等,1的个数比0多1个。 游程分布随机性:m序列在一个周期中长度为i的游程数占总游程数的1/2i,且在等长的游程中”0”、”1”游程各占半。 移位相加特性:一个周期为T...
密码学 - 第3章 分组密码
第3章:分组密码分组密码的设计原则基本原理 分组密码将消息进行等长分组(如每组消息长度为n比特),然后用同一个密钥对每个分组进行加密。分组密码与流密码都属于对称密码体制,但它们有很大差异:分组密码每次加密一个消息块,而流密码是逐比特加密。 设计原则 混淆:使密钥和密文之间的依赖关系尽可能模糊。 扩散:为了隐藏明文的统计特性,将一位明文的影响扩散到多位密文中。 乘积密码:将若干加密操作串联起来,对数据进行重复迭代操作。大多数分组密码都是乘积密码,由轮迭代组合而成。 结构 迭代结构 Feistel网络:将明文平均分为左半部分L0和右半部分R0,经过多轮迭代完成整个操作过程。 SP(substitution-permutation)网络:包含代替(S盒)和置换(P盒)两部分,典型代表为AES。 数据加密标准(DES)DES设计思想 DES是第一个公开的、完全说明细节的商业级现代算法,被世界公认。它由IBM公司在1971年完成Lucifer密码(64比特分组,128比特密钥)的基础上改进而成。1977年1月15日被批准为联邦标准,并设计推出DES芯片。 DES的工作模...
密码学 - 第4章 公钥密码
第4章:公钥密码公钥密码的基本原理公钥密码的基本概念 历史背景 1976年,Diffie和Hellman在”密码学的新方向”一文中首次提出了公钥密码体制的思想。 公钥密码的基本概念 公钥密码体制与对称密码体制完全不同,使用数学函数而不是代替和置换。 公钥密码算法是非对称的,使用两个独立的密钥:公钥和私钥。 公钥密码体制在消息的机密性、密钥分配和认证方面具有重要意义。 优势 密钥分配:公钥可以通过公开信道传输,而对称密码体制需要通过安全的秘密通道共享密钥,代价较大。 密钥管理:在N个用户的系统中,每个用户只需安全保管自己的私钥和N-1个其他用户的公钥,整个系统仅需维护N个公钥;而对称密码体制中,每个用户需使用n-1个密钥,总密钥数量为n(n-1)/2。 数字签名:提供类似书面手写签名的方法,确保数字签名出自某特定人,并且各方对此无异议。对称密码体制中难以解决陌生人之间的身份认证问题。 原理 公钥密码体制在加密和解密时使用不同的密钥:公钥用于加密,私钥用于解密。公钥是公开信息,不需要保密,私钥需保密。 给定公钥,要计算出私钥在计算上是不可行的。 这样的通信无需双方预...
