Skip to content

Collect prior art #3

@chrysn

Description

@chrysn

Relevant components we draw inspiration from:

  • ARM's PSA API does similar things, but as an idiomatic C rather than an idiomatic Rust API.
    • libcose is similar; it also provides more high-level functions, and has a good selection of build-time pluggable backends (mainly concrete crypto implementations)
  • The RustCrypto traits provide idiomatic Rust APIs, but provide a single type for a single implementation of an algorithm. embedded-cal will strive to use that existing infrastructure both for back-ends (ideally, it should be easy to glue together any number of RustCrypto traits into a single embedded-cal instance) and on the user level (so that for example once an algorithm is negotiated and a key established with a peer through some protocol, the resulting key material can be used through the traits again).
  • embedded-hal / -nal are trait families that inspired the over-all design of embedded-cal: Just like a morse code emitting application should work on any embedded Rust platform that can provide a GPIO and a timer, efficient secure network communication should work on any embedded device that has a suitable hardware accelerator.
  • Potential users so far provide bespoke intefaces:

Large cryptographic libraries in a sense also fall in this category, because they often gather multiple algorithms internally.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions