# Introduction to ECDSA

The **Elliptic Curve Digital Signature Algorithm (ECDSA)** is built on **elliptic curve cryptography (ECC)**. ECC relies on the **Discrete Logarithm Problem (DLP)** that exists for certain elliptic curves.

For security, it is important to know the **exact number of points on the elliptic curve** being used. However, calculating this number is computationally hard. To make ECC practical for real-world applications, we use **well-known, standardized elliptic curves**.

👉 For example, **Bitcoin uses the elliptic curve secp256k1**, defined in the *Standards for Efficient Cryptography (SEC)*.

***

### Digital Signature Protocol (Recall)

ECDSA follows the same high-level steps as the generic **Digital Signature Protocol**:

1. **Key Generation** – Create a private/public key pair.
2. **Signing Algorithm** – Apply a mathematical transformation.
   * In practice, the message is first hashed, and then the hash is signed.
3. **Verification Algorithm** – Apply another transformation to confirm validity.

<figure><img src="/files/aqunAeqkPXXZGEYsIwin" alt=""><figcaption></figcaption></figure>

### Choosing an Elliptic Curve

When working with elliptic curves, certain parameters must be clearly defined:

**Elliptic Curve Parameters**

| Parameter | Description                                                                                |
| --------- | ------------------------------------------------------------------------------------------ |
| a, b      | Coefficients that define the elliptic curve equation: y² = x³ + ax + b                     |
| p         | Prime modulus that defines the finite field (all calculations are done module p)           |
| G         | Generator point (base point) that generates the cyclic group of points on the curve        |
| q         | Order of the group generated by G (the number of distinct points before repetition occurs) |

&#x20;

***

### Transition to ECDSA

With these building blocks in place—standardized elliptic curves, defined parameters, and the digital signature protocol—we are ready to explore **ECDSA in detail**.

<figure><img src="/files/9anCDXsUNa64y1dVclL4" alt=""><figcaption></figcaption></figure>

### Key Takeaways

* **ECDSA = Digital Signatures on Elliptic Curves** – It combines the signature protocol with the efficiency of elliptic curve cryptography.
* **Standardized Curves** – Bitcoin uses secp256k1, defined by international standards for security and efficiency.
* **Three-Step Protocol** – Key generation, signing, and verification form the backbone of ECDSA.
* **Curve Parameters Matter** – Coefficients (a, b), modulus (p), generator point (G), and group order (q) are essential for defining the curve.
* **Foundation of Trust** – ECDSA ensures secure, verifiable, and efficient digital signatures without revealing private keys.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hub.bsvblockchain.org/higher-learning/bsv-academy/bitcoin-primitives-digital-signatures/elliptic-curve-digital-signature-algorithm-ecdsa/introduction-to-ecdsa.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
