-
变量语法元素和表格-密码学-应用密码学:协议、算法与c源程序 (英文版)下载
资源介绍
5.8 变量、语法元素和表格
语法元素在比特流中以粗体字出现。每个语法元素均表示为名称(所有字母小写,以下划线连接),和一个
或两个语法类别,以及一到两个代表其编码表示方式的描述符。解码过程根据语法元素及其前一个已解码语法元
素的值进行。当表格或文本中用到某个语法元素的具体值时,则以常规形式(例如非粗体)出现。
某些情况下语法表可能使用根据语法元素值导出的其他变量的值。这些变量出现在语法表或文字中,以小写
和大写混合的形式命名,并且名字中不含下划线。以大写字母开头的变量是为了当前语法结构和所有相关语法结
构的解码导出的。以大写字母开头的变量可用于后续语法结构的解码过程,这些语法结构引用了产生该变量的那
个语法结构。而以小写字母开头的变量只能在导出它的小节中使用。
在某些情况下,语法元素值或变量值的“识记”名称可以与其数值互换。有时,“识记”名称的使用与数量
值无关。值和名称的关联在文字中做出规定。名称由一组或多组字母由下划线连接而成。每组字母均以大写字母
开头,可包括多个大写字母。
注 — 语法的描述风格与C语言的语法相似。
函数用名称来描述,函数名由语法元素名称和左右圆括号中的零个或多个以逗号(若有多个变量时)分隔的
变量名称(用于定义)或值(用于使用)构成。
一维的阵列称为列表。二维的阵列称为矩阵。阵列可以是语法元素,也可以是变量。下标或方括号可用来表
示一个阵列的索引。对于一个矩阵,第一个下标为行(垂直)索引,第二个下标为列(水平)索引。使用方括号
表示时,索引的顺序则正好相反。因此一个矩阵中的水平位置 x 和垂直位置 y 上的元素可表示为 s[ x, y ]或 syx。
单引号之间的一串比特值为二进制记号。例如,‘01000001’表示一个第二位和最后一位等于 1的 8比特串。
十六进制记号,以前缀“0x”表示,当所表示的比特位数为 4 的整数倍时可替代二进制记号使用。例如,
“0x41”表示一个第二位和最后一位等于 1 的 8 比特串。