Skip to content

Latest commit

 

History

History
33 lines (22 loc) · 1014 Bytes

README.md

File metadata and controls

33 lines (22 loc) · 1014 Bytes

SFrame

This repository contains an implementation of the draft SFrame standard for end-to-end media encryption. Since the spec is still in progress, the implementation here doesn't match exactly. For example:

  • We do not derive key/salt from the master key. The key is used directly, and the nonce is formed directly from the counter, with no salt.

  • We use AES-GCM instead of the AES-CTR + HMAC construction in the specification.

  • We include the SFrame header as AAD in the encryption

Ideally, these differences will resolve as the specification and this implementaiton evolve together.

Building and Running Tests

A convenience Makefile is included to avoid the need to remember a bunch of CMake parameters.

> make        # Builds the library
> make test   # Builds and runs tests
> make format # Runs clang-format over the source

Prerequisites

You need openssl 1.1 or greater installed, C++ compiler, make, and cmake