随笔分类 - CS
摘要:[\(GF(p)\)] [\(GF(2^q)\)]
阅读全文
摘要:rcrypto rcrypto A rust cryptography library Support Algorithms MD5; SHA; SM3; AES; DES; Keccak; SHA3; HMAC; BlockCipherMode; ECB/CBC/CFB/OFB/CTR; TDES
阅读全文
摘要: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}
阅读全文
摘要:Raft一致性算法 Raft一致性算法 前要说明 为了便于理解和实现, Raft算法将集群中多台服务器之间一致性问题分解为: Leader选举, 日志复制和安全这几个子问题; 记有集群${C_i,\ i=1,2\dots m}$, 角色集$R={Leader, Candidate, Follower
阅读全文
摘要:SM3哈希算法 Rust实现 简要说明 消息长度(bits) 块大小(bits) 单词长度(bits) 消息摘要长度(bits) SM3 \(\lt 2^{64}\) 512 32 256 算法流程 位填充 记有消息$M$(位长度为$l$), 首先在消息尾补一个比特位0b1, 然后补$k$个比特位0
阅读全文
摘要:SHA3 基于置换的哈希和可扩展输出函数 Rust实现 Hash 记有消息$M$, SHA-3定义如下: \[ \begin{aligned} & SHA3-224(M) = Keccak[448](M || 01, 224) \\ & SHA3-256(M) = Keccak[512](M ||
阅读全文
摘要:KDF(Key Derivation Function)
阅读全文
摘要:数论相关 相关概念 记有群$(S, \oplus)$, 为了方便简记为$S$; 群的定义见椭圆曲线加密数学基础; 群的阶$#S$: 群中元素的个数; \(a\in S\), 记$a$生成的子群为$\langle a \rangle$, 生成过程为: \(\{a^{(k)}=\oplus_{i=1}^
阅读全文
摘要:WebAssembly [TOC] "解码" "类型种类" 基本数值类型: ; 返回值: 执行指令或调用函数的返回值, 基本数值类型序列; 函数: 将一组基本数值类型序列映射到另一组基本数值类型序列; 内存: 一块线性内存; 表: 一些相同类型的元素组成的序列, 当前表元素允许的类型仅有函数引用一种
阅读全文
摘要:Base64/Base58/Base32/Base16/CSV/JSON/XML/PEM
阅读全文
摘要:DES加密算法 Rust实现 简要说明 对称加密算法; 加密块大小: 64位; 密钥长度: 64位(加密算法只用了其中的56位, 另8位可作为校验位使用); 输出密文长度: 64位; 加密迭代次数: 16轮; 算法流程 graph TD; id1(输入) --> id2(初始置换L0R0); id2
阅读全文
摘要:常用校验和算法 [TOC] "Adler 32校验和" 记校验和为$C$(32位), 其高16位记为$s_2$, 低16位记为$s_1$, 那么有$C=s_2 2^{16} + s_1$. 记有数据字节流$D[0..len]$ 算法过程如下: $$ \begin{aligned} & s_1 = 1
阅读全文
摘要:RSA加密算法 Rust实现 符号说明 \(x\dots y\): $y$拼接在$x$之后; RSA v1.5 密钥生成 随机选择两个质数$p$和$q$(\(p\neq q\)), 则模数$n=p*q$. 模数的字节长度$k$满足: $2^{((k-1)8}\le n \lt 2^{k8}$; 在$
阅读全文
浙公网安备 33010602011771号