在最近的年里,许多加密算法被建议提高软件和系统的安全。验证加密算法是否正确地被实现是一个挑战性的问题。软件测试交付一个有效、实际的解决方案,但是它也面对神谕问题(也就是说在许多实际状况下面,知道为任何给定的输入的输出是否是正确的不可能或太计算地昂贵) 。在这份报纸,我们当神谕不在时建议一条基于性质的途径到严峻的加密程序。我们的途径使用加密算法的所谓的变形性质产生测试用例并且验证测试结果。二案例研究被进行说明建议途径并且验证它的有效性。试验性的结果证明甚至没有神谕,建议途径能检测将近 50% 插入的差错与至多三种变形关系(太太) 和五十个测试用例。
In recent years, a variety of encrypfion algorithms were proposed to enhance the security of software and systems. Validating whether encryption algorithms are correctly implemented is a challenging issue. Software testing delivers an effective and practical solution, but it also faces the oracle problem (that is, under many practical situations, it is impossible or too computationally expensive to know whether the output for any given input is correct). In this paper, we propose a property-based approach to testing encryption programs in the absence of oracles. Our approach makes use of the so-called metamorphic properties of encryption algorithms to generate test cases and verify test results. Two case studies were conducted to illustrate the proposed approach and validate its effectiveness. Experimental results show that even without oracles, the proposed approach can detect nearly 50% inserted faults with at most three metamorphic relations (MRs) and fifty test cases.