扩展与应用 Java 程序密码学验证框架
1. 引言
在之前的工作中,提出了一个框架,允许能检查标准非干扰属性但无法直接处理密码学(特别是概率和多项式有界对手)的工具,为 Java 程序建立密码学不可区分性属性,如隐私属性,此框架被称为 CVJ 框架(Java 程序密码学验证框架)。
该框架结合了程序分析和密码学的技术,具体是通用可组合性这一成熟的密码学概念。其思路是,先检查待分析 Java 程序在将密码学操作(如加密)替换为所谓的理想功能时的非干扰属性。这些理想功能通常能为无界对手提供保证,且往往无需概率操作即可表述。因此,这类分析可由原本无法处理密码学的工具完成。框架内的定理表明,当理想功能被其实现(即实际的密码学操作)替代时,Java 程序将具备强大的密码学不可区分性属性。
目前,CVJ 框架仅直接支持公钥加密(无损坏且无公钥基础设施)。本文的主要目标和贡献是通过更多适用于密码学应用的理想功能实例化该框架,并基于标准密码学假设提供这些功能的实现。
2. CVJ 框架概述
- Jinja + 语言 :CVJ 框架是为一种类似 Java 的语言 Jinja + 提出并证明的。Jinja + 基于 Jinja 并扩展了一些有用的特性,如数组和随机性。它涵盖了 Java 的丰富子集,包括类、继承、(静态和非静态)字段和方法、基本类型(int、boolean 和 byte)、数组、异常以及字段/方法访问修饰符(如 public、private 和 protected),还包含每次调用返回随机位的 primitive randomBit()。一个(Jinja +)程序/系统是一组类声明,类声明由
超级会员免费看
订阅专栏 解锁全文
171万+

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



