paperbot · PL 论文追踪

全部论文 待读 收藏

P2 llvm2CryptoLine: Verifying Arithmetic in Cryptographic C Programs

llvm2CryptoLine:验证密码学 C 程序中的算术运算
FSE Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering2023匹配度 4/10 · 论文属于形式化验证/静态分析在工业密码库中的工程应用,与用户对工业落地和理论+工程实现的偏好有部分交集;但不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,也没有 AI 与 PL 的交叉,因此不匹配核心研究方向。引用 1 inbox
Ruiling Chen, Jiaxiang Liu, Xiaomu Shi, Ming-Hsien Tsai, Bow-Yaw Wang, Bo-Yin Yang
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出自动形式化验证工具 llvm2CryptoLine,可高效验证工业密码库 C 程序中的非线性算术运算。

密码原语实现的正确性对现代安全至关重要,而其实现中常包含难以验证的非线性算术运算。本文提出 llvm2CryptoLine,一个面向密码学 C 程序中算术运算的自动形式化验证工具。该工具将 C 程序经 LLVM 中间表示翻译到 CryptoLine 验证框架,从而对算术运算进行形式化验证。作者在来自工业密码库 OpenSSL、wolfSSL 和 NaCl 的 51 个算术 C 程序上进行了评估,llvm2CryptoLine 成功验证了全部程序,且大多数程序可被完全自动、高效地验证。论文还提供了演示视频与开源代码。

问题
密码原语实现中的非线性算术运算难以用现有方法进行形式化验证,而这类实现的正确性对安全至关重要。
方法
llvm2CryptoLine 将 C 程序经 LLVM 中间表示翻译到 CryptoLine 验证框架,实现对密码学程序中算术运算的自动化形式化验证。
评估
在 OpenSSL、wolfSSL 和 NaCl 三个工业密码库中的 51 个算术 C 程序上进行验证,全部成功,且大多数程序完全自动、高效地完成验证。
原文摘要(Abstract)

Correct implementations of cryptographic primitives are essential for modern security. These implementations often contain arithmetic operations involving non-linear computations that are infamously hard to verify. We present llvm2CryptoLine, an automated formal verification tool for arithmetic operations in cryptographic C programs. llvm2CryptoLine successfully verifies 51 arithmetic C programs from industrial cryptographic libraries OpenSSL, wolfSSL and NaCl. Most of the programs are verified fully automatically and efficiently. A screencast that showcases llvm2CryptoLine can be found at https://youtu.be/QXuSmja45VA. Source code is available at https://github.com/fmlab-iis/llvm2cryptoline.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@inproceedings{Chen0S0WY23,
  title = {llvm2CryptoLine: Verifying Arithmetic in Cryptographic C Programs},
  author = {Ruiling Chen and Jiaxiang Liu and Xiaomu Shi and Ming-Hsien Tsai and Bow-Yaw Wang and Bo-Yin Yang},
  booktitle = {FSE},
  year = {2023},
  doi = {10.1145/3611643.3613096}
}