利用 Cap 匹配查找入侵者知识
1. 引言
匹配是自动定理证明和密码协议分析等领域的关键操作。给定两个项 s 和 t,匹配问题就是找到一个替换 σ,使得 sσ 与 t 相同。而本文将匹配问题扩展到了 Cap 匹配。
在 Cap 匹配中,对象不再是单个对象,而是可以构建出无限多个对象的表示。Cap 项由语言签名中的函数符号和 Cap 运算符构成,Cap 运算符表示对一组 Cap 项无限次应用签名中的函数符号。例如,Cap{f}(a ∪ b)(f 是二元符号)表示无限集合的项,如 {a, b, f(a, a), f(a, b), f(b, a), f(b, b), f(a, f(a, a)), f(a, f(a, b))} 等。
之前对 Cap 项的研究有一定局限性,本文的主要成果是将项扩展为允许 Cap 出现在项的任何位置,并且要找到 Cap 匹配问题所有(通常是无限的)解的表示。我们给出了一个可靠、完整且可终止的 Cap 匹配算法,并将其应用于密码协议分析,以找出入侵者可能学到的所有消息。
2. 基本定义
- 签名与项 :我们在一个固定的签名 Σ 上工作,Σ 是一组具有固定元数的函数符号集合。Σn 表示 n 元函数集合,Σ0 表示常量集合。项的定义如下:
- 常量 a ∈ Σ0,或变量 x ∈ V;
- f(s1, …, sn),其中 f ∈ Σn,si 都是项。
项的集合记为 T(Σ, V),若没有变量,记为 T(Σ),这些项称为基项。
- 替换
超级会员免费看
订阅专栏 解锁全文
4996

被折叠的 条评论
为什么被折叠?



