Rusty Russell
7f53a3e46e
BOLT 8: make it clear that there are *two* chaining keys.
...
lnmessage got this wrong! It would pass our test vectors, but actually fail
in real usage, since it used the same `ck`.
Also, nonce rotation happens after 1000 encryptions, which is when the nonce
reaches 1000 (since it's zero based!), not when it *exceeds* 1000.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2023-07-18 05:38:27 +09:30
Yong
50b7391a6e
Replace RFC7539 with RFC8439 ( #763 )
2020-08-03 22:56:00 +02:00
Corné Plooy
cc40afa88b
BOLT 8: add missing MAC check in Act Three
2020-07-20 15:49:50 -05:00
Tim Ruffing
fb7102e034
Remove reference to DER encoding for public keys in compressed format ( #742 )
...
ECDSA signatures in Bitcoin are DER-encoded but public keys are not.
The compressed format for public keys is for example standardized in
Sections 2.3.3 and 2.3.4 of
Standards for Efficient Cryptography, SEC 1: Elliptic Curve
Cryptography, Certicom Research, Version 2, 2009,
https://www.secg.org/sec1-v2.pdf
2020-02-17 11:00:30 +01:00
Tim Ruffing
35f6376f20
pubkeys live on the curve, not in the finite field
2019-11-04 06:00:50 +01:00
Rene Pickhardt
7cb708da20
BOLT08: define e
and s
within the context of the noise handshake
...
When the notation of the noise protocol framework is being introduced the terms `ck` and `k` are being explained but `e` and `s` are only referred to was public keys. I fixed that by stating what they stand for and noting that `s` is usually the the `nodeid` in the context of the Lightning Network protocol.
2019-04-30 20:00:26 -07:00
Richard Bondi
8479a92a4f
fix broken links
2019-02-18 10:08:04 +00:00
Hiroki Gondo
96b0ede8c0
BOLT 8: fix typo.
2019-01-07 12:35:20 -08:00
Hiroki Gondo
635a6a7df9
BOLT 8: fix a typo
2018-11-06 14:26:27 +11:00
Hiroki Gondo
1222fd1eca
BOLT 8: fix s
description
...
In this document `s` is not a public key but keypair.
Because there are expressions such as `s.priv`
2018-11-06 14:26:27 +11:00
Hiroki Gondo
6fea210458
BOLT 8: change the order of arguments of ECDH function
...
ref. http://noiseprotocol.org/noise.html#dh-functions
The order of arguments of DH function is the order of private key, public key.
Made the same order.
This order is reflected in the expressions of `ee`, `se`, `es`, `ss`.
2018-11-06 14:26:27 +11:00
Hiroki Gondo
46b616c142
BOLT 8: fix names of returned values of ECDH function
...
ref. http://noiseprotocol.org/noise.html#overview-of-handshake-state-machine
Change `ss` to `es`, `ee`, `se` according to each case.
2018-11-06 14:26:27 +11:00
Rusty Russell
e0c436bd7a
BOLT 8: remove extraneous ).
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-06-29 02:23:15 +00:00
Rusty Russell
9265349d2e
BOLT 8: clarify rotation frequency.
...
1 message = 2 encryptions.
Fixes : #403
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-06-11 11:18:30 +00:00
Landon Mutch
f608c33fd9
make changes requested by cdecker
2018-04-18 12:43:16 +02:00
Landon Mutch
7dd1983479
BOLT 8: finish copy edit to bring in line with stylesheet;
2018-04-18 12:43:16 +02:00
Landon Mutch
99da0d638a
BOLT 08: copy edit to line 188, impliment standard spacings between sections;
2018-04-18 12:43:16 +02:00
practicalswift
939ce285bc
BOLT 8: Fix debate over whether [] ranges are inclusive or exclusive
...
The english is pretty clear for these simple cases anyway.
2018-02-22 00:12:13 +00:00
practicalswift
5fe7fc3d62
Change from "Encrypting Messages"/"Decrypting Messages" to "Encrypting and Sending Messages"/"Receiving and Decrypting Messages"
...
In order to reflect what is actually documented.
2018-02-20 01:11:44 +00:00
practicalswift
bf87822538
Use consistent method for referencing RFC:s
2018-02-05 19:32:51 +00:00
practicalswift
87ff1bf7f1
Distinguish between static and ephemeral public keys
2018-02-05 19:32:51 +00:00
Cayle Sharrock
1ad7933241
Fix typo
...
public -> private
2018-02-05 11:32:34 +01:00
practicalswift
07976959d3
Use consistent capitalization for MITM
2018-02-05 09:09:51 +00:00
practicalswift
2c3466a2af
Remove trailing whitespace
2018-01-30 04:54:31 +00:00
Rusty Russell
58f6a70889
BOLT 8: use incremented numbers for numbering.
...
Markdown doesn't care, but we have humans reading the text.
Reported-by: @roasbeef
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-01-30 03:47:32 +00:00
Rusty Russell
0f50cc220d
BOLT 8: Steps in each Act are ordered.
...
So we should use an enumeration, not an unordered list. Same applies to
encryption, decryption and key rotation algorithms.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-01-30 03:47:32 +00:00
practicalswift
a270bb2fec
Standardization. Use "based on" instead of "based off of".
2018-01-30 03:34:22 +00:00
Shannon Appelcline
0d74fd7b53
Lower-cased an "a".
2017-12-10 23:43:34 +00:00
Shannon Appelcline
978f3dfb01
Fix from #306
...
Added fix for duplicate word courtesy of @dimitris-t in #306 .
2017-12-10 23:43:34 +00:00
Shannon Appelcline
130bc5da2c
Responses to BOLT-8 Reviews
...
(1) addressed review items from @rustyrussell and @toadlyBroodle ; and (2) added table of contents courtesy of @bcongdon in #310
2017-12-10 23:43:34 +00:00
Shannon Appelcline
2b8b491c74
BOLT-8 Edits
...
More clarity and copyediting. I also removed quite a few `s that didn't seem to match general usage for "code".
2017-12-10 23:43:34 +00:00
Dave Collins
42edacd9e7
BOLT 8: Fix current set typo.
2017-12-04 05:43:02 +00:00
Jim Posen
9073a5f3de
multi: Fix a few typos and grammatical errors.
2017-09-25 12:34:30 +09:30
Rusty Russell
d3cda9bef2
BOLT 8: Add CC-BY icon image (to match other BOLTs)
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-05-11 11:20:36 +09:30
Rusty Russell
2800f12025
BOLT 8: fix trivial typo.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-05-11 11:20:36 +09:30
Rusty Russell
7ee9619c0c
BOLT 8: typo fixes
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-05-03 13:08:07 +09:30
Christian Decker
bf815005ec
BOLT08: Renumbering references
...
We dropped reference 1 and 2 during the split, and the offset
numbering is causing a bit of head-scratching. This renumbers the
reference.
Closes #117
2017-02-28 13:48:54 +10:30
Rusty Russell
fc4846a27b
BOLT 8: fix broken test vectors (keys backwards), annotate encryption more.
...
Reported-by: Olaoluwa Osuntokun <laolu32@gmail.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-16 10:55:15 -08:00
Delo
7f6560e253
typo in byte count
2017-01-11 20:15:21 +10:30
Delo
258ef42c1e
typos in message parsing bytes
2017-01-11 20:15:21 +10:30
Olaoluwa Osuntokun
7e067bd0d9
BOLT 8: specify that chacha nonces are 96-bit little-endian
...
This commit fixes an oversight within the spec that details the
encryption nonces as being encoded in a big-endian form rather an a
little-endian for as is intended.
Since our internal nonces are 64-bit in order to match with the Noise
spec, we encoded the 96-bit nonce as 32-bits of leading zeroes followed
by the 64-bit little-endian value.
2017-01-06 13:57:32 -08:00
Rusty Russell
ad5e629cb4
BOLT 8: Test vectors for transport / key rotation.
...
Note that we increment nonce twice every message, meaning we rotate at
msg 500.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-05 11:36:16 +10:30
Rusty Russell
6be5857021
BOLT 8: Add test vectors.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-22 11:33:14 +10:30
Rusty Russell
fcc93d480a
BOLT 8: Nonces should be little-endian, 64 bit.
...
This follows the Noise spec.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-22 11:33:14 +10:30
Rusty Russell
9f979bae5b
BOLT 8: clarify the hkdf args. ( #57 )
...
They're salt and ikm respectively (using language from RFC5869).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-13 10:46:54 -08:00
Rusty Russell
3f1948ec12
BOLT 4, BOLT 8: use libsecp256k1-style ECDH.
...
You should probably be using this library anyway, so let's use their
ECDH style.
Closes : #49
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-13 10:25:25 +10:30
Christopher Jämthagen
c5ca57b853
[trivial] Some spelling and language fixes in BOLTs 6,7,8 ( #41 )
...
* Some spelling and language fixes in BOLTs 6,7,8
2016-12-09 10:32:23 +10:30
Rusty Russell
2c91aa869f
BOLT 8: make temporary handshake keys explicit.
...
This makes it clear that we do reuse the second one (and hence must
increment the nonce there).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-08 10:58:03 +10:30
Rusty Russell
1da044eb06
BOLT 8: clarify handshake nonces.
...
Spell out the send/receive nonces for the normal message transport;
they're 0 except in one place where Act3 re-uses temp_k from Act2.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Header from folded patch 'typo-fixes.patch':
Typo fixes to squash.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-08 10:58:03 +10:30
Rusty Russell
15bda3eedd
BOLT 8: explicit sn and rn nonces.
...
Spells it out that they are two separate nonces.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-08 10:58:03 +10:30