Commit Graph
39 Commits
Author SHA1 Message Date
Tim Ruffing 6a7af366a5 bip-0327: Remove obsolete paragraph 2024-06-13 20:54:57 +02:00
Tim Ruffing 3b77bc07fd BIP324: Remove obsolete test vector file 2024-05-09 10:12:42 +02:00
Tim Ruffing 75dc363d20 bip324: Remove garbage authentication packet (breaking change)
by merging it with the version packet. Or more accurately, by merging
it with the first packet sent after garbage termination, which may be
a decoy packet or the version packet.

The new protocol simplifies implementations:
 - A protocol state machine won't need separate states for garbage
   authentication and version phases.
 - The special case of "ignoring the ignore bit" is removed.
 - The freedom to choose the contents of the garbage authentication
   packet is removed. This simplifies testing.

The reason for having a separate garbage authentication packet was
to materialize the separation of the key exchange phase and version
negotiation phase even in the bytestream on the wire. However, this
is not necessary, and arguably, these phases are still properly
separated: Since the AEAD will ensure that AAD (=garbage) is checked
before looking at the contents (=version), the peers won't interpret
version data before having authenticated the garbage.
2023-09-28 10:19:53 +02:00
Tim Ruffing d80e437ab1 bip340: Add subsection on Domain Separation 2023-04-20 16:01:00 -04:00
Tim Ruffing 200f9b26fe bip340: Allow variable-length messages 2023-04-20 16:01:00 -04:00
Tim Ruffing 6e7e5a2523 BIP341: Use the term "NUMS" 2023-01-12 13:50:46 +01:00
Tim Ruffing 996dd77b10 BIP341: Fix definition of NUMS point 2023-01-12 13:41:06 +01:00
Tim Ruffing e98888322f BIP340: Fix typo 2020-08-04 18:57:16 +02:00
Tim Ruffing 72657270d8 When checking test vectors, handle RuntimeException in signing
This is better for playing around with the code. Now these
these exceptions can really be raised when the verification
during signing fails.
2020-03-17 02:30:39 +01:00
Tim Ruffing 07d938a214 fixup! Optionally print intermediate values in reference code 2020-03-17 02:13:26 +01:00
Tim Ruffing 003d38cedb Fix typo 2020-03-12 21:16:18 +01:00
Tim Ruffing 8c5be91975 Make code and output a little bit more readable 2020-03-12 21:16:18 +01:00
Tim Ruffing a6301c5af0 Optionally print intermediate values in reference code
and make reference code and pseudocode more consistent with each other
2020-03-12 21:15:52 +01:00
Tim Ruffing cd19095fb0 Switch to only 32 bytes aux 2020-02-29 11:21:24 +01:00
Tim Ruffing 4f482a6748 Fix a few minor issues
* Recommend a byte length for aux random data
 * Clarify that with signature verification by default at the end of the signing algorithm, using public keys from untrusted sources is not an issue.  
 *  A few editorial nits
2020-02-24 21:59:13 +01:00
Tim Ruffing 41f8993a4b Clarify nonce generation
- Separate nonce generation into getting a random byte string and converting it to a suitable scalar ...
 - ... to make clear that the byte string can be generated differently.
 - Make the warning a little bit more prominent and improve writing
2020-01-19 14:47:33 -08:00
Tim Ruffing 0dd7489dfd Update bip-schnorr.mediawiki 2020-01-19 14:47:33 -08:00
Tim Ruffing 3cc2d8ed6d Mention that we don't change the hash function 2020-01-19 14:47:33 -08:00
Tim Ruffing ad6bb6c1ff Clarify why we don't want short hashes
This is supposed to supersede https://github.com/sipa/bips/pull/158.
I tried to say this carefully. I don't think that multiparty signing is in general broken with short hashes. For example the attack in #158 could be avoided by letting everybody not only commit to the nonce but also to the message. It's just that using a collision-resistant hash just eliminates the problem entirely...
2020-01-19 14:47:33 -08:00
Tim Ruffing 9b5ba158c1 improve rationale for key prefixing 2020-01-19 14:47:33 -08:00
Tim Ruffing 7c00346cf2 typos 2020-01-19 14:47:33 -08:00
Tim Ruffing 09e3f637b5 Change reference for ECDSA proofs
Refer to Manuel Fersch's dissertation for provable security of ECDSA. It's freely accessible and multiple results put well in context.
2020-01-19 14:47:33 -08:00
Tim Ruffing a7ee6c30fa bip-schnorr: more on (e,s) 2020-01-19 14:47:33 -08:00
Tim Ruffing bc4e8f28b8 bip-schnorr: more on provable security
I'll try to get a link to the CCS paper that does not have a paywall...
2020-01-19 14:47:33 -08:00
Tim Ruffing e0e422a5ca Link to Schnorr's paper instead of Wikipedia 2020-01-19 14:47:33 -08:00
Tim Ruffing 2b987b5711 Rework Applications section 2020-01-19 14:47:33 -08:00
Tim Ruffing 29037bd123 Add a footnote about 32-byte security 2020-01-19 14:47:33 -08:00
Tim Ruffing 63a19990fd Clarify nonce generation
- Separate nonce generation into getting a random byte string and converting it to a suitable scalar ...
 - ... to make clear that the byte string can be generated differently.
 - Make the warning a little bit more prominent and improve writing
2020-01-03 12:36:25 +01:00
Tim Ruffing ad1eba008c Update bip-schnorr.mediawiki 2019-12-14 22:11:47 +01:00
Tim Ruffing ff2b53737c Mention that we don't change the hash function 2019-12-13 12:11:50 +01:00
Tim Ruffing 92582c2a33 Clarify why we don't want short hashes
This is supposed to supersede https://github.com/sipa/bips/pull/158.
I tried to say this carefully. I don't think that multiparty signing is in general broken with short hashes. For example the attack in #158 could be avoided by letting everybody not only commit to the nonce but also to the message. It's just that using a collision-resistant hash just eliminates the problem entirely...
2019-12-12 22:49:21 +01:00
Tim Ruffing db1973ffba improve rationale for key prefixing 2019-10-30 01:32:07 +01:00
Tim Ruffing 73b8e3aeeb typos 2019-10-30 01:27:26 +01:00
Tim Ruffing 0176ed1871 Change reference for ECDSA proofs
Refer to Manuel Fersch's dissertation for provable security of ECDSA. It's freely accessible and multiple results put well in context.
2019-10-21 13:27:59 +02:00
Tim Ruffing 2d9877e6e1 bip-schnorr: more on (e,s) 2019-10-15 17:26:45 -07:00
Tim Ruffing e139975eff bip-schnorr: more on provable security
I'll try to get a link to the CCS paper that does not have a paywall...
2019-10-15 16:02:09 -07:00
Tim Ruffing 3f61b2b1e7 Link to Schnorr's paper instead of Wikipedia 2019-10-03 11:21:24 +02:00
Tim Ruffing 4a383064fb Add a footnote about 32-byte security 2019-09-08 16:38:55 +02:00
Tim Ruffing 6d99e45126 Rework Applications section 2019-09-08 16:38:15 +02:00