Skip to content

5.5.3 数学基础

字母表 A={a0,a1,,an1} 是一个有限非空全序集,它的元素 ai 称作字母. |A| 是字母表的长. 一个长为 nN 的字母序列 w=a1a2an (其中 aiA ) 称为字母表 A 上的长为 n 的字. An 表示所有 A 上长为 n 的字的集合. 设 m,nN,A,B 是字母表,并且设 S 是一个有限集.

密码函数是一个映射 t:An×SBm ,使得对所有 sS 映射 ts:An Bm:wt(w,s) 是单射. 函数 tsts1 分别称为加密函数和解密函数. w 称为明码, ts(w) 称为密码.

设给定密码函数 t ,那么单参数族 {ts}sS 是一个密码体制 TS . 如果除了映射 t 外,密钥集的结构和大小是明确的,那么就可使用术语密码体制. 所有属于一个密码体制的密钥的集合 S 称为密钥空间. 于是

(5.273)TS={ts:AnAnsS}

称作 An 上的密码体制.

如果 TSAn 上的密码体制,并且 n=1 ,那么 ts 称为一个流密码; 不然则称为区组密码.

An 上的密码体制的密码函数适用于将任何长度的明码加密. 明码先被分裂为长度为 n 的区组,然后对每个区组各自应用函数. 最后一个区组可能需要用填充符号加长以得到长为 n 的区组. 填充符号必须不会导致明文的曲解.

上下文无关加密与上下文敏感加密之间存在差别, 对于前者, 密文区组只是对应的明文区组和密钥的函数, 而对于后者, 密文区组与消息的其他区组有关. 理论上说, 区组的每个密文数字与对应的明文区组的所有数字以及密钥的所有数字有关. 明文或密钥的小的改变会引起密文的显著变化 (雪崩效应).

version 1.24.0