Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions build/site/specifications/2.1/specs/C2PA_Specification.html
Original file line number Diff line number Diff line change
Expand Up @@ -3497,11 +3497,11 @@ <h4 id="_signature_algorithms"><a class="anchor" href="#_signature_algorithms"><
<div class="ulist">
<ul>
<li>
<p>ECDSA requires elliptic curve keys on the P-256, P-384, or P-521 elliptic curves.</p>
<p>ECDSA requires elliptic curve keys on the P-256, K-256, P-384, or P-521 elliptic curves.</p>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need to do a bit of research to refresh my memory, but the typical concern with K-256 is that there are a few scenarios where timing attacks could leak information. As used in crypto-currency implementations, the timing attacks are impractical. Generalized use in C2PA might??? be problematic in some scenarios. Leonard, let me know if you want me to dig up the details or run this by cryptographers I work with.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My understanding is that certain properties of K-256 can make it more challenging to write constant-time implementations. But people did it anyway - all of the recommended implementations are constant-time, including the Rust k256 crate used in my c2pa-rs fork.

<div class="ulist">
<ul>
<li>
<p>Although it is recommended to use P-256 keys with <code>ES256</code>, P-384 keys with <code>ES384</code>, and P-521 keys with <code>ES512</code>, it is not required. Implementations shall accept keys on any of these curves for all ECDSA algorithm choices.</p>
<p>Although it is recommended to use P-256 or K-256 keys with <code>ES256</code>, P-384 keys with <code>ES384</code>, and P-521 keys with <code>ES512</code>, it is not required. Implementations shall accept keys on any of these curves for all ECDSA algorithm choices.</p>
</li>
</ul>
</div>
Expand Down
4 changes: 2 additions & 2 deletions build/site/specifications/2.1/specs/ContentCredentials.html
Original file line number Diff line number Diff line change
Expand Up @@ -2705,11 +2705,11 @@ <h4 id="_signature_algorithms"><a class="anchor" href="#_signature_algorithms"><
<div class="ulist">
<ul>
<li>
<p>ECDSA requires elliptic curve keys on the P-256, P-384, or P-521 elliptic curves.</p>
<p>ECDSA requires elliptic curve keys on the P-256, K-256, P-384, or P-521 elliptic curves.</p>
<div class="ulist">
<ul>
<li>
<p>Although it is recommended to use P-256 keys with <code>ES256</code>, P-384 keys with <code>ES384</code>, and P-521 keys with <code>ES512</code>, it is not required. Implementations shall accept keys on any of these curves for all ECDSA algorithm choices.</p>
<p>Although it is recommended to use P-256 or K-256 keys with <code>ES256</code>, P-384 keys with <code>ES384</code>, and P-521 keys with <code>ES512</code>, it is not required. Implementations shall accept keys on any of these curves for all ECDSA algorithm choices.</p>
</li>
</ul>
</div>
Expand Down