Skip to content

datkt/crypto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

crypto

Various cryptographic function for datk.

Installation

The datkt.crypto package an be installed with NPM.

$ npm install @datkt/crypto

Prerequisites

Usage

## Compile a program in 'main.kt' and link crypto.klib found in `node_modules/`
$ konanc -r node_modules/@datkt -l crypto/crypto main.kt

where main.kt might be

import datkt.crypto.*

fun main(args: Array<String>) {
  val kp = keyPair()
  // @TODO
}

API

data class KeyPair(val publicKey: ByteArray, val secretKey: ByteArray)

A simple data class container for a public and secret key pair

keyPair(seed: ByteArray? = null): KeyPair

Generates a ed25519 key pair suitable for creating signatures.

val kp = keyPair("some random seed value".toUtf8())

or

val kp = keyPair()

sign(message: ByteArray, secretKey: ByteArray): ByteArray

Generates a signature for a given message and secret key.

val ( publicKey, secretKey ) = keyPair()
val message = "hello".toUtf8() // convert to ByteArray
val signature = sign(message, secretKey)

Tests

To run the tests, make sure the crypto.klib Kotlin library is built by running the following command.

$ npm run build

When the library is built, run the following command to run the tests.

$ npm test

See Also

License

MIT