【SQL开源代码栏目提醒】:本文主要为网学会员提供“分组密码算法领域专用语言 - 硕士论文”,希望对需要分组密码算法领域专用语言 - 硕士论文网友有所帮助,学习一下!
第十八届全国信息保密学术会议(IS2008)论文集 分组密码算法领域专用语言+ 李风华1’2谢绒娜1 葛琴2 欧海文1 史国振1 北京电子科技学院1 西安电子科技大学
通信学院2 摘要:本文提出了一种接近数学描述的分组密码算法领域专用语言(BCADSL),BCADSL以形式化方式易于描述分组密码算法的结构。
本文以分组密码算法DES为例说明BCADSL应用方法。
通过改进ANTLR工具实现了密码算法代码生成系统,该系统可将由BCADSL描述的分组密码算法自动生成C语言源代码。
BCADSL的实现可使密码学专家更专注密码算法的设计,提高了密码算法检验的效率,为密码算法自动检测分析提供了一种辅助工具。
关键词:领域专用语言分组密码算法领域专用语言 密码算法代码生成系统DES密码算法1 引言 随着信息技术的不断发展,确保信息的安全变得刻不容缓,密码算法对整个信息系统的安全性起着至关重要的作用。
在进行密码算法设计时,密码学专家更多关心密码算法的设计思想与原理,希望有一种易于描述密码算法结构的领域专用语言及其相应的密码算法代码生成工具,能直接将设计思想转化为源代码,减少编程设计的工作量,并避免因编程差错而引起的检验结果偏差等问题。
本文提出了一种描述分组密码算法领域专用语言(BCADSL,Block Cipher Algorithm Do.main Specific Language)及密码算法代码生成系统,密码学专家利用BCADSL可以方便地描述算法设计的思想,并借助密码算法代码生成系统将描述的算法思想自动生成C语言源代码。
自动生成的
源代码可进行算法正确性和安全性分析,以检 ·基金项目:国家863高技术研究发展计划(No.2007AA01ZA72);国家自然科学基金(No.60633020,60573036)。
·248· 分组密码算法领域专用语言验算法的设计。
领域专用语言(DSL,Domain Specific Language)是特定于某个领域需求的描述语言,它具有特殊目的性、专业性和特定任务性¨’2J。
它提供足够多的语法规范支持该领域中通用的各种概念,使该领域的
工作者可以简洁地用它构造领域内的应用程序。
设计领域专用语言的主要目的就是为了简化应用程序开发过程、降低开发代价,同时又保证领域概念的清晰性,使开发过程可靠性高、可维护性强〔3】。
开发领域语言要求开发人员必须是开发领域和开发所用语言的专家,但很少有人同时具备这两者,因而开发过程比较困难,而且发展也比较缓慢。
但近几年由于Ruby on Rails的发展,使得DSL有了很大的发展并在许多领域得到应用,如金融产品、机器人语言等。
目前在应用程序中得到广泛应用的DSL有HTML、SQL、HQL、MATLAB以及VHDL等旧J。
ANTLR(ANother Tool for Language Recognition),其前身是PCCTS,是一个语言识别的工具。
它可以接受含有语法描述的语言描述符,通过语法描述来构造自定义语言的识别器、编译器和解释器。
同时ANTLR支持动作和返回值,而且还可以根据输入自动生成语法树并可视化地显示出来。
而你所要做的就是给你的语法树附上简单的操作符和动作来告诉ANTLR如何构造AST并自动生成相应的Java,C++,C}}或者Python等解释程序H’5.6Jj。
创建DSL有两种方法【1.8〕:一种是裁剪一个现有的通用目的语言,通过增加或修改方法、操作符及缺省的行为来实现;另一种是从零开始发明一个新的语法,并为之构造一个编译器或解释器。
通过对Python、Ruby、groovy等30多种开源脚本语言的研究,因为它们生成的代码都是计算机可直接执行的代码而非中间代码,所以第一种方法并不适合。
针对