[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [lsd0001] branch master updated: update
From: |
gnunet |
Subject: |
[GNUnet-SVN] [lsd0001] branch master updated: update |
Date: |
Tue, 10 Sep 2019 14:19:24 +0200 |
This is an automated email from the git hooks/post-receive script.
martin-schanzenbach pushed a commit to branch master
in repository lsd0001.
The following commit(s) were added to refs/heads/master by this push:
new e5ebe17 update
e5ebe17 is described below
commit e5ebe17c915c48d9466790fb76ef4785f9140f1e
Author: Schanzenbach, Martin <address@hidden>
AuthorDate: Tue Sep 10 14:17:32 2019 +0200
update
---
draft-schanzen-gns.txt | 338 ++++++++++++++++++++++++++++++++-----------------
draft-schanzen-gns.xml | 320 ++++++++++++++++++++++++++++++++--------------
2 files changed, 447 insertions(+), 211 deletions(-)
diff --git a/draft-schanzen-gns.txt b/draft-schanzen-gns.txt
index af0fbc7..0a6dbb2 100644
--- a/draft-schanzen-gns.txt
+++ b/draft-schanzen-gns.txt
@@ -61,19 +61,19 @@ Internet-Draft The GNU Name System
July 2019
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
- 2. GNS resource records . . . . . . . . . . . . . . . . . . . . 2
- 2.1. GNS record blocks . . . . . . . . . . . . . . . . . . . . 2
- 2.1.1. GNS record block data cryptography . . . . . . . . . 3
- 2.2. GNS records . . . . . . . . . . . . . . . . . . . . . . . 4
- 2.3. Examples . . . . . . . . . . . . . . . . . . . . . . . . 5
- 2.4. Serialization format . . . . . . . . . . . . . . . . . . 5
- 2.5. Internationalization and Character Encoding . . . . . . . 5
- 2.6. Security Considerations . . . . . . . . . . . . . . . . . 5
- 3. Record Resolution . . . . . . . . . . . . . . . . . . . . . . 6
- 4. Namespace Revocation . . . . . . . . . . . . . . . . . . . . 6
- 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
- 6. Normative References . . . . . . . . . . . . . . . . . . . . 6
- Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 6
+ 2. Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
+ 3. Resource records . . . . . . . . . . . . . . . . . . . . . . 2
+ 3.1. GNS-specific resource record types . . . . . . . . . . . 3
+ 4. Publishing records . . . . . . . . . . . . . . . . . . . . . 4
+ 4.1. Resource records block . . . . . . . . . . . . . . . . . 4
+ 4.1.1. Block data encryption . . . . . . . . . . . . . . . . 6
+ 4.2. Internationalization and Character Encoding . . . . . . . 7
+ 4.3. Security Considerations . . . . . . . . . . . . . . . . . 7
+ 5. Record Resolution . . . . . . . . . . . . . . . . . . . . . . 7
+ 6. Namespace Revocation . . . . . . . . . . . . . . . . . . . . 7
+ 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
+ 8. Normative References . . . . . . . . . . . . . . . . . . . . 7
+ Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction
@@ -86,20 +86,20 @@ Table of Contents
considerations for use by implementors.
-2. GNS resource records
-
-2.1. GNS record blocks
-
- TODO
-
- A GNS record block has the following format:
-
-
-
-
+2. Zones
+ A zone in GNS is defined by a public/private ECC key pair (x,y),
+ where x is the private key and y the public key. The keys are
+ constructed using the Curve25519 ECC scheme as defined in [RFC7748].
+ The schemes defines that "y := x*P". The public key is used to
+ uniquely identify and refer to the zone. Records published in the
+ zone are signed using a private key derived from the private key as
+ described in Section XX.
+3. Resource records
+ A GNS resource record holds the data of a specific record in a zone.
+ The resource record wire format is defined as follows:
@@ -114,53 +114,53 @@ Schanzenbach Expires 24 January 2020
[Page 2]
Internet-Draft The GNU Name System July 2019
- 0 8 16 24 32 40 48 56
- +-----+-----+-----+-----+-----+-----+-----+-----+
- | SIGNATURE |
- | |
- | |
- | |
- | |
- | |
- | |
- | |
- +-----+-----+-----+-----+-----+-----+-----+-----+
- | PUBLIC KEY |
- | |
- | |
- | |
- +-----+-----+-----+-----+-----+-----+-----+-----+
- | BDATA SIZE | PURPOSE |
- +-----+-----+-----+-----+-----+-----+-----+-----+
- | EXPIRATION |
- +-----+-----+-----+-----+-----+-----+-----+-----+
- / BDATA /
- / /
- +-----+-----+-----+-----+-----+-----+-----+-----+
+ 0 8 16 24 32 40 48 56
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | EXPIRATION |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | DATA SIZE | TYPE |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | FLAGS | DATA |
+ +-----+-----+-----+-----+ |
+ / /
+ / /
+ | |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
Figure 1
where:
- SIGNATURE The GNS record block signature.
+ EXPIRATION Denotes the absolute expiration date of the record. In
+ microseconds since midnight (0 hour), January 1, 1970 in network
+ byte order.
- PUBLIC KEY A public key which is used to verify SIGNATURE. This key
- is not the public key of the namespace.
+ DATA SIZE The resource record data length in bytes and network byte
+ order.
- BDATA SIZE The GNS record block data length.
+ TYPE The resource record type. This type can be one of the GNS
+ resource records as defined in Section XX or a DNS record type as
+ defined in [RFC1035].
- PURPOSE The signature purpose.
+ FLAGS Resource record flags. Flags are defined in Section XX.
- EXPIRATION The GNS record block expiration.
+ DATA The resource record data payload. The contents are defined by
+ the respective type of the resource record.
- BDATA The GNS record block data
+3.1. GNS-specific resource record types
-2.1.1. GNS record block data cryptography
+ The a PKEY DATA entry has the following format:
+
+ 0 8 16 24 32 40 48 56
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | PUBLIC KEY |
+ | |
+ | |
+ | |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+
+ Figure 2
- Given a GNS record block a symmetric encryption scheme is used to
- en-/decrypt "BDATA". The keys are derived from the record label "l"
- and the public key "P". Both "l" and "P" are implicity known by the
- GNS resolver. The key material "K" is derived as follows:
@@ -170,37 +170,37 @@ Schanzenbach Expires 24 January 2020
[Page 3]
Internet-Draft The GNU Name System July 2019
- h := SHA512 (l,P)
- d := h*x mod n
- K := HKDF (P,l)
+4. Publishing records
- "HKDF" is a hash-based key derivation function as defined in
- [RFC5869]. For the XTR, we use HMAC-SHA512 and HMAC-SHA256 in PRF as
- proposed in (paper). Using this HKDF, we derive two symmetric
- 256-bit keys "Ka,Kt" from "K":
+ GNS resource records are published in a distributed hash table (DHT).
+ Resource records are grouped by their respective labels and published
+ together in a single block in the DHT. A resource records block is
+ published under a key which is derived from the respective label of
+ the contained records. Given a label "l", the DHT key "q" is derived
+ as follows:
- 0 8 16 24 32 40 48 56
- +-----+-----+-----+-----+-----+-----+-----+-----+
- | AES KEY |
- | |
- | |
- | |
- +-----+-----+-----+-----+-----+-----+-----+-----+
- | TWOFISH KEY |
- | |
- | |
- | |
- +-----+-----+-----+-----+-----+-----+-----+-----+
+ h := sha512 (l,y)
+ d := h*x mod p
+ q := sha512 (d*P)
- Figure 2
+ where:
- The two symmetric keys are used for a AES+TWOFISH combined cipher:
+ h is a SHA512 hash over the label "l" and public key "y".
- RDATA := TWOFISH256(Kt, AES256(Ka, BDATA))
+ d is a private key derived from the zone key x using the hash "h".
+
+ q Is the DHT key under which the resource records block is
+ published. It is the SHA512 hash over the public key "d*P"
+ corresponding to the derived private key "d".
+
+4.1. Resource records block
+
+ GNS records are grouped by their labels are published as a single
+ block in the DHT. The contained resource records are encrypted using
+ a symmetric encryption scheme. A GNS resource records block has the
+ following format:
-2.2. GNS records
- The RDATA consist of one or more entries in the following format:
@@ -228,85 +228,172 @@ Internet-Draft The GNU Name System
July 2019
0 8 16 24 32 40 48 56
+-----+-----+-----+-----+-----+-----+-----+-----+
- | EXPIRATION |
+ | SIGNATURE |
+ | |
+ | |
+ | |
+ | |
+ | |
+ | |
+ | |
+-----+-----+-----+-----+-----+-----+-----+-----+
- | PUBLIC KEY |
+ | PUBLIC KEY |
| |
| |
| |
+-----+-----+-----+-----+-----+-----+-----+-----+
- | RDATA SIZE | TYPE |
+ | BDATA SIZE | PURPOSE |
+-----+-----+-----+-----+-----+-----+-----+-----+
- | FLAGS | DATA |
- +-----+-----+-----+-----+ |
- / /
+ | EXPIRATION |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ / BDATA /
/ /
- | |
+-----+-----+-----+-----+-----+-----+-----+-----+
Figure 3
- The a PKEY DATA entry has the following format:
+ where:
- 0 8 16 24 32 40 48 56
- +-----+-----+-----+-----+-----+-----+-----+-----+
- | PUBLIC KEY |
- | |
- | |
- | |
- +-----+-----+-----+-----+-----+-----+-----+-----+
+ SIGNATURE A 512-bit ECDSA signature. TODO signature creation?
- Figure 4
+ PUBLIC KEY The 256-bit ECC public key "d*P" to be used to verify
+ SIGNATURE.
-2.3. Examples
+ BDATA SIZE A 32-bit value containing the length of the encrypted
+ resource records in network byte order.
- TODO
+ PURPOSE A 32-bit signature purpose flag. This field MUST be 15 (in
+ network byte order).
-2.4. Serialization format
+ EXPIRATION The resource records block expiration time. This is the
+ expiration time of the resource record contained within this block
+ with the smallest expiration time. This is a 64-bit absolute date
+ in microseconds since midnight (0 hour), January 1, 1970 in
+ network byte order.
- TODO (Is this not the same as wire format?)
+ BDATA The encrypted resource records with a total size of "BDATA
+ SIZE".
-2.5. Internationalization and Character Encoding
- TODO
-2.6. Security Considerations
- TODO
+Schanzenbach Expires 24 January 2020 [Page 5]
+
+Internet-Draft The GNU Name System July 2019
+4.1.1. Block data encryption
+ Given a GNS record block a symmetric encryption scheme is used to
+ en-/decrypt "BDATA". The keys are derived from the record label "l"
+ and a public key "dG", where "d" is an ECDSA private key and "G" is a
+ EC generator. "d" and "dG" are derived from the public/private key
+ pair "x,P" of a GNS zone. Both "l" and "P" are implicity known by
+ the GNS resolver. The key material "K" and initialization vector
+ "IV" are derived as follows:
-Schanzenbach Expires 24 January 2020 [Page 5]
+ h := sha512 (l,y)
+ d := h*x mod n
+ K := HKDF (dG,l,"gns-aes-ctx-key")
+ IV := HKDF (dG,l,"gns-aes-ctx-iv")
+
+ "HKDF" is a hash-based key derivation function as defined in
+ [RFC5869]. For the XTR, we use HMAC-SHA512 and HMAC-SHA256 in PRF as
+ proposed in (paper). We divide "K" into a 256-bit AES key "Kaes" and
+ a 256-bit TWOFISH key "Ktwo".
+
+ 0 8 16 24 32 40 48 56
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | AES KEY (Kaes) |
+ | |
+ | |
+ | |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | TWOFISH KEY (Ktwo) |
+ | |
+ | |
+ | |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+
+ Figure 4
+
+ Similarly, we divide "IV" into a 128-bit initialization vector IVaes
+ and a 128-bit initialization vector IVtwo:
+
+ 0 8 16 24 32 40 48 56
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | AES IV (IVaes) |
+ | |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | TWOFISH IV (IVtwo) |
+ | |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+
+ Figure 5
+
+
+
+Schanzenbach Expires 24 January 2020 [Page 6]
Internet-Draft The GNU Name System July 2019
-3. Record Resolution
+ The symmetric keys and IVs are used for a AES+TWOFISH combined
+ cipher. Both ciphers are used in CFB (ref) mode.
+
+ RDATA := AES256(Kaes, IVaes, TWOFISH256(Ktwo, IVtwo, BDATA))
+ BDATA := TWOFISH256(Ktwo, IVtwo, AES256(Kaes, IVaes, RDATA))
+
+4.2. Internationalization and Character Encoding
TODO
-4. Namespace Revocation
+4.3. Security Considerations
TODO
-5. IANA Considerations
+5. Record Resolution
+
+ TODO
+
+6. Namespace Revocation
+
+ TODO
+
+7. IANA Considerations
This will be fun
-6. Normative References
+8. Normative References
+
+ [RFC1035] Mockapetris, P., "Domain names - implementation and
+ specification", STD 13, RFC 1035, DOI 10.17487/RFC1035,
+ November 1987, <https://www.rfc-editor.org/info/rfc1035>.
[RFC5869] Krawczyk, H. and P. Eronen, "HMAC-based Extract-and-Expand
Key Derivation Function (HKDF)", RFC 5869,
DOI 10.17487/RFC5869, May 2010,
<https://www.rfc-editor.org/info/rfc5869>.
+ [RFC7748] Langley, A., Hamburg, M., and S. Turner, "Elliptic Curves
+ for Security", RFC 7748, DOI 10.17487/RFC7748, January
+ 2016, <https://www.rfc-editor.org/info/rfc7748>.
+
Author's Address
Martin Schanzenbach
GNUnet e.V.
Boltzmannstrasse 3
85748 Garching
+
+
+
+
+Schanzenbach Expires 24 January 2020 [Page 7]
+
+Internet-Draft The GNU Name System July 2019
+
+
Germany
Email: address@hidden
@@ -333,4 +420,29 @@ Author's Address
-Schanzenbach Expires 24 January 2020 [Page 6]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Schanzenbach Expires 24 January 2020 [Page 8]
diff --git a/draft-schanzen-gns.xml b/draft-schanzen-gns.xml
index 07ed475..e8902c7 100644
--- a/draft-schanzen-gns.xml
+++ b/draft-schanzen-gns.xml
@@ -53,14 +53,132 @@
</t>
</section>
+ <section anchor="zones" numbered="true" toc="default">
+ <name>Zones</name>
+ <t>
+ A zone in GNS is defined by a public/private ECC key pair (x,y), where
x
+ is the private key and y the public key.
+ The keys are constructed using the Curve25519 ECC scheme as defined in
+ <xref target="RFC7748" />.
+ The schemes defines that "y := x*P".
+ The public key is used to uniquely identify and refer to the zone.
+ Records published in the zone are signed using a private key derived
+ from the private key as described in Section XX.
+ </t>
+ </section>
<section anchor="rrecords" numbered="true" toc="default">
- <name>GNS resource records</name>
+ <name>Resource records</name>
+ <t>
+ A GNS resource record holds the data of a specific record in a zone.
+ The resource record wire format is defined as follows:
+ </t>
+ <figure anchor="figure_gnsrecord">
+ <artwork name="" type="" align="left" alt=""><![CDATA[
+ 0 8 16 24 32 40 48 56
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | EXPIRATION |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | DATA SIZE | TYPE |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | FLAGS | DATA |
+ +-----+-----+-----+-----+ |
+ / /
+ / /
+ | |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ ]]></artwork>
+ <!-- <postamble>which is a very simple example.</postamble>-->
+ </figure>
+ <t>where:</t>
+ <dl>
+ <dt>EXPIRATION</dt>
+ <dd>
+ Denotes the absolute expiration date of the record.
+ In microseconds since midnight (0 hour), January 1, 1970 in network
+ byte order.
+ </dd>
+ <dt>DATA SIZE</dt>
+ <dd>
+ The resource record data length in bytes and network byte order.
+ </dd>
+ <dt>TYPE</dt>
+ <dd>
+ The resource record type. This type can be one of the GNS resource
+ records as defined in Section XX or a DNS record type as defined in
+ <xref target="RFC1035" />.
+ </dd>
+ <dt>FLAGS</dt>
+ <dd>
+ Resource record flags. Flags are defined in Section XX.
+ </dd>
+ <dt>DATA</dt>
+ <dd>
+ The resource record data payload. The contents are defined by the
+ respective type of the resource record.
+ </dd>
+ </dl>
+ <section anchor="gnsrecords" numbered="true" toc="default">
+ <name>GNS-specific resource record types</name>
+
+ <t>The a PKEY DATA entry has the following format:</t>
+ <figure anchor="figure_pkeyrecord">
+ <artwork name="" type="" align="left" alt=""><![CDATA[
+ 0 8 16 24 32 40 48 56
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | PUBLIC KEY |
+ | |
+ | |
+ | |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ ]]></artwork>
+ <!-- <postamble>which is a very simple example.</postamble>-->
+ </figure>
+ </section>
+ </section>
+
+ <section anchor="publish" numbered="true" toc="default">
+ <name>Publishing records</name>
+ <t>
+ GNS resource records are published in a distributed hash table (DHT).
+ Resource records are grouped by their respective labels and published
+ together in a single block in the DHT.
+ A resource records block is published under a key which is derived from
+ the respective label of the contained records.
+ Given a label "l", the DHT key "q" is derived as follows:
+ </t>
+ <artwork name="" type="" align="left" alt=""><![CDATA[
+ h := sha512 (l,y)
+ d := h*x mod p
+ q := sha512 (d*P)
+ ]]></artwork>
+ <t>
+ where:
+ </t>
+ <dl>
+ <dt>h</dt>
+ <dd>
+ is a SHA512 hash over the label "l" and public key "y".
+ </dd>
+ <dt>d</dt>
+ <dd>
+ is a private key derived from the zone key x using the hash "h".
+ </dd>
+ <dt>q</dt>
+ <dd>
+ Is the DHT key under which the resource records block is published.
+ It is the SHA512 hash over the public key "d*P" corresponding to the
+ derived private key "d".
+ </dd>
+ </dl>
<section anchor="wire" numbered="true" toc="default">
- <name>GNS record blocks</name>
+ <name>Resource records block</name>
<t>
- TODO
+ GNS records are grouped by their labels are published as a single
+ block in the DHT.
+ The contained resource records are encrypted using a symmetric
+ encryption scheme.
+ A GNS resource records block has the following format:
</t>
- <t>A GNS record block has the following format:</t>
<figure anchor="figure_record_block">
<artwork name="" type="" align="left" alt=""><![CDATA[
0 8 16 24 32 40 48 56
@@ -86,25 +204,43 @@
/ BDATA /
/ /
+-----+-----+-----+-----+-----+-----+-----+-----+
- ]]></artwork>
+ ]]></artwork>
</figure>
<t>where:</t>
<dl>
<dt>SIGNATURE</dt>
- <dd>The GNS record block signature.</dd>
+ <dd>
+ A 512-bit ECDSA signature. TODO signature creation?
+ </dd>
<dt>PUBLIC KEY</dt>
- <dd>A public key which is used to verify SIGNATURE. This key is not
the public key of the namespace.</dd>
+ <dd>
+ The 256-bit ECC public key "d*P" to be used to verify SIGNATURE.
+ </dd>
<dt>BDATA SIZE</dt>
- <dd>The GNS record block data length.</dd>
+ <dd>
+ A 32-bit value containing the length of the encrypted resource
+ records in network byte order.
+ </dd>
<dt>PURPOSE</dt>
- <dd>The signature purpose.</dd>
+ <dd>
+ A 32-bit signature purpose flag. This field MUST be 15 (in network
+ byte order).
+ </dd>
<dt>EXPIRATION</dt>
- <dd>The GNS record block expiration.</dd>
+ <dd>
+ The resource records block expiration time. This is the expiration
+ time of the resource record contained within this block with the
+ smallest expiration time.
+ This is a 64-bit absolute date in microseconds since midnight
+ (0 hour), January 1, 1970 in network byte order.
+ </dd>
<dt>BDATA</dt>
- <dd>The GNS record block data</dd>
+ <dd>
+ The encrypted resource records with a total size of "BDATA SIZE".
+ </dd>
</dl>
<section numbered="true" toc="default">
- <name>GNS record block data cryptography</name>
+ <name>Block data encryption</name>
<t>
Given a GNS record block a symmetric encryption scheme is used to
en-/decrypt "BDATA". The keys are derived from the record label "l"
@@ -116,7 +252,7 @@
are derived as follows:
</t>
<artwork name="" type="" align="left" alt=""><![CDATA[
- h := SHA512 (l,P)
+ h := sha512 (l,y)
d := h*x mod n
K := HKDF (dG,l,"gns-aes-ctx-key")
IV := HKDF (dG,l,"gns-aes-ctx-iv")
@@ -127,40 +263,40 @@
HMAC-SHA256 in PRF as proposed in (paper). We divide "K" into a
256-bit AES key "Kaes" and a 256-bit TWOFISH key "Ktwo".
</t>
- <figure anchor="figure_hddf_keys">
- <artwork name="" type="" align="left" alt=""><![CDATA[
- 0 8 16 24 32 40 48 56
- +-----+-----+-----+-----+-----+-----+-----+-----+
- | AES KEY (Kaes) |
- | |
- | |
- | |
- +-----+-----+-----+-----+-----+-----+-----+-----+
- | TWOFISH KEY (Ktwo) |
- | |
- | |
- | |
- +-----+-----+-----+-----+-----+-----+-----+-----+
- ]]></artwork>
- <!-- <postamble>which is a very simple example.</postamble>-->
- </figure>
- <t>
- Similarly, we divide "IV" into a 128-bit initialization vector IVaes
- and a 128-bit initialization vector IVtwo:
- </t>
- <figure anchor="figure_hddf_keys">
- <artwork name="" type="" align="left" alt=""><![CDATA[
- 0 8 16 24 32 40 48 56
- +-----+-----+-----+-----+-----+-----+-----+-----+
- | AES IV (IVaes) |
- | |
- +-----+-----+-----+-----+-----+-----+-----+-----+
- | TWOFISH IV (IVtwo) |
- | |
- +-----+-----+-----+-----+-----+-----+-----+-----+
- ]]></artwork>
- <!-- <postamble>which is a very simple example.</postamble>-->
- </figure>
+ <figure anchor="figure_hkdf_keys">
+ <artwork name="" type="" align="left" alt=""><![CDATA[
+ 0 8 16 24 32 40 48 56
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | AES KEY (Kaes) |
+ | |
+ | |
+ | |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | TWOFISH KEY (Ktwo) |
+ | |
+ | |
+ | |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ ]]></artwork>
+ <!-- <postamble>which is a very simple
example.</postamble>-->
+ </figure>
+ <t>
+ Similarly, we divide "IV" into a 128-bit initialization vector
IVaes
+ and a 128-bit initialization vector IVtwo:
+ </t>
+ <figure anchor="figure_hkdf_ivs">
+ <artwork name="" type="" align="left" alt=""><![CDATA[
+ 0 8 16 24 32 40 48 56
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | AES IV (IVaes) |
+ | |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | TWOFISH IV (IVtwo) |
+ | |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ ]]></artwork>
+ <!-- <postamble>which is a very simple
example.</postamble>-->
+ </figure>
<t>
The symmetric keys and IVs are used for a AES+TWOFISH combined
@@ -173,57 +309,6 @@
</section>
</section>
- <section numbered="true" toc="default">
- <name>GNS records</name>
- <t>The RDATA consist of one or more entries in the following
format:</t>
- <figure anchor="figure_gnsrecord">
- <artwork name="" type="" align="left" alt=""><![CDATA[
- 0 8 16 24 32 40 48 56
- +-----+-----+-----+-----+-----+-----+-----+-----+
- | EXPIRATION |
- +-----+-----+-----+-----+-----+-----+-----+-----+
- | PUBLIC KEY |
- | |
- | |
- | |
- +-----+-----+-----+-----+-----+-----+-----+-----+
- | DATA SIZE | TYPE |
- +-----+-----+-----+-----+-----+-----+-----+-----+
- | FLAGS | DATA |
- +-----+-----+-----+-----+ |
- / /
- / /
- | |
- +-----+-----+-----+-----+-----+-----+-----+-----+
- ]]></artwork>
- <!-- <postamble>which is a very simple example.</postamble>-->
- </figure>
- <t>The a PKEY DATA entry has the following format:</t>
- <figure anchor="figure_pkeyrecord">
- <artwork name="" type="" align="left" alt=""><![CDATA[
- 0 8 16 24 32 40 48 56
- +-----+-----+-----+-----+-----+-----+-----+-----+
- | PUBLIC KEY |
- | |
- | |
- | |
- +-----+-----+-----+-----+-----+-----+-----+-----+
- ]]></artwork>
- <!-- <postamble>which is a very simple example.</postamble>-->
- </figure>
- </section>
- <section anchor="examples" numbered="true" toc="default">
- <name>Examples</name>
- <t>
- TODO
- </t>
- </section>
- <section anchor="serialization" numbered="true" toc="default">
- <name>Serialization format</name>
- <t>
- TODO (Is this not the same as wire format?)
- </t>
- </section>
<section anchor="encoding" numbered="true" toc="default">
<name>Internationalization and Character Encoding</name>
<t>
@@ -281,6 +366,45 @@
<seriesInfo name="RFC" value="5869"/>
<seriesInfo name="DOI" value="10.17487/RFC5869"/>
</reference>
+ <reference anchor="RFC7748"
target="https://www.rfc-editor.org/info/rfc7748">
+ <front>
+ <title>Elliptic Curves for Security</title>
+ <author initials="A." surname="Langley" fullname="A. Langley">
+ <organization/>
+ </author>
+ <author initials="M." surname="Hamburg" fullname="M. Hamburg">
+ <organization/>
+ </author>
+ <author initials="S." surname="Turner" fullname="S. Turner">
+ <organization/>
+ </author>
+ <date year="2016" month="January"/>
+ <abstract>
+ <t>
+ This memo specifies two elliptic curves over prime fields that
offer a high level of practical security in cryptographic applications,
including Transport Layer Security (TLS). These curves are intended to operate
at the ~128-bit and ~224-bit security level, respectively, and are generated
deterministically based on a list of required properties.
+ </t>
+ </abstract>
+ </front>
+ <seriesInfo name="RFC" value="7748"/>
+ <seriesInfo name="DOI" value="10.17487/RFC7748"/>
+ </reference>
+ <reference anchor="RFC1035"
target="https://www.rfc-editor.org/info/rfc1035">
+ <front>
+ <title>Domain names - implementation and specification</title>
+ <author initials="P.V." surname="Mockapetris" fullname="P.V.
Mockapetris">
+ <organization/>
+ </author>
+ <date year="1987" month="November"/>
+ <abstract>
+ <t>
+ This RFC is the revised specification of the protocol and format
used in the implementation of the Domain Name System. It obsoletes RFC-883.
This memo documents the details of the domain name client - server
communication.
+ </t>
+ </abstract>
+ </front>
+ <seriesInfo name="STD" value="13"/>
+ <seriesInfo name="RFC" value="1035"/>
+ <seriesInfo name="DOI" value="10.17487/RFC1035"/>
+ </reference>
<!-- <reference anchor="ISO20022">
<front>
<title>ISO 20022 Financial Services - Universal financial industry
message scheme</title>
--
To stop receiving notification emails like this one, please contact
address@hidden.