这里写自定义目录标题 公钥密码 密码学中的常用数学知识 群、环、域 素数和互素数 模运算 模指数运算 费尔马定理、欧拉定理、卡米歇尔定理 素性检验 欧几里得算法 中国剩余定理(CRT) 离散对数 二次剩余 循环群 循环群的选取 双线性映射 计算复杂性 公钥密码体制的基本概念 RSA 算法 背包密码体制 Rabin 密码体制 NTRU 公钥密码系统 椭圆曲线密码体制(ECC) SM2 椭圆曲线公钥密码加密算法
公钥密码
密码学中的常用数学知识
群、环、域
代数系统 :由集合及集合上的运算构成,运算需满足封闭性(运算结果仍在集合内)和结合律((ab)c=a(b c))。群 :满足以下条件的代数系统 (G, *): 封闭性:∀a,b∈G,a*b∈G; 结合律:∀a,b,c∈G,(ab)c=a(b c); 单位元:存在 e∈G,∀a∈G,ae=e a=a; 逆元:∀a∈G,存在 a⁻¹∈G,aa⁻¹=a⁻¹ a=e。 有限群:G 为有限集,元素个数为群的阶;Abel 群(交换群):运算满足交换律(ab=b a)。 半群 :仅满足封闭性和结合律的代数系统。环 :代数系统 (R, +,・),其中: (R, +) 是 Abel 群; (R,・) 是半群; 乘法对加法可分配:a・(b+c)=a・b+a・c,(b+c)・a=b・a+c・a。 域 :环 (F, +,・),其中非零元素对乘法构成 Abel 群(即每个非零元素有乘法逆元)。 例子:有理数域 (Q, +,・)、实数域 (R, +,・)、复数域 (C, +,・);有限域(Galois 域 GF (q),q 为素数幂)。
素数和互素数
因子与整除 :若存在整数 m 使 a=mb,则 b 整除 a(记为 b|a),b 是 a 的因子。 性质:若 b|a 且 a|b,则 a=±b;若 b|a 且 b|c,则 b|(ma+nc)(m,n 为整数)。 素数 :大于 1 的整数,因子仅为 1 和自身;非素数(大于 1)为合数。 整数分解唯一性:任一整数可唯一分解为素数乘积(如 91=7×13)。 最大公因子(gcd) :两数共有的最大因子,记为 gcd (a,b)。 互素:gcd (a,b)=1 时,a 与 b 互素。 最小公倍数(lcm) :两数共有的最小倍数,记为 lcm (a,b)。 性质:若 a 与 b 互素,则 lcm (a,b)=ab。
模运算
模与同余 :a mod n 表示 a 除以 n 的余数(0≤r<n);若 a mod n = b mod n,则 a≡b mod n(a 与 b 模 n 同余)。 同余性质:n|(a-b) ⇨ a≡b mod n;若 a≡b mod n 且 b≡c mod n,则 a≡c mod n 等。 模运算规则 : (a+b) mod n = [(a mod n)+(b mod n)] mod n; (a-b) mod n = [(a mod n)-(b mod n)] mod n; (a·b) mod n = [(a mod n)·(b mod n)] mod n。 逆元 : 加法逆元:∀x∈Zₙ,存在 y 使 (x+y) mod n=0(如 2 在 Z₈中的逆元为 6); 乘法逆元:若 gcd (x,n)=1,则存在 x⁻¹ 使 (x・x⁻¹) mod n=1(Zₙ^* 中元素均有乘法逆元,Zₙ^* 是 Zₙ中与 n 互素的元素集合)。
模指数运算
阶 :满足 aᵐ≡1 mod n 的最小正整数 m,记为 ordₙ(a)。 定理:aᵏ≡1 mod n ⇨ ordₙ(a)|k(m 整除 k)。 快速指数算法 :将指数分解为二进制,通过反复平方简化计算(如 a¹⁵=a⁸・a⁴・a²・a¹)。
费尔马定理、欧拉定理、卡米歇尔定理
费尔马定理 :若 p 是素数,gcd (a,p)=1,则 aᵖ⁻¹≡1 mod p;推广:aᵖ≡a mod p(a 为任意整数)。欧拉函数 φ(n) :小于 n 且与 n 互素的正整数个数。 性质:若 p 是素数,φ§=p-1;若 n=pq(p,q 为素数),φ(n)=(p-1)(q-1)。 欧拉定理 :若 gcd (a,n)=1,则 a^φ(n)≡1 mod n。卡米歇尔函数 λ(n) :使所有 gcd (a,n)=1 的 a 满足 aᵐ≡1 mod n 的最小 m。 性质:λ(ab)=lcm (λ(a),λ(b))(a,b 互素);λ§=p-1(p 为素数)。
素性检验
爱拉托斯散筛法 :通过删除小于等于√n 的素数倍数,判断 n 是否为素数。Miller-Rabin 概率检测法 :基于 “若 n 是素数,则 x²≡1 mod n 的解为 x≡±1 mod n”,通过多次测试降低错误概率。AKS 算法 :确定性素性检验,基于多项式恒等式,时间复杂度为多项式级。
欧几里得算法
基本欧几里得算法 :求 gcd (a,b),基于 gcd (a,b)=gcd (b,a mod b),通过辗转相除实现。推广欧几里得算法 :不仅求 gcd (a,b),还能求 x,y 使 ax+by=gcd (a,b);当 gcd (a,b)=1 时,x 是 a 模 b 的乘法逆元。
中国剩余定理(CRT)
若 n₁,n₂,…,nₖ两两互素,N=n₁n₂…nₖ,则方程组 x≡aᵢ mod nᵢ(i=1,…,k)有模 N 的唯一解: x = Σ(aᵢ・N/nᵢ・(N/nᵢ)⁻¹ mod nᵢ) mod N,其中 (N/nᵢ)⁻¹ 是 N/nᵢ模 nᵢ的逆元。 应用:将大数运算转化为小数运算(如 15 以内的数可通过模 3 和模 5 的余数表示)。
离散对数
指标 :设 p 是素数,g 是 p 的本原根(生成元),则对∀b∈Zₚ^*,存在唯一 i 使 gⁱ≡b mod p,i 称为 b 模 p 以 g 为底的指标(离散对数),记为 ind_gᵖ(b)。性质 :类似对数,ind_g (ab)≡ind_g (a)+ind_g (b) mod (p-1);ind_g (aᵏ)≡k・ind_g (a) mod (p-1)。困难性 :已知 g,p,b 求 i(离散对数问题)在大素数下计算困难,是许多公钥算法的基础。
二次剩余
二次剩余 :若存在 x 使 x²≡a mod n,则 a 是模 n 的二次剩余;否则为非剩余。Legendre 符号 :对素数 p 和 a∉p,(a|p)=1(a 是二次剩余)、-1(非剩余)、0(p|a),计算式:(a|p)=a^((p-1)/2) mod p。Jacobi 符号 :Legendre 符号的推广,用于合数模,定义为 (a|n)=Π(a|pᵢ)(n=Πpᵢ^k),可通过互反律简化计算。
循环群
循环群 :由单个元素 g 生成的群,即 G={gⁱ|i∈Z},g 为生成元。性质 :子群仍是循环群;Lagrange 定理(子群阶整除群阶);n 阶循环群中,元素 gᵏ的阶为 n/gcd (k,n);生成元满足 gcd (k,n)=1。
循环群的选取
实际应用中常用循环群:Zₚ^* 的子群(p 为素数)、椭圆曲线群等,要求生成元的阶为大素数,确保离散对数问题困难。
双线性映射
映射 e:G₁×G₂→G₃(G₁,G₂,G₃为阶 q 的群),满足: 双线性:e (aP,bQ)=e (P,Q)^(ab); 非退化性:e (P,Q)≠1(单位元); 可计算性:存在有效算法计算 e (P,Q)。 例子:Weil 配对、Tate 配对,应用于短签名、身份加密等。
计算复杂性
时间复杂度 : O (f (n)):渐近上界;o (f (n)):非紧确上界; 多项式时间(O (nᵏ)):“容易” 问题;指数时间(O (2ⁿᵏ)):“困难” 问题。 问题类 : P:多项式时间可解; NP:多项式时间可验证解; NPC:NP 中最难问题,若任一 NPC 问题有多项式解,则 P=NP。 可忽略函数 :增长慢于任何多项式的逆(如 2⁻ⁿ);概率多项式时间(PPT)算法:运行时间为多项式,允许随机选择。
公钥密码体制的基本概念
原理 :使用一对密钥(公钥 PK 和私钥 SK),加密用 PK,解密用 SK;已知 PK 求 SK 计算困难。要求 : 产生 PK 和 SK 容易; 加密(c=E (PK,m))和解密(m=D (SK,c))容易; 由 PK 求 SK 困难; 由 c 和 PK 恢复 m 困难; 可选:加解密可交换(E (PK,D (SK,m))=m)。 陷门单向函数 :正向计算容易,逆向计算困难,但若已知陷门信息则逆向容易(公钥密码的核心)。攻击 :穷搜索(需足够长密钥)、可能字攻击(通过已知明文猜测密钥)。
RSA 算法
密钥产生 : 选大素数 p、q,计算 n=pq,φ(n)=(p-1)(q-1); 选 e(1<e<φ(n),gcd (e,φ(n))=1),求 d=e⁻¹ mod φ(n); 公钥 (PK)=(e,n),私钥 (SK)=(d,n)。 加解密 : 加密:c=mᵉ mod n(m<n); 解密:m=cᵈ mod n。 正确性:由欧拉定理,若 gcd (m,n)=1,则 m^(e・d)≡m mod n;若 m 与 n 不互素,仍可证明成立。 计算优化 :快速指数算法(降低模指数复杂度);中国剩余定理(加速解密,分解计算 m mod p 和 m mod q)。安全性 :基于大整数分解困难性(若 n 被分解,可求 φ(n) 和 d);需保证 p 和 q 足够大(1024-2048 比特),且 p 和 q 差距小、有大素因子。攻击 :共模攻击(多用户用同一 n)、低指数攻击(e 过小且多用户加密同一 m)。
背包密码体制
背包问题 :给定背包向量 A=(a₁,…,aₙ) 和容积 s,求子集 A’ 使和为 s(NPC 问题)。超递增背包 :aᵢ>Σₖ₌₁ⁱ⁻¹aₖ,可通过贪婪算法求解(从最大元素开始判断是否包含)。公钥构造 : 私钥:超递增背包 A,模数 M(M>Σaᵢ),乘数 w(gcd (w,M)=1); 公钥:B=(w・a₁ mod M,…,w・aₙ mod M)。 加解密 : 加密:c=Σxᵢ・bᵢ(x 为明文二进制); 解密:s=c・w⁻¹ mod M,用贪婪算法解超递增背包得 x。 缺陷 :已被破译(无需陷门可还原超递增背包)。
Rabin 密码体制
特点 :破译等价于大整数分解;加密指数 e=2。密钥产生 :选大素数 p≡3 mod 4,q≡3 mod 4,n=pq;公钥 n,私钥 (p,q)。加解密 : 加密:c=m² mod n; 解密:解 x²≡c mod n,等价于解 x²≡c mod p 和 x²≡c mod q,由 p≡3 mod 4,根为 ±c^((p+1)/4) mod p,再用 CRT 合并得 4 个解,需通过冗余信息确定正确明文。
NTRU 公钥密码系统
基础 :多项式环 Z [x]/(xⁿ-1),参数 (n,p,q)(p,q 为素数,q>p²)。密钥产生 : 选 f,g∈L(L 为低重量多项式集合),求 f⁻¹ mod p 和 f⁻¹ mod q; 公钥 h=p・f⁻¹ mod q・g mod q;私钥 (f,f⁻¹ mod p)。 加解密 : 加密:选 r∈L,c=(h・r + m) mod q(m 为明文多项式); 解密:a=f・c mod q,b=a mod p,m=f⁻¹ mod p・b mod p。
椭圆曲线密码体制(ECC)
椭圆曲线 :方程 y²=x³+ax+b(a,b∈GF §,4a³+27b²≠0),点集 Eₚ(a,b) 包括无穷远点 O,对加法构成 Abel 群。 加法规则:三点共线则和为 O;P+Q 的坐标通过直线交点计算;2P 为切线交点的逆。 椭圆曲线离散对数问题(ECDLP) :已知 P,kP∈Eₚ(a,b),求 k,比有限域离散对数更困难。应用 : Diffie-Hellman 密钥交换:双方共享 G,选私钥 kₐ,k_b,计算公钥 kₐG,k_bG,共享密钥 kₐk_bG; ElGamal 加密:公钥 kG,加密 (c₁= rG, c₂= m + rkG),解密 m= c₂ - kc₁。 优点 :安全性高(160 比特 ECC≈1024 比特 RSA)、密钥短、运算快。
SM2 椭圆曲线公钥密码加密算法
标准 :中国商用算法,基于素数域 GF §,参数包括 p,a,b,G,n(G 的阶),h(余因子)。密钥产生 :私钥 d∈[1,n-2],公钥 Q=dG。加解密 : 加密:选 k∈[1,n-2],c₁=kG,c₂=(M || t)(t=KDF (x₂||y₂, len (M))),c₃=Hash (x₂||M||y₂),密文 (c₁,c₂,c₃); 解密:计算 d c₁=(x₂,y₂),t=KDF (x₂||y₂, len (c₂)),M’=c₂||t,验证 Hash (x₂||M’||y₂)=c₃,输出 M’。 特点 :使用 SM3 哈希函数,参数含用户特异性信息,安全性更高。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/92321.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/92321.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/92321.shtml
如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!