跳到主要内容

3.3. Construction of AEAD Inputs (AEAD 输入的构造)

3.3. Construction of AEAD Inputs (AEAD 输入的构造)

若 AD 输入由多个数据元素构成, 则必须能够在解析过程中不使用任何未经认证的数据, 将其无歧义地解析为各组成元素。(用数学语言说, AD 输入必须是数据元素的单射函数 (injective function)。) 若应用构造 AD 的方式使得两组不同数据元素对应同一 AD 值, 则攻击者可通过替换其中一组使接收方接受伪造集合。要求 AD 可唯一解析即可杜绝此类攻击。若 AD 由定宽元素组成, 则显然满足该要求。若 AD 包含变长字符串, 例如可将字符串长度一并纳入 AD 以满足要求。

类似地, 若明文由多个数据元素构成, 则必须能够在不使用任何未经认证的数据进行解析的前提下, 将其无歧义地解析为各组成元素。注意, 解析明文时可以使用包含在 AD 中的数据; 当然, 由于 AD 未加密, 若在 AD 中包含与明文相关的信息, 可能造成机密性损失。