论文部分内容阅读
形式化方法是提高软件设计可靠性和正确性的重要途径,其基本含义是借助数学的方法来研究计算机科学中的有关问题。形式化方法主要研究形式化规范和形式化验证两个方面。原型验证系统PVS(Prototype Verification System)是斯坦福研究机构设计开发的一种形式化工具,它提供了一个用于形式化规范和验证的集成环境。PVS的规范语言基于高阶逻辑,具有丰富的类型系统,是一种表达力强大的语言,大多数数学、计算概念都可用该语言表示出来;PVS的定理证明器以交互方式工作,同时又具有高度的自动化水平。PVS可以用于构造充分正确的规范,并且对规范进行严格的证明。
在密码系统中,处理的整数的大小往往超过264,比如,RSA公钥密码系统的基本模块的比特长度至少是1024。这些大的整数远远超过了现有的程序设计语言及其编译器的处理能力,为此,人们设计了超长整数运算系统来对超长整数进行处理。超长整数运算系统的设计安全性是密码系统安全性的基础,通过对超长整数运算系统的设计进行形式化的规范与验证,对于提高超长整数运算系统设计的正确性,进而保障密码系统的安全性具有重要的意义。
本文使用形式化工具PVS对超长整数运算系统进行形式化的规范与验证。超长整数运算系统主要解决超长整数的存储和运算两个问题,超长整数的运算包括超长十进制整数与二进制整数的转换、超长二进制整数的移位、比较、加、减、乘、除、模幂算法。首先,根据超长整数运算系统对数据存储的需求,对超长整数进行了形式化的规范,包括超长十进制整数和超长二进制整数的规范。接着,分析了超长整数的相关算法,并给出了它们的形式化规范。然后,根据超长整数运算系统的需求分析提出一些定理,通过对这些定理的证明从而验证了超长整数运算系统的需求分析与设计规范之间的一致性。最后,本文将我们所研究的超长整数运算系统的形式化分析方法推广到其他超长整数运算系统的形式化分析中,使得本方法能够普遍应用于超长整数运算系统的设计验证。