delvingbitcoin

Emulating curve point scalar multiplication with OP_CAT

Emulating curve point scalar multiplication with OP_CAT

Original Postby ajtowns

Posted on: January 8, 2024 02:10 UTC

The email in question raises concerns regarding the reliability of a cryptographic verification process.

The author points out a potential flaw where an individual could falsely claim that a particular equation, r*G = X, holds by creating a valid signature and then using a randomly chosen value z to calculate values c and r. They argue that without a method to ensure the value z matches the transaction message hash used by the CHECKSIG operation, the procedure does not prevent deception.

Despite this vulnerability, the author acknowledges that the current system limits the individual's ability to choose the value of z, which may be sufficient for certain cases. They suggest that if either CSFS or both CTV and APO were implemented with a common transaction message hash function, it would be possible to enforce that m=z. This enforcement could be done directly through CSFS or indirectly with CTV and APO by ensuring that m is correct and leaving m on the stack.

Moreover, the author questions the introduction of a new opcode specifically for secp256k1, op_secp256k1_scalar_sub, and wonders why an secp256k1_mul opcode wouldn't be introduced instead, given its direct utility for the purpose. This reflects a broader consideration of the design choices in cryptographic functions within the programming community.