@wallaby-cash/cryptography
v1.0.1
Published
Cryptography utilities for Wallaby Cash
Readme
@wallaby-cash/cryptography
Cryptography utilities for Wallaby Cash, providing Ethereum-compatible cryptographic operations.
Installation
npm install @wallaby-cash/cryptography
# or
bun add @wallaby-cash/cryptography
# or
yarn add @wallaby-cash/cryptographyFeatures
- Identity Creation: Generate new cryptographic identities with public/private key pairs
- Signing: Sign messages with private keys
- Encryption: Encrypt and decrypt data using public/private key cryptography
- Hashing: Keccak256 hashing utilities
- Key Recovery: Recover public keys from signatures
- Key Derivation: Derive public keys from private keys
Usage
import {
createIdentity,
sign,
encryptWithPublicKey,
decryptWithPrivateKey,
hash,
publicKeyByPrivateKey,
recoverPublicKey
} from '@wallaby-cash/cryptography';
// Create a new identity
const identity = createIdentity();
console.log('Public Key:', identity.publicKey);
console.log('Private Key:', identity.privateKey);
// Sign a message
const message = 'Hello, Wallaby!';
const signature = sign(identity.privateKey, message);
// Hash data
const hashed = hash.keccak256('some data');
// Encrypt and decrypt
const encrypted = await encryptWithPublicKey(identity.publicKey, 'secret message');
const decrypted = await decryptWithPrivateKey(identity.privateKey, encrypted);
// Derive public key from private key
const pubKey = publicKeyByPrivateKey(identity.privateKey);
// Recover public key from signature
const recoveredPubKey = recoverPublicKey(signature, message);API Reference
createIdentity()
Generates a new cryptographic identity with a public/private key pair.
Returns: { publicKey: string, privateKey: string }
sign(privateKey: string, message: string)
Signs a message with a private key.
Parameters:
privateKey: The private key to sign withmessage: The message to sign
Returns: Signature object
encryptWithPublicKey(publicKey: string, data: string)
Encrypts data using a public key.
Parameters:
publicKey: The recipient's public keydata: The data to encrypt
Returns: Promise<EncryptedData>
decryptWithPrivateKey(privateKey: string, encrypted: EncryptedData)
Decrypts data using a private key.
Parameters:
privateKey: The private key to decrypt withencrypted: The encrypted data object
Returns: Promise<string>
hash.keccak256(data: string)
Hashes data using Keccak256.
Parameters:
data: The data to hash
Returns: Hash string
publicKeyByPrivateKey(privateKey: string)
Derives a public key from a private key.
Parameters:
privateKey: The private key
Returns: string - The derived public key
recoverPublicKey(signature: Signature, message: string)
Recovers the public key from a signature and message.
Parameters:
signature: The signature objectmessage: The original message
Returns: string - The recovered public key
License
MIT
