安全标准

行业新闻 消防知识 消防标准 安全标准 应急标准 常见问题

GB/T 15852.1-2020 信息技术 安全技术 消息鉴别码 第1部分:采用分组密码的机制

发布日期:2023-03-21 18:26 浏览次数:

1 范围

      GB/T 15852的本部分规定了采用分组密码的消息鉴别码(MAC)的用户使用要求、算法一般模型,提供了8种采用分组密码的消息鉴别码算法。

      本部分适用于安全体系结构、过程及应用的安全服务。

2 规范性引用文件

      下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。

      GB/T 17964-2008 信息安全技术 分组密码算法的工作模式

3 术语和定义

      下列术语和定义适用于本文件。

3.1

      分组 block

      长度为n的比特串。

3.2

      密钥 key

      控制密码变换操作的符号序列。

      注:密码变换操作,例如加密、解密、密码校验函数计算、签名生成、签名验证。

      [GB/T 15843.1-2017,定义3.16]

3.3

      明文 plaintext

      未加密的信息。

3.4

      密文 ciphertext

      为隐藏信息内容进行变换后的数据。

      [GB/T 15843.1-2017,定义3.7]

3.5

      分组密码密钥 block cipher key

      控制分组密码运算的密钥。

3.6

      n比特分组密码 n-bit block cipher

      分组长度为n比特的分组密码。

3.7

      加密 encryption

      为隐藏数据信息,通过密码算法对数据进行的一种可逆变换过程,并产生密文。

      [GB/T 15843.1-2017,定义3.13]

3.8

      解密 decryption

      一个相应的加密过程的逆过程。

      [GB/T 15843.1-2017,定义3.10]

3.9

      数据完整性 data integrity

      数据未被非授权地修改或破坏的性质。

      [GB/T 9387.2-1995,定义3.3.21]

3.10

      消息鉴别码 message authentication code

      利用对称密码技术,以密钥为参数,由消息导出的数据项。任何持有这一密钥的实体,都可利用消息鉴别码检查消息的完整性和始发者。

      注:一个MAC有时也称作一个密码校验值。

3.11

      消息鉴别码算法 message authentication code algorithm

      输入为密钥和消息,输出为一个固定长度的比特串的算法,满足下面两个性质:

      ——对于任何密钥和消息,MAC算法都能快速有效地计算;

      ——对于任何固定的密钥,攻击者在没有获得密钥信息的情况下,即使获得了一些(消息,MAC)对,对任何新的消息预测其MAC在计算上是不可行的。

      注1:MAC算法有时也称作密码校验函数。

      注2:计算不可行性依赖于使用者具体的安全要求及其环境。

3.12

      MAC算法密钥 MAC algorithm key

      用于控制消息鉴别码算法运算的密钥。

3.13

      初始变换 initial transformation

      消息鉴别码算法起始时所应用的函数。

3.14

      输出变换 output transformation

      在算法末尾且截断操作之前所应用的函数。

4 符号和缩略语

4.1 符号

      下列符号适用于本文件。

      CTi 整数i的n比特的二进制表示

      D 输入MAC算法的数据比特串

      Dj 填充和分割操作后,分割自数据比特串D的分组

      dk(C) 使用分组密码e和密钥K对密文C进行解密

      ek(P) 使用分组密码e和密钥K对明文P进行加密

      F 最终迭代

      G 输出变换的结果

      g 输出变换,将分组Hq映射到分组G

      GF(2") 元素个数为2"的有限域

      H0,H1,···,Hq MAC算法运算中的中间变量

      I  初始变换

      K,K',K" 分组密码的秘密密钥,长度为k比特

      K1,K2 秘密掩码密钥,长度为n比特

      k 分组密码密钥的比特长度

      k* MAC算法密钥的比特长度

      L 填充方法3中表示长度的分组,等价于输入消息长度的二进制表示经左侧填充得到n比特分组

      LD 数据比特串D的比特长度

      LSSBj(X) 比特串X最右侧j比特串

      MSBj(X) 比特串X最左侧j比特串

      m MAC值的比特长度 

      multx(T) 长度为n的比特串T上的操作,记作 T*x,其中T是有限域GF(2")上的元素,将T与  的单项式x相乘。计算如下,其中 T-1表示T的最左侧的比特:

图.jpg

      n 分组密码的分组长度

      pn(x) GF(2)上的n次不可约多项式,即:没有非平凡因子的多项式

长度为n的比特串,包含不可约多项式 pn(x)最右侧的n个系数(对应于 x”-1x"-2,···,x,x0=1)

      对于

      n=128,pn(x)=x128+x7+x2+x+1,p128=012010000111

      对于

      n=64,pn(x)=x64+x4+x3+x+1,p64=05911011。

      q 经过填充和分割操作之后,数据比特串D的分组个数

      S 长度为n的秘密比特串

      S1,S2 长度为t·n的秘密比特串

      t 不小于k/N的最小整数

      X⊕Y  比特串X和Y的异或值

      X||Y 按顺序将比特串X和Y连接所构成的比特串

      0n个零比特组成的比特串

      := MAC算法定义中使用的赋值符号


以上为标准部分内容,如需看标准全文,请到相关授权网站购买标准正版。

X

截屏,微信识别二维码

微信号:gongliff001

(点击微信号复制,添加好友)

  打开微信

微信号已复制,请打开微信添加咨询详情!