Skip to main content

Cryptography 现代密码学常用符号

现代密码学中使用了许多符号和术语来表示各种概念、操作和算法。这些符号在学术论文、技术文档和实际实现中都非常常见。以下是一些现代密码学中常用的符号及其含义:

基本符号

  • PP:明文(Plaintext),表示未加密的原始数据。
  • CC:密文(Ciphertext),表示加密后的数据。
  • KK:密钥(Key),用于加密和解密的秘密信息。
  • EE:加密算法(Encryption function),通常表示为 C=EK(P)C = E_K(P),即使用密钥 KK 对明文 PP 进行加密得到密文 CC
  • DD:解密算法(Decryption function),通常表示为 P=DK(C)P = D_K(C),即使用密钥 KK 对密文 CC 进行解密得到明文 PP

对称加密

  • KencK_{enc}:加密密钥(Encryption key),用于对称加密中的加密操作。
  • KdecK_{dec}:解密密钥(Decryption key),用于对称加密中的解密操作。对于对称加密,通常 Kenc=KdecK_{enc} = K_{dec}

公钥加密

  • KpubK_{pub}:公钥(Public key),用于公钥加密中的加密操作。
  • KprivK_{priv}:私钥(Private key),用于公钥加密中的解密操作。对于公钥加密,公钥和私钥是成对出现的。

哈希函数

  • HH:哈希函数(Hash function),用于将任意长度的输入转换为固定长度的输出。通常表示为 h=H(m)h = H(m),其中 mm 是消息,hh 是哈希值。
  • hh:哈希值(Hash value),哈希函数的输出。

数字签名

  • SigSig:签名算法(Signature function),用于生成数字签名。通常表示为 s=SigKpriv(m)s = Sig_{K_{priv}}(m),其中 mm 是消息,ss 是签名。
  • VerVer:验证算法(Verification function),用于验证数字签名。通常表示为 VerKpub(m,s)Ver_{K_{pub}}(m, s),其中 mm 是消息,ss 是签名。

密钥交换

  • gg:生成元(Generator),用于密钥交换协议(如 Diffie-Hellman 密钥交换)中的基础元素。
  • pp:素数(Prime number),通常用于定义有限域。
  • a,ba, b:参与者的私钥(Private keys),用于密钥交换协议中。
  • A=gamodpA = g^a \mod p:参与者 A 的公钥。
  • B=gbmodpB = g^b \mod p:参与者 B 的公钥。
  • ss:共享密钥(Shared secret),例如 s=Bamodp=Abmodps = B^a \mod p = A^b \mod p

椭圆曲线密码学(ECC)

  • EE:椭圆曲线(Elliptic curve),定义在有限域上的曲线。
  • GG:基点(Base point),椭圆曲线上的一个固定点,用于生成公私钥对。
  • nn:基点的阶(Order of the base point),即满足 nG=OnG = O 的最小正整数 nn,其中 OO 是椭圆曲线上的无穷远点。
  • dd:私钥(Private key),一个随机选择的整数。
  • Q=dGQ = dG:公钥(Public key),私钥与基点的标量乘积。

其他符号

  • \oplus:异或运算(XOR),常用于对称加密算法(如流密码)中的操作。
  • \|:串联(Concatenation),表示将两个字符串或数据块连接在一起。
  • Zp\mathbb{Z}_p:模 pp 的整数集合,表示从 0 到 p1p-1 的整数集合。
  • Fp\mathbb{F}_p:有限域(Finite field),表示模 pp 的整数集合,通常 pp 是一个素数。

总结

这些符号是现代密码学中的基础,理解它们对于学习和应用密码学算法和协议至关重要。通过熟悉这些符号和它们的含义,可以更好地理解密码学的理论和实践。## Site

  1. 现代密码学常用符号总结