Skip to content

chr78rm/shamirs-keystore

Repository files navigation

Abstract

Dieses Multi-Module-Projekt implementiert ggw. Shamir's Secret Sharing Algorithmus unter Verwendung von Newton's Polynominterpolation. Darauf aufbauend wird eine KeyStore Engine im Rahmen der Java Cryptographic Architecture entwickelt die man außer mit dem Masterpasswort auch mit einer Untermenge von Shares des Masterpasswortes freischalten kann. Um das Masterpasswort rekonstruieren zu können, sind eine Anzahl von Secret Shares zu kombinieren die über einem zuvor festgelegten Schwellenwert liegen. Das Schema ist informationstheoretisch sicher, d.h. mit weniger Secret Shares als durch den Schwellenwert definiert, erlangen Angreifer keinerlei zusätzliche Information über das verwendete Masterpasswort. Auf diese Weise kann z.B. das Vier-Augen-Prinzip durchgesetzt werden.

Build

Für den Build wird Maven und ein JDK11+ benötigt:

mvn clean install

führt dann die Unit-Tests aus erzeugt die Library mit dem JCA-Provider.