Skip to content

Commit

Permalink
update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
muzzammilshahid committed Mar 7, 2024
1 parent aa70105 commit a825c00
Showing 1 changed file with 84 additions and 2 deletions.
86 changes: 84 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,84 @@
# cryptology-java
libsodium compatible SealedBox and SecretBox implementation in Java
# CryptologyJava

libsodium compatible CryptoSign, SealedBox and SecretBox implementation in Java.

## Download

Include CryptologyJava in your project using Maven:

```xml
<dependency>
<groupId>io.xconn</groupId>
<artifactId>cryptology</artifactId>
<version>0.1.0</version>
</dependency>
```

Or with Gradle:

```groovy
implementation 'io.xconn:cryptology:0.1.0'
```

## Usage

### CryptoSign

Generate ED25519 KeyPair

```java
KeyPair keyPair = CryptoSign.generateKeyPair();
```

Get PublicKey from PrivateKey

```java
byte[] privateKey = // ED25519 private key bytes
byte[] publicKey = CryptoSign.getPublicKey(privateKey);
```

Sign Message

```java
byte[] privateKey = // ED25519 private key bytes
byte[] message = "Hello, world!".getBytes();
byte[] signature = CryptoSign.sign(privateKey, message);
```

### SealedBox

Seal Message

```java
byte[] recipientPublicKey = // X25519 recipient's public key bytes
byte[] message = "Secret message".getBytes();
byte[] encryptedMessage = SealedBox.seal(message, recipientPublicKey);
```

Open Sealed Message

```java
byte[] privateKey = // X25519 recipient's private key bytes
byte[] sealedMessage = // Sealed message bytes
byte[] decryptedMessage = SealedBox.sealOpen(sealedMessage, privateKey);
```

### SecretBox

Encrypt Message

```java
byte[] nonce = SecretBox.generateNonce();
byte[] secretKey = SecretBox.generateSecret();
byte[] message = "Secret message".getBytes();
byte[] encryptedMessage = SecretBox.box(nonce, message, secretKey);
```

Decrypt Message

```java
byte[] nonce = // Nonce bytes
byte[] secretKey = // Secret key bytes
byte[] sealedMessage = // Sealed message bytes
byte[] decryptedMessage = SecretBox.boxOpen(sealedMessage, nonce, secretKey);
```

0 comments on commit a825c00

Please sign in to comment.