Code that is highly optimized poses a problem for program-level verification: programmers can employ various clever tricks that are non-trivial to reason about. For cryptography on low-power devices, it is nonetheless crucial that implementations be functionally correct, secure, and efficient. These are usually crafted in hand-optimized machine code that eschew conventional control flow as much as possible. We have formally verified such code: a library which implements elliptic curve cryptography on 8-bit AVR microcontrollers. The chosen implementation is the most efficient currently known for this microarchitecture. It consists of over 3000 lines of assembly instructions. Building on earlier work, we use the Why3 platform to model the code and prove verification conditions, using automated provers. We expect the approach to be re-usable and adaptable, and it allows for validation. Furthermore, an error in the original implementation was found and corrected, at the same time reducing its memory footprint. This shows that practical verification of cutting-edge code is not only possible, but can in fact add to its efficiency -- and is clearly necessary.


翻译:高度优化的代码会给程序级的核查造成问题: 程序员可以使用各种非三维的巧妙技巧。 对于低功率装置的加密来说, 关键是执行功能正确、安全和高效。 这些通常是用手动优化的机器代码制作的, 尽可能避免常规控制流。 我们已经正式验证了这种代码: 一个在 8 位 AVR 微控制器上安装 椭圆曲线密码的图书馆。 所选择的实施是目前已知的这个微缩结构中最有效的。 它由3,000多行的组装指令组成。 在早期工作的基础上, 我们使用 Whis3 平台来模拟代码并验证核查条件, 使用自动验证器。 我们期望该方法能够重新使用并适应, 并允许验证。 此外, 在减少记忆足迹的同时, 发现并纠正了最初执行过程中的错误。 这显示, 对尖端代码的实际核查不仅可能, 而且事实上可以增加其效率, 而且显然是必要的 。

0
下载
关闭预览

相关内容

【经典书】精通Linux,394页pdf
专知会员服务
89+阅读 · 2021年2月19日
神经常微分方程教程,50页ppt,A brief tutorial on Neural ODEs
专知会员服务
70+阅读 · 2020年8月2日
专知会员服务
59+阅读 · 2020年3月19日
强化学习最新教程,17页pdf
专知会员服务
167+阅读 · 2019年10月11日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
99+阅读 · 2019年10月9日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
25+阅读 · 2019年5月18日
移动端机器学习资源合集
专知
8+阅读 · 2019年4月21日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
14+阅读 · 2017年11月16日
【推荐】树莓派/OpenCV/dlib人脸定位/瞌睡检测
机器学习研究会
9+阅读 · 2017年10月24日
可解释的CNN
CreateAMind
17+阅读 · 2017年10月5日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
Arxiv
0+阅读 · 2021年5月24日
Arxiv
5+阅读 · 2018年10月4日
VIP会员
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
25+阅读 · 2019年5月18日
移动端机器学习资源合集
专知
8+阅读 · 2019年4月21日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
14+阅读 · 2017年11月16日
【推荐】树莓派/OpenCV/dlib人脸定位/瞌睡检测
机器学习研究会
9+阅读 · 2017年10月24日
可解释的CNN
CreateAMind
17+阅读 · 2017年10月5日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
Top
微信扫码咨询专知VIP会员