verifySignature

fun verifySignature(publicKey: ByteArray, message: ByteArray, signature: ByteArray): Boolean

Verifies a Schnorr BIP-340 signature.

Purpose:

  • Cryptographic verification of signatures

  • Testing signature correctness

  • Cross-compatibility validation with Lace wallet / Midnight blockchain

Usage Example:

val publicKey: ByteArray = ... // 32 bytes BIP-340 public key
val message: ByteArray = ... // Original message that was signed
val signature: ByteArray = ... // 64-byte Schnorr signature

val isValid = TransactionSigner.verifySignature(publicKey, message, signature)
if (isValid) {
println("Signature is cryptographically valid!")
} else {
println("Signature verification failed - invalid or tampered")
}

Return

true if signature is valid for the given public key and message, false otherwise

Parameters

publicKey

32-byte BIP-340 public key

message

Message that was signed (arbitrary bytes)

signature

64-byte Schnorr signature (R || s format)

Throws

if input lengths are invalid