#iota #stronghold #cryptography #security

stronghold_engine

A rust implementation of the IOTA Stronghold low-level libraries

6 releases

Uses new Rust 2021

0.5.3 Jun 27, 2022
0.5.2 Jun 3, 2022
0.4.0 Apr 21, 2021
0.1.0 Jul 29, 2020

#203 in Cryptography

Download history 598/week @ 2022-06-10 1403/week @ 2022-06-17 1057/week @ 2022-06-24 1012/week @ 2022-07-01 715/week @ 2022-07-08 1028/week @ 2022-07-15 1404/week @ 2022-07-22 535/week @ 2022-07-29 593/week @ 2022-08-05 734/week @ 2022-08-12 768/week @ 2022-08-19 471/week @ 2022-08-26 972/week @ 2022-09-02 940/week @ 2022-09-09 1419/week @ 2022-09-16 1392/week @ 2022-09-23

4,756 downloads per month
Used in 4 crates (via iota_stronghold)

Apache-2.0

225KB
5.5K SLoC

Engine

Engine is the collection of low-level module with which application architects can build higher-level implementations of Strongholds for a variety of purposes. It is platform agnostic, in that it should run anywhere a Rust Compiler will work.

It is composed of 4 primary module:

  • snapshot
  • vault
  • store
  • runtime

Snapshot

The snapshot protocol follows a fairly simple transparent pattern. Each Snapshot file follows a simple structure:

Header
Magic Bytes
Version Bytes
Body
Ephemeral Key
xchacha20 tag
Cipher Text

lib.rs:

A system for securely managing secrets.

This top-level crate contains references to the others that make up the IOTA Stronghold's low-level crates known as "Stronghold-Engine".

Layout

This framework is divided into the following crates:

  • vault: logic and abstractions for the storage layer
  • snapshot: method for storing the state of the vault in a file
  • store: a simple unencrypted storage protocol

WARNING

This library has not yet been audited for security, so use at your own peril. Until a formal third-party security audit has taken place, the IOTA Foundation makes no guarantees to the fitness of this library for any purposes.

Dependencies

~9.5MB
~139K SLoC