Rust Cryptography Should Be Written in Rust

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • transmitic

    Encrypted, peer to peer, file transfer program :: https://discord.gg/tRT3J6T :: https://www.reddit.com/r/transmitic/ :: https://twitter.com/transmitic

  • I use it for a desktop file transfer app [0]. I chose Rust because my primary language is Python and I just wanted to learn something new and really different for this project. Go would have been easier, but Rust just feels bullet proof. It's so strict. If it compiles, it works! It's been a very interesting journey.

    [0] https://github.com/transmitic/transmitic

  • wgpu

    Cross-platform, safe, pure-rust graphics api.

  • It's become rather popular in the graphics (e.g. https://wgpu.rs/) and game dev (e.g. https://bevyengine.org/ ) spaces.

    It's pretty popular for AWS Lambda functions.

    Pretty popular for terminal / shell applications.

    Definitely a great way to write wasm for compute or graphics intensive browser/web apps.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • bevy

    A refreshingly simple data-driven game engine built in Rust

  • It's become rather popular in the graphics (e.g. https://wgpu.rs/) and game dev (e.g. https://bevyengine.org/ ) spaces.

    It's pretty popular for AWS Lambda functions.

    Pretty popular for terminal / shell applications.

    Definitely a great way to write wasm for compute or graphics intensive browser/web apps.

  • linkerd2-proxy

    A purpose-built proxy for the Linkerd service mesh. Written in Rust.

  • cxx

    Safe interop between Rust and C++

  • We selected Qt as a cross-platform solution. The C++/Rust interface is the clunkiest and ugliest part of the application, and rather complex because some state is shared between several windows in the GUI and several threads in the backend, and any component might modify that state at any time, and updates have to be transmitted to the other components without introducing inconsistencies. Using cxx [1] helped a little, though.

    The project began in 2020, and I'm not sure what I'd choose as a GUI framework today – definitely not Qt Widgets, though.

    [1] https://cxx.rs/

  • solana

    Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces.

  • nearcore

    Reference client for NEAR Protocol

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • sui

    Sui, a next-generation smart contract platform with high throughput, low latency, and an asset-oriented programming model powered by the Move programming language

  • polkadot-sdk

    The Parity Polkadot Blockchain SDK

  • riscv-zkt-list

    Discontinued [Archived as historical. Zkt is now part of the main K spec.] Zkt "safe list": extension attests that the machine has data-independent execution time for these instructions

  • > all branchless code runs in constant time

    No - e.g. division is not constant time.

    You have to have branchless code and only use certain instructions.

    E.g. here is the list for RISC-V.

    https://github.com/rvkrypto/riscv-zkt-list/blob/main/zkt-lis...

    Most things except div/rem, branches and floating point are ok. Oh and obviously store/load.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts