| OpenHAP::Crypto(3p) | Perl Library Manual | OpenHAP::Crypto(3p) |
NAME
OpenHAP::Crypto - Cryptographic operations for HAP protocol
SYNOPSIS
use OpenHAP::Crypto;
# Generate Ed25519 keypair
my ($secret, $public) = OpenHAP::Crypto::generate_keypair_ed25519();
# Sign and verify
my $sig = OpenHAP::Crypto::sign_ed25519($message, $secret, $public);
my $valid = OpenHAP::Crypto::verify_ed25519($sig, $message, $public);
# X25519 key exchange
my ($our_secret, $our_public) = OpenHAP::Crypto::generate_keypair_x25519();
my $shared = OpenHAP::Crypto::derive_shared_secret($our_secret, $their_public);
# ChaCha20-Poly1305 encryption
my ($ct, $tag) = OpenHAP::Crypto::chacha20_poly1305_encrypt($key, $nonce, $pt, $aad);
my $pt = OpenHAP::Crypto::chacha20_poly1305_decrypt($key, $nonce, $ct, $tag, $aad);
DESCRIPTION
This module provides cryptographic primitives required by the HomeKit Accessory Protocol:
- Ed25519 signatures - X25519 key exchange - ChaCha20-Poly1305 authenticated encryption - HKDF-SHA-512 key derivation - SRP-6a parameters
SEE ALSO
spec/HAP-Pairing.md, spec/HAP-Encryption.md
| 2026-07-27 | OpenBSD |