A language and compiler for writing high-assurance, high-speed cryptographic implementations.
Jasmin is a specialized programming language and compiler designed for writing high-assurance and high-speed cryptographic implementations. It provides tools to create cryptographic code that is efficient, safe, correct, and secure, addressing the need for reliable cryptography in security-critical systems. The project focuses on generating verifiably secure and performant cryptographic software.
Cryptographers, security engineers, and developers working on cryptographic implementations who require both formal security guarantees and high performance. It is also suitable for researchers and practitioners in high-assurance cryptography.
Jasmin offers a unique combination of formal verification capabilities and optimization for speed, allowing developers to produce cryptographic code that is both provably secure and efficient. Its dedicated language and compiler streamline the creation of high-assurance cryptography, reducing the risk of vulnerabilities while maintaining performance.
Language for high-assurance and high-speed cryptography
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Jasmin is designed to produce cryptographic implementations with strong correctness and security guarantees, as emphasized in its philosophy of bridging formal verification and real-world performance.
Focuses on generating high-speed code for cryptographic operations, making it suitable for performance-critical use cases like embedded or real-time applications.
Built with an emphasis on eliminating common vulnerabilities and ensuring robust cryptographic operations, addressing the need for reliable cryptography in security-sensitive systems.
Provides detailed reference documentation on readthedocs and installation guides for various systems, supporting developers in getting started and using the tool effectively.
Requires knowledge of cryptography and formal methods, making it less accessible for developers without a background in high-assurance security.
Installation involves multiple package managers like APT, AUR, nix, or opam, as detailed in the README, which can be a barrier for quick setup and adoption.
As a niche language focused on cryptography, it has a smaller community and fewer third-party resources compared to general-purpose programming languages, relying on specialized support channels like the Formosa-Crypto Zulip chat.