hiura-libsignal
v1.0.4
Published
Signal Protocol implementation for Hiura Baileys WhatsApp API — by Nimzz
Maintainers
Readme
@hiura/libsignal
Signal Protocol implementation for Hiura Baileys WhatsApp API.
Created by Nimzz · github.com/Nimzz-pemboy
Forked from @socketon/libsignal-node (originally from Open Whisper Systems).
Install
npm install @hiura/libsignal
# atau
yarn add @hiura/libsignalUsage
CommonJS (CJS)
const libsignal = require('@hiura/libsignal');
const keyPair = libsignal.curve.generateKeyPair();
const identityKey = await libsignal.keyhelper.generateIdentityKeyPair();
const registrationId = libsignal.keyhelper.generateRegistrationId();ESM
import { curve, keyhelper, SessionCipher, ProtocolAddress } from '@hiura/libsignal';
const keyPair = curve.generateKeyPair();API
crypto
| Fungsi | Keterangan |
|--------|------------|
| encrypt(key, data, iv) | AES-256-CBC enkripsi |
| decrypt(key, data, iv) | AES-256-CBC dekripsi |
| calculateMAC(key, data) | HMAC-SHA256 |
| hash(data) | SHA-512 hash |
| deriveSecrets(input, salt, info, chunks) | HKDF key derivation |
| verifyMAC(data, key, mac, length) | MAC verification |
curve
| Fungsi | Keterangan |
|--------|------------|
| generateKeyPair() | Generate X25519 key pair |
| calculateAgreement(pubKey, privKey) | Diffie-Hellman |
| calculateSignature(privKey, message) | Ed25519 sign |
| verifySignature(pubKey, msg, sig) | Ed25519 verify |
keyhelper
| Fungsi | Keterangan |
|--------|------------|
| generateIdentityKeyPair() | Generate identity key pair |
| generateRegistrationId() | Random registration ID |
| generateSignedPreKey(identityKeyPair, signedKeyId) | Generate signed prekey |
| generatePreKey(keyId) | Generate one-time prekey |
Classes
ProtocolAddress— Signal address (user + device ID)SessionBuilder— X3DH handshakeSessionCipher— Double ratchet enkripsi/dekripsiSessionRecord— Session storage
Errors
SignalError,UntrustedIdentityKeyError,SessionError,MessageCounterError,PreKeyError
Protocol Features
- X3DH — Extended Triple Diffie-Hellman
- Double Ratchet — Forward/backward secrecy
- AES-256-CBC — Enkripsi pesan
- HMAC-SHA256 — Autentikasi pesan
- HKDF — Key derivation (RFC 5869)
- Curve25519 — Key agreement
- Ed25519 — Digital signatures
Repository
- Baileys: github.com/Nimzz-pemboy/hiura-baileys
- LibSignal: github.com/Nimzz-pemboy/hiura-libsignal
License
GPL-3.0
