Cryptol是一个用于指定加密算法的特定域语言。其设计之初是用来表达各种各样的加密算法,以便可以有效地应用到硬件电路上,后来不断的被用在软件设备上。虽然Cryptol也存在一些局限性,但是其可行度较高。 根据Hacker News上提供的消息,用于编写加密算法的工具Cryptol DSL目前已经开源了,向广大开发者开放项目源代码。 Cryptol是什么呢? Cryptol是一个用于指定加密算法的特定域语言。Cryptol实现算法类似于数学的规范:比在一个通用语言里的实现过程更加的严密。这里有一个比较:SHA-1 hash函数规范和SHA-1 hash函数在Cryptol里的实现。 Cryptol SHA-1实现 Cryptol实现过程中明确抓取了英语描述和数学规范: SHA-1 规范 捕获和分析加密规范 如果将一种规范用在Cryptol里,程序员就可以为自己的程序生成测试矢量、证明定理、验证等效,甚至能从这个规范里生成代码。 Cryptol第二个版本目前已经开源了,基于BSD 许可证。Cryptol的使用者基本上是一些私人企业、教育工作者和美国政府。主要是被用来分析算法和实现过程,并且被用作是一种学习工具。 Cryptol的局限性 Cryptol最初的设计目的是用来表达各种各样的加密算法,以便可以有效地应用到硬件电路上。Cryptol最适合用于实施核心加密例程,而不是像SSL一样的整个加密协议套件。即使存在这样的局限性,Cryptol目前仍有能力提高许多关键加密实现的可信度。
英文原文:Cryptol |