Skip to content

basic elliptic curve crypto for React Native

License

Notifications You must be signed in to change notification settings

mccsoft/react-native-ecc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

react-native-ecc

basic elliptic curve crypto for React Native

this module is used by Tradle

Installation

See Linking Libraries

Usage

import * as ec from 'react-native-ecc'
import { Buffer } from 'buffer'

// if you want to be able to find your keys
// next time, make sure to use the same service ID 
ec.setServiceID('be.excellent.to.each.other')
// optional
// ec.setAccessGroup('dsadjsakd.com.app.awesome.my')

// this library allows you to sign 32 byte hashes (e.g. sha256 hashes)
const msg = new Buffer('hey ho')
// check ec.curves for supported curves
const curve = 'p256'
ec.keyPair(curve, function (err, key) {
  // pub tested for compatibility with npm library "elliptic"
  const pub = key.pub
  console.log('pub', key.pub.toString('hex'))

  // look up the key later like this:
  // const key = ec.keyFromPublic(pub)

  key.sign({
    data: msg,
    algorithm: 'sha256'
  }, function (err, sig) {
    // signatures tested for compatibility with npm library "elliptic"
    console.log('sig', sig.toString('hex'))
    key.verify({
      algorithm: 'sha256',
      data: msg,
      sig: sig
    }, function (err, verified) {
      console.log('verified:', verified)
    })
  })
})

About

basic elliptic curve crypto for React Native

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 48.7%
  • Java 36.4%
  • JavaScript 13.6%
  • Ruby 1.3%