This repository holds the reference implementation code for a concrete construction for the sealing scheme described in the following paper to be presented at SCIS 2024:
SezDis Sealing: a Short, Efficient, and Zero-Storage Distributed Sealing Scheme.
This implementation is written in TypeScript.
You can build it with yarn
followed by yarn build
(assuming you have Yarn the package manager installed.)
You can run the included tests with yarn jest
(assume that you have built the project first.)
If you are hacking around, you may find yarn dev
and yarn verify
particularly interesting.
-
src/sezdis-generic.ts
implements the generic SezDis scheme as annotated source code. The implementation mostly follow the description in the paper with one noticeable difference:AD.verifier
is omitted andD.tok
is directly derived asKDF(K ++ D.id ++ A.secret)
.This is an early variant of the scheme and does not effect the effectiveness nor security properties of the scheme.
AD.verifier
is an option feature to assist the registration process BEYOND what is necessary for SezDis itself, as discussed in the paper. -
src/sezdis-416a0.ts
implements a concrete construction of the SezDis scheme.416a0
signifies the fact that it's the first published scheme (thea0
part) that generates 416-bits seals. -
src/node-crypto/node-sezdes416a0-prims.ts
gives an overview of all crypto primitives used to implement the416a0
concrete scheme of SezDis. -
src/sezdis.test.ts
contains various tests to validate primitives as well as thesezdis-416a0
implementation.
This software is licensed under the Apache License version 2.0 by the copyright holder(s) listed below. See the LICENSE file for details.
Copyright 2023 Kotoi-Xie Consultancy, Inc.