Emulating curve point scalar multiplication with OP_CAT

Posted by ajtowns

Jan 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.

Link to Raw Post
Bitcoin Logo

TLDR

Join Our Newsletter

We’ll email you summaries of the latest discussions from authoritative bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.

Explore all Products

ChatBTC imageBitcoin searchBitcoin TranscriptsSaving SatoshiBitcoin Transcripts Review
Built with 🧡 by the Bitcoin Dev Project
View our public visitor count

We'd love to hear your feedback on this project?

Give Feedback