shamirs-demo

Shamirs Keystore examples

License

License

GroupId

GroupId

de.christofreichardt
ArtifactId

ArtifactId

shamirs-demo
Last Version

Last Version

1.0.0-beta
Release Date

Release Date

Type

Type

jar
Description

Description

shamirs-demo
Shamirs Keystore examples

Download shamirs-demo

How to add to project

<!-- https://jarcasting.com/artifacts/de.christofreichardt/shamirs-demo/ -->
<dependency>
    <groupId>de.christofreichardt</groupId>
    <artifactId>shamirs-demo</artifactId>
    <version>1.0.0-beta</version>
</dependency>
// https://jarcasting.com/artifacts/de.christofreichardt/shamirs-demo/
implementation 'de.christofreichardt:shamirs-demo:1.0.0-beta'
// https://jarcasting.com/artifacts/de.christofreichardt/shamirs-demo/
implementation ("de.christofreichardt:shamirs-demo:1.0.0-beta")
'de.christofreichardt:shamirs-demo:jar:1.0.0-beta'
<dependency org="de.christofreichardt" name="shamirs-demo" rev="1.0.0-beta">
  <artifact name="shamirs-demo" type="jar" />
</dependency>
@Grapes(
@Grab(group='de.christofreichardt', module='shamirs-demo', version='1.0.0-beta')
)
libraryDependencies += "de.christofreichardt" % "shamirs-demo" % "1.0.0-beta"
[de.christofreichardt/shamirs-demo "1.0.0-beta"]

Dependencies

compile (3)

Group / Artifact Type Version
de.christofreichardt : tracelogger jar 1.8.0
de.christofreichardt : shamirs-keystore jar 1.0.0-beta
org.bouncycastle : bcpkix-jdk15on jar 1.65

test (5)

Group / Artifact Type Version
org.junit.jupiter : junit-jupiter-api jar 5.6.2
org.junit.jupiter : junit-jupiter-engine jar 5.6.2
org.junit.platform : junit-platform-launcher jar 1.6.2
org.assertj : assertj-core jar 3.15.0
de.christofreichardt : junit5-ext jar 1.0.0-beta

Project Modules

There are no modules declared in this project.

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.

Versions

Version
1.0.0-beta