密码学 - 加密与签名算法综合整理
加密和签名算法整理对比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 $ 是私钥...
密码学 - 第 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。 数字签名:提供类似书面手写签名的方法,确保数字签名出自某特定人,并且各方对此无异议。对称密码体制中难以解决陌生人之间的身份认证问题。 原理 公钥密码体制在加密和解密时使用不同的密钥:公钥用于加密,私钥用于解密。公钥是公开信息,不需要保密,私钥需保密。 给定公钥,要计算出私钥在计算上是不可行的。 这样的通信无需双方预...
密码学 - 第 5 章 散列函数与消息认证
第5章:单向散列函数和消息认证单向散列函数基础Hash函数的定义 Hash函数h是一个公开函数,用于将任意长的消息m映射为较短的、固定长度的一个值h(m),称为消息摘要或哈希值。 Hash函数的性质 输入任意长:函数的输入可以是任意长的消息。 输出固定长:函数的输出是固定长度的摘要。 计算简便:对任意给定的x,计算$h(x)$比较容易。 单向性:对任意给定的Hash值z,找到满足$h(x)=z$的$x$在计算上是不可行的。 抗弱碰撞性:已知x,找到另一个$y(y≠x)$使得$h(y)=h(x)$在计算上是不可行的。 抗强碰撞性:找到任意两个不同的输入$x, y$,使$h(y)=h(x)$在计算上是不可行的。 碰撞性 碰撞是指对于两个不同的消息x和y,如果它们的Hash值相同,则发生了碰撞。Hash函数必须具有碰撞抵抗性,确保找到碰撞在计算上是不可行的。 Hash与加密的对比 加密是双向的,需要使用密钥进行加密和解密。Hash是单向的,没有解Hash的过程。 迭代型Hash函数的一般结构 Merkle基于压缩函数f提出了一个Hash函数的一般结构。输入m被分为L个...
密码学 - 第 6 章 数字签名
第6章:数字签名数字签名的基本概念背景 在政治、军事、外交、商业以及日常事务中,签名用于认证、核准、生效。在电子世界里,需要数字签名来替代手写签名,实现对数字信息的签名。 特性 不可伪造性:只有签名者能生成合法签名。 认证性:接收者可以确认签名来自签名者。 不可重复使用性:一个消息的签名不能用于其他消息。 不可修改性:签名后的消息不能被修改。 不可否认性:签名者不能否认自己的签名。 数字签名方案组成 包含签名算法和验证算法。 签名算法输入签名者的私钥和消息,输出消息的数字签名。 验证算法输入签名者的公钥、消息和签名,输出真或伪。 数字签名方案分类 按用途:普通数字签名、盲签名、不可否认签名、群签名、代理签名等。 按消息恢复功能:具有消息恢复功能和不具有消息恢复功能。 按随机数使用:确定性数字签名和随机化数字签名。 RSA数字签名RSA算法描述 密钥生成 选择两个大素数 $ p $ 和 $ q $。 计算 $ n = pq $ 和欧拉函数 $ \phi(n) = (p-1)(q-1) $。 选择整数 $ e $,满足 $ 1 < e < \phi(n...
密码学 - 第 9 章 PKI 技术
第9章:PKI技术PKI概念PKI技术概述 公钥基础设施(Public Key Infrastructure, PKI)是用于实施和提供安全服务的基础设施。它能提供认证、数据完整性、数据保密性、不可否认性、公证等服务。 PKI主要用于抵抗”公钥替换”攻击,通过将用户的公钥与其身份信息以可验证和可信的方式关联起来,确保公钥的真实性。 PKI服务 认证服务:确认实体的真实身份,通过验证证书和数字签名,确保通信双方的身份。 数据完整性服务:保证数据在传输和处理过程中未被修改。通过数字签名和哈希算法提供数据完整性保证。 数据保密性服务:采用”数字信封”机制,使用对称密钥加密敏感数据,并用接收方的公钥加密对称密钥。 不可否认性服务:保证实体对其行为的认可,包括数据来源、接收、传输、创建和同意的不可否认性。 公证服务:确认数据的有效性和正确性,通过数字签名和公钥验证。 PKI组成结构PKI组成 注册中心(Registration Authority, RA):负责用户的身份注册和验证。 证书中心(Certificate Authority, CA):负责生成和颁发数字证书。 目录库...
密码学 - 第 7 章 身份认证与访问控制
第7章:身份认证与访问控制基于生物特征识别的身份认证基于生物特征的身份认证 通过人体固有的生理或行为特征进行身份验证,分为身体特征和行为特征。 常用的生物特征识别技术 指纹识别 优点: 指纹是人体独一无二的特征。 识别速度快,使用方便。 手指与指纹采集头相互接触,更成熟。 采集头体积小,价格低廉。 缺点: 成像质量与识别技术的限制。 指纹库规模的限制。 指纹采集在采集头上留下印痕,使得复制成为可能。 掌纹识别 优点: 特征丰富、旋转不变性和唯一性。 终身不变,不易仿造。 采集设备成本较低,图像质量稳定。 不涉及隐私,易于推广。 容易与其他特征结合,实现一体化识别。 人脸识别 应用系统:嵌入式系统、服务器、个人电脑。 研究内容:脸检测、脸表征、脸鉴别、表情/姿态分析、生理分类。 声音识别 优点: 语音获取方便,接受度高。 获取语音的成本低廉。 适合远程身份确认。 算法复杂度低。 不涉及隐私问题。 声纹识别:说话人辨认、说话人确认、说话人探测/跟踪。 虹膜识别 特点与依据: 虹膜的纤维组织细节复杂而丰富,具有极大的随机性。 具有因人而异...
密码学 - 第 8 章 密钥管理
第8章:密钥管理密钥管理概述密钥管理 密钥管理是对密钥生命周期(产生、存储、分配、备份/恢复、更新、撤销、归档、销毁)全过程实施的安全保密管理。 主要内容包括密钥的产生、分配和维护。维护涉及密钥的存储、更新、备份、恢复、销毁等方面。 密钥分类 静态密钥(长期密钥):使用周期较长,具体周期视应用而定,可能是几小时到几年。 会话密钥(短期密钥):生命周期较短,可能是几分钟到几天。会话密钥通常用于在某一时间段内加密数据。 密钥种类 基本密钥(base key):又称初始密钥或用户密钥,用于参与或控制密码变换,在一定范围配置、一定时间更换。 会话密钥(session key):在一次通话或交换数据时使用的密钥。通常与基本密钥结合对消息进行加密,且一报一换。 密钥加密密钥(key encrypting key):用于对会话密钥进行加密保护。又称辅助(二级)密钥或密钥传送密钥。 主密钥(Primary Master Key):用于对密钥加密密钥进行加密保护。 公钥体制下的密钥:包括公开密钥、秘密密钥、签名密钥、认证密钥等。 密钥产生 基本要求:具有良好的随机性,包括长周期性、非...











