10 2020 档案
摘要:SM4分组密码算法 Rust实现; SM4算法概要 密钥长度128位; 分组长度128位; 符号说明 加密密钥: \(MK = MK_0 || MK_1 || MK_2 || MK_3, bitslen(MK_i) = 32, i \in [0,3]\); 轮密钥: \(rk_0,rk_1,\dot
阅读全文
摘要:ZUC祖冲之序列密码算法 Rust实现; ZUC算法概要 ZUC主要由LFSR线性反馈移位寄存器, BR比特重组和F非线性函数三部分组成; 输入: 128位长的密钥, 128位长的初始化向量; 输出: $n, n \in N^+$个32位长的字串, $n$为节拍数(轮数); 算法过程ZUC(KEY,
阅读全文
摘要:DSS数字签名标准 Rust实现; DSA 签名过程: graph TD; id2 -.Signature.-> id12 subgraph Signature Generation; id0(Message/Data)-.-> id1(Hash Function) id1 -.Message Di
阅读全文
摘要:ECDSA椭圆曲线数字签名算法 Rust实现; 符号说明 椭圆加密数学基础 \(F_p\): \(y^2 = x^3 + ax + b, (4a^3+27b^2)\mod p \ne 0, (x,y)\in F_p\); \(F_{2^m}\): \(y^2 + xy = x^3 + ax^2+b,
阅读全文
摘要:Hash函数的安全性 安全性指标 Collision Resistance 抗碰撞性(Collision Resistance): 若有任意两条消息$x_1, x_2$且$x_1 \ne x_2$, 则发现$H(x_1)=H(x_2)$需要计算的次数为$2^N$, 则其抗碰撞性为$N/2$. 一般情
阅读全文
摘要:RSA密码学规范PKCS#1 v2.2 Rust实现 数论相关; 椭圆曲线加密数学基础; 符号说明 \(n\): RSA模数$n$; \(r_i\): 模数$n$的素因子(需是奇素数), \(n=r_1\cdot r_2\cdot \dots\cdot r_u, u \ge 2\); \(p,q\)
阅读全文
摘要:CMAC基于块加密的消息认证码 Rust实现 Subkey Generation \(R_{128} = 0^{120}10000111; R_{64}=0^{59}11011\); $Cipher_$指密钥为$K$的加密函数; \[ \begin{aligned} & b = Cipher_{K}
阅读全文