1 Internet Engineering Task Force (IETF)                           O. Sury   
    2 Request for Comments: 8080                                        CZ.NIC   
    3 Category: Standards Track                                     R. Edmonds   
    4 ISSN: 2070-1721                                                   Fastly   
    5                                                            February 2017   
    6                                                                            
    7                                                                            
    8       Edwards-Curve Digital Security Algorithm (EdDSA) for DNSSEC          
    9                                                                            
   10 Abstract                                                                   
   11                                                                            
   12    This document describes how to specify Edwards-curve Digital Security   
   13    Algorithm (EdDSA) keys and signatures in DNS Security (DNSSEC).  It     
   14    uses EdDSA with the choice of two curves: Ed25519 and Ed448.            
   15                                                                            
   16 Status of This Memo                                                        
   17                                                                            
   18    This is an Internet Standards Track document.                           
   19                                                                            
   20    This document is a product of the Internet Engineering Task Force       
   21    (IETF).  It represents the consensus of the IETF community.  It has     
   22    received public review and has been approved for publication by the     
   23    Internet Engineering Steering Group (IESG).  Further information on     
   24    Internet Standards is available in Section 2 of RFC 7841.               
   25                                                                            
   26    Information about the current status of this document, any errata,      
   27    and how to provide feedback on it may be obtained at                    
   28    http://www.rfc-editor.org/info/rfc8080.                                 
   29                                                                            
   30 Copyright Notice                                                           
   31                                                                            
   32    Copyright (c) 2017 IETF Trust and the persons identified as the         
   33    document authors.  All rights reserved.                                 
   34                                                                            
   35    This document is subject to BCP 78 and the IETF Trust's Legal           
   36    Provisions Relating to IETF Documents                                   
   37    (http://trustee.ietf.org/license-info) in effect on the date of         
   38    publication of this document.  Please review these documents            
   39    carefully, as they describe your rights and restrictions with respect   
   40    to this document.  Code Components extracted from this document must    
   41    include Simplified BSD License text as described in Section 4.e of      
   42    the Trust Legal Provisions and are provided without warranty as         
   43    described in the Simplified BSD License.                                
   44                                                                            
   45                                                                            
   46                                                                            
   47                                                                            
   48                                                                            
   49                                                                            
   50                                                                            
   51                                                                            
   52 Sury & Edmonds               Standards Track                    [Page 1]   

   53 RFC 8080                    EdDSA for DNSSEC               February 2017   
   54                                                                            
   55                                                                            
   56 Table of Contents                                                          
   57                                                                            
   58    1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2   
   59    2.  Requirements Language . . . . . . . . . . . . . . . . . . . .   2   
   60    3.  DNSKEY Resource Records . . . . . . . . . . . . . . . . . . .   2   
   61    4.  RRSIG Resource Records  . . . . . . . . . . . . . . . . . . .   3   
   62    5.  Algorithm Number for DS, DNSKEY, and RRSIG Resource Records .   3   
   63    6.  Examples  . . . . . . . . . . . . . . . . . . . . . . . . . .   3   
   64      6.1.  Ed25519 Examples  . . . . . . . . . . . . . . . . . . . .   3   
   65      6.2.  Ed448 Examples  . . . . . . . . . . . . . . . . . . . . .   4   
   66    7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5   
   67    8.  Security Considerations . . . . . . . . . . . . . . . . . . .   5   
   68    9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   6   
   69      9.1.  Normative References  . . . . . . . . . . . . . . . . . .   6   
   70      9.2.  Informative References  . . . . . . . . . . . . . . . . .   7   
   71    Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .   7   
   72    Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   7   
   73                                                                            
   74 1.  Introduction                                                           
   75                                                                            
   76    DNSSEC, which is broadly defined in [RFC4033], [RFC4034], and           
   77    [RFC4035], uses cryptographic keys and digital signatures to provide    
   78    authentication of DNS data.  Currently, the most popular signature      
   79    algorithm in use is RSA.  GOST [RFC5933] and NIST-specified elliptic    
   80    curve cryptography [RFC6605] are also standardized.                     
   81                                                                            
   82    [RFC8032] describes the elliptic curve signature system Edwards-curve   
   83    Digital Signature Algorithm (EdDSA) and recommends two curves,          
   84    Ed25519 and Ed448.                                                      
   85                                                                            
   86    This document defines the use of DNSSEC's DS, DNSKEY, and RRSIG         
   87    resource records (RRs) with a new signing algorithm, EdDSA, using a     
   88    choice of two curves: Ed25519 and Ed448.                                
   89                                                                            
   90 2.  Requirements Language                                                  
   91                                                                            
   92    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",     
   93    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this    
   94    document are to be interpreted as described in [RFC2119].               
   95                                                                            
   96 3.  DNSKEY Resource Records                                                
   97                                                                            
   98    An Ed25519 public key consists of a 32-octet value, which is encoded    
   99    into the Public Key field of a DNSKEY resource record as a simple bit   
  100    string.  The generation of a public key is defined in Section 5.1.5     
  101    of [RFC8032].                                                           
  102                                                                            
  103                                                                            
  104                                                                            
  105                                                                            
  106                                                                            
  107 Sury & Edmonds               Standards Track                    [Page 2]   

  108 RFC 8080                    EdDSA for DNSSEC               February 2017   
  109                                                                            
  110                                                                            
  111    An Ed448 public key consists of a 57-octet value, which is encoded      
  112    into the Public Key field of a DNSKEY resource record as a simple bit   
  113    string.  The generation of a public key is defined in Section 5.2.5     
  114    of [RFC8032].                                                           
  115                                                                            
  116 4.  RRSIG Resource Records                                                 
  117                                                                            
  118    An Ed25519 signature consists of a 64-octet value, which is encoded     
  119    into the Signature field of an RRSIG resource record as a simple bit    
  120    string.  The Ed25519 signature algorithm and verification of the        
  121    Ed25519 signature are described in Sections 5.1.6 and 5.1.7 of          
  122    [RFC8032], respectively.                                                
  123                                                                            
  124    An Ed448 signature consists of a 114-octet value, which is encoded      
  125    into the Signature field of an RRSIG resource record as a simple bit    
  126    string.  The Ed448 signature algorithm and verification of the Ed448    
  127    signature are described in Sections 5.2.6 and 5.2.7 of [RFC8032],       
  128    respectively.                                                           
  129                                                                            
  130 5.  Algorithm Number for DS, DNSKEY, and RRSIG Resource Records            
  131                                                                            
  132    The algorithm number associated with the use of Ed25519 in DS,          
  133    DNSKEY, and RRSIG resource records is 15.  The algorithm number         
  134    associated with the use of Ed448 in DS, DNSKEY, and RRSIG resource      
  135    records is 16.  This registration is fully defined in the IANA          
  136    Considerations section.                                                 
  137                                                                            

The IETF is responsible for the creation and maintenance of the DNS RFCs. The ICANN DNS RFC annotation project provides a forum for collecting community annotations on these RFCs as an aid to understanding for implementers and any interested parties. The annotations displayed here are not the result of the IETF consensus process.

This RFC is included in the DNS RFCs annotation project whose home page is here.

GLOBAL V. Risk, ISC.orgBIND 9 implementation note2022-08-15

This RFC is implemented in BIND 9.18 (all versions).

  138 6.  Examples                                                               
  139                                                                            
  140 6.1.  Ed25519 Examples                                                     
  141                                                                            
  142 Private-key-format: v1.2                                                   
  143 Algorithm: 15 (ED25519)                                                    
  144 PrivateKey: ODIyNjAzODQ2MjgwODAxMjI2NDUxOTAyMDQxNDIyNjI=                   
  145                                                                            
  146 example.com. 3600 IN DNSKEY 257 3 15 (                                     
  147              l02Woi0iS8Aa25FQkUd9RMzZHJpBoRQwAQEX1SxZJA4= )                
  148                                                                            
  149 example.com. 3600 IN DS 3613 15 2 (                                        
  150              3aa5ab37efce57f737fc1627013fee07bdf241bd10f3b1964ab55c78e79   
  151              a304b )                                                       
  152                                                                            
  153 example.com. 3600 IN MX 10 mail.example.com.                               
  154                                                                            
  155 example.com. 3600 IN RRSIG MX 3 3600 (                                     
  156              1440021600 1438207200 3613 example.com. (                     
  157              Edk+IB9KNNWg0HAjm7FazXyrd5m3Rk8zNZbvNpAcM+eysqcUOMIjWoevFkj   
  158              H5GaMWeG96GUVZu6ECKOQmemHDg== )                               
  159                                                                            
  160                                                                            
  161                                                                            
  162 Sury & Edmonds               Standards Track                    [Page 3]   

  163 RFC 8080                    EdDSA for DNSSEC               February 2017   
  164                                                                            
  165                                                                            
  166 Private-key-format: v1.2                                                   
  167 Algorithm: 15 (ED25519)                                                    
  168 PrivateKey: DSSF3o0s0f+ElWzj9E/Osxw8hLpk55chkmx0LYN5WiY=                   
  169                                                                            
  170 example.com. 3600 IN DNSKEY 257 3 15 (                                     
  171              zPnZ/QwEe7S8C5SPz2OfS5RR40ATk2/rYnE9xHIEijs= )                
  172                                                                            
  173 example.com. 3600 IN DS 35217 15 2 (                                       
  174              401781b934e392de492ec77ae2e15d70f6575a1c0bc59c5275c04ebe80c   
  175              6614c )                                                       
  176                                                                            
  177 example.com. 3600 IN MX 10 mail.example.com.                               
  178                                                                            
  179 example.com. 3600 IN RRSIG MX 3 3600 (                                     
  180              1440021600 1438207200 35217 example.com. (                    
  181              5LL2obmzdqjWI+Xto5eP5adXt/T5tMhasWvwcyW4L3SzfcRawOle9bodhC+   
  182              oip9ayUGjY9T/rL4rN3bOuESGDA== )                               
  183                                                                            
  184 6.2.  Ed448 Examples                                                       
  185                                                                            
  186 Private-key-format: v1.2                                                   
  187 Algorithm: 16 (ED448)                                                      
  188 PrivateKey: xZ+5Cgm463xugtkY5B0Jx6erFTXp13rYegst0qRtNsOYnaVpMx0Z/c5EiA9x   
  189             8wWbDDct/U3FhYWA                                               
  190                                                                            
  191 example.com. 3600 IN DNSKEY 257 3 16 (                                     
  192              3kgROaDjrh0H2iuixWBrc8g2EpBBLCdGzHmn+G2MpTPhpj/OiBVHHSfPodx   
  193              1FYYUcJKm1MDpJtIA )                                           
  194                                                                            
  195 example.com. 3600 IN DS 9713 16 2 (                                        
  196              6ccf18d5bc5d7fc2fceb1d59d17321402f2aa8d368048db93dd811f5cb2   
  197              b19c7 )                                                       
  198                                                                            
  199 example.com. 3600 IN MX 10 mail.example.com.                               
  200                                                                            
  201 example.com. 3600 IN RRSIG MX 3 3600 (                                     
  202              1440021600 1438207200 9713 example.com. (                     
  203              Nmc0rgGKpr3GKYXcB1JmqqS4NYwhmechvJTqVzt3jR+Qy/lSLFoIk1L+9e3   
  204              9GPL+5tVzDPN3f9kAwiu8KCuPPjtl227ayaCZtRKZuJax7n9NuYlZJIusX0   
  205              SOIOKBGzG+yWYtz1/jjbzl5GGkWvREUCUA )                          
  206                                                                            
  207                                                                            
  208                                                                            
  209                                                                            
  210                                                                            
  211                                                                            
  212                                                                            
  213                                                                            
  214                                                                            
  215                                                                            
  216                                                                            
  217 Sury & Edmonds               Standards Track                    [Page 4]   

  218 RFC 8080                    EdDSA for DNSSEC               February 2017   
  219                                                                            
  220                                                                            
  221 Private-key-format: v1.2                                                   
  222 Algorithm: 16 (ED448)                                                      
  223 PrivateKey: WEykD3ht3MHkU8iH4uVOLz8JLwtRBSqiBoM6fF72+Mrp/u5gjxuB1DV6NnPO   
  224             2BlZdz4hdSTkOdOA                                               
  225                                                                            
  226 example.com. 3600 IN DNSKEY 257 3 16 (                                     
  227              kkreGWoccSDmUBGAe7+zsbG6ZAFQp+syPmYUurBRQc3tDjeMCJcVMRDmgcN   
  228              Lp5HlHAMy12VoISsA )                                           
  229                                                                            
  230 example.com. 3600 IN DS 38353 16 2 (                                       
  231              645ff078b3568f5852b70cb60e8e696cc77b75bfaaffc118cf79cbda1ba   
  232              28af4 )                                                       
  233                                                                            
  234 example.com. 3600 IN MX 10 mail.example.com.                               
  235                                                                            
  236 example.com. 3600 IN RRSIG MX 3 3600 (                                     
  237              1440021600 1438207200 38353 example.com. (                    
  238              +JjANio/LIzp7osmMYE5XD3H/YES8kXs5Vb9H8MjPS8OAGZMD37+LsCIcjg   
  239              5ivt0d4Om/UaqETEAsJjaYe56CEQP5lhRWuD2ivBqE0zfwJTyp4WqvpULbp   
  240              vaukswvv/WNEFxzEYQEIm9+xDlXj4pMAMA )                          
  241                                                                            
  242 7.  IANA Considerations                                                    
  243                                                                            
  244    This document updates the IANA registry "Domain Name System Security    
  245    (DNSSEC) Algorithm Numbers".  The following entries have been added     
  246    to the registry:                                                        
  247                                                                            
  248                   +--------------+----------+----------+                   
  249                   | Number       | 15       | 16       |                   
  250                   | Description  | Ed25519  | Ed448    |                   
  251                   | Mnemonic     | ED25519  | ED448    |                   
  252                   | Zone Signing | Y        | Y        |                   
  253                   | Trans. Sec.  | *        | *        |                   
  254                   | Reference    | RFC 8080 | RFC 8080 |                   
  255                   +--------------+----------+----------+                   
  256                                                                            
  257     * There has been no determination of standardization of the use of     
  258                  this algorithm with Transaction Security.                 
  259                                                                            
  260 8.  Security Considerations                                                
  261                                                                            
  262    The security considerations of [RFC8032] and [RFC7748] are inherited    
  263    in the usage of Ed25519 and Ed448 in DNSSEC.                            
  264                                                                            
  265    Ed25519 is intended to operate at around the 128-bit security level     
  266    and Ed448 at around the 224-bit security level.  A sufficiently large   
  267    quantum computer would be able to break both.  Reasonable projections   
  268    of the abilities of classical computers conclude that Ed25519 is        
  269                                                                            
  270                                                                            
  271                                                                            
  272 Sury & Edmonds               Standards Track                    [Page 5]   

  273 RFC 8080                    EdDSA for DNSSEC               February 2017   
  274                                                                            
  275                                                                            
  276    perfectly safe.  Ed448 is provided for those applications with          
  277    relaxed performance requirements and where there is a desire to hedge   
  278    against analytical attacks on elliptic curves.                          
  279                                                                            
  280    These assessments could, of course, change in the future if new         
  281    attacks that work better than the ones known today are found.           
  282                                                                            
  283    A private key used for a DNSSEC zone MUST NOT be used for any other     
  284    purpose than for that zone.  Otherwise, cross-protocol or cross-        
  285    application attacks are possible.                                       
  286                                                                            
  287 9.  References                                                             
  288                                                                            
  289 9.1.  Normative References                                                 
  290                                                                            
  291    [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate          
  292               Requirement Levels", BCP 14, RFC 2119,                       
  293               DOI 10.17487/RFC2119, March 1997,                            
  294               <http://www.rfc-editor.org/info/rfc2119>.                    
  295                                                                            
  296    [RFC4033]  Arends, R., Austein, R., Larson, M., Massey, D., and S.      
  297               Rose, "DNS Security Introduction and Requirements",          
  298               RFC 4033, DOI 10.17487/RFC4033, March 2005,                  
  299               <http://www.rfc-editor.org/info/rfc4033>.                    
  300                                                                            
  301    [RFC4034]  Arends, R., Austein, R., Larson, M., Massey, D., and S.      
  302               Rose, "Resource Records for the DNS Security Extensions",    
  303               RFC 4034, DOI 10.17487/RFC4034, March 2005,                  
  304               <http://www.rfc-editor.org/info/rfc4034>.                    
  305                                                                            
  306    [RFC4035]  Arends, R., Austein, R., Larson, M., Massey, D., and S.      
  307               Rose, "Protocol Modifications for the DNS Security           
  308               Extensions", RFC 4035, DOI 10.17487/RFC4035, March 2005,     
  309               <http://www.rfc-editor.org/info/rfc4035>.                    
  310                                                                            
  311    [RFC7748]  Langley, A., Hamburg, M., and S. Turner, "Elliptic Curves    
  312               for Security", RFC 7748, DOI 10.17487/RFC7748, January       
  313               2016, <http://www.rfc-editor.org/info/rfc7748>.              
  314                                                                            
  315    [RFC8032]  Josefsson, S. and I. Liusvaara, "Edwards-Curve Digital       
  316               Signature Algorithm (EdDSA)", RFC 8032,                      
  317               DOI 10.17487/RFC8032, January 2017,                          
  318               <http://www.rfc-editor.org/info/rfc8032>.                    
  319                                                                            
  320                                                                            
  321                                                                            
  322                                                                            
  323                                                                            
  324                                                                            
  325                                                                            
  326                                                                            
  327 Sury & Edmonds               Standards Track                    [Page 6]   

  328 RFC 8080                    EdDSA for DNSSEC               February 2017   
  329                                                                            
  330                                                                            
  331 9.2.  Informative References                                               
  332                                                                            
  333    [RFC5933]  Dolmatov, V., Ed., Chuprina, A., and I. Ustinov, "Use of     
  334               GOST Signature Algorithms in DNSKEY and RRSIG Resource       
  335               Records for DNSSEC", RFC 5933, DOI 10.17487/RFC5933, July    
  336               2010, <http://www.rfc-editor.org/info/rfc5933>.              
  337                                                                            
  338    [RFC6605]  Hoffman, P. and W. Wijngaards, "Elliptic Curve Digital       
  339               Signature Algorithm (DSA) for DNSSEC", RFC 6605,             
  340               DOI 10.17487/RFC6605, April 2012,                            
  341               <http://www.rfc-editor.org/info/rfc6605>.                    
  342                                                                            
  343 Acknowledgements                                                           
  344                                                                            
  345    Some of the material in this document is copied liberally from          
  346    [RFC6605].                                                              
  347                                                                            
  348    The authors of this document wish to thank Jan Vcelak, Pieter Lexis,    
  349    Kees Monshouwer, Simon Josefsson, Paul Hoffman, and others for a        
  350    review of this document.                                                
  351                                                                            
  352 Authors' Addresses                                                         
  353                                                                            
  354    Ondrej Sury                                                             
  355    CZ.NIC                                                                  
  356    Milesovska 1136/5                                                       
  357    Praha  130 00                                                           
  358    Czech Republic                                                          
  359                                                                            
  360    Email: ondrej.sury@nic.cz                                               
  361                                                                            
  362                                                                            
  363    Robert Edmonds                                                          
  364    Fastly                                                                  
  365    Atlanta, Georgia                                                        
  366    United States of America                                                
  367                                                                            
  368    Email: edmonds@mycre.ws                                                 
  369                                                                            
  370                                                                            
  371                                                                            
  372                                                                            
  373                                                                            
  374                                                                            
  375                                                                            
  376                                                                            
  377                                                                            
  378                                                                            
  379                                                                            
  380                                                                            
  381                                                                            
  382 Sury & Edmonds               Standards Track                    [Page 7]   
  383                                                                            
section-6 Tom Thorogood(Technical Erratum #4935) [Verified]
based on outdated version
6.  Examples

6.1.  Ed25519 Examples

Private-key-format: v1.2
Algorithm: 15 (ED25519)
PrivateKey: ODIyNjAzODQ2MjgwODAxMjI2NDUxOTAyMDQxNDIyNjI=

example.com. 3600 IN DNSKEY 257 3 15 (
             l02Woi0iS8Aa25FQkUd9RMzZHJpBoRQwAQEX1SxZJA4= )

example.com. 3600 IN DS 3613 15 2 (
             3aa5ab37efce57f737fc1627013fee07bdf241bd10f3b1964ab55c78e79
             a304b )

example.com. 3600 IN MX 10 mail.example.com.

example.com. 3600 IN RRSIG MX 3 3600 (
             1440021600 1438207200 3613 example.com. (
             Edk+IB9KNNWg0HAjm7FazXyrd5m3Rk8zNZbvNpAcM+eysqcUOMIjWoevFkj
             H5GaMWeG96GUVZu6ECKOQmemHDg== )



Sury & Edmonds               Standards Track                    [Page 3]

RFC 8080                    EdDSA for DNSSEC               February 2017


Private-key-format: v1.2
Algorithm: 15 (ED25519)
PrivateKey: DSSF3o0s0f+ElWzj9E/Osxw8hLpk55chkmx0LYN5WiY=

example.com. 3600 IN DNSKEY 257 3 15 (
             zPnZ/QwEe7S8C5SPz2OfS5RR40ATk2/rYnE9xHIEijs= )

example.com. 3600 IN DS 35217 15 2 (
             401781b934e392de492ec77ae2e15d70f6575a1c0bc59c5275c04ebe80c
             6614c )

example.com. 3600 IN MX 10 mail.example.com.

example.com. 3600 IN RRSIG MX 3 3600 (
             1440021600 1438207200 35217 example.com. (
             5LL2obmzdqjWI+Xto5eP5adXt/T5tMhasWvwcyW4L3SzfcRawOle9bodhC+
             oip9ayUGjY9T/rL4rN3bOuESGDA== )

6.2.  Ed448 Examples

Private-key-format: v1.2
Algorithm: 16 (ED448)
PrivateKey: xZ+5Cgm463xugtkY5B0Jx6erFTXp13rYegst0qRtNsOYnaVpMx0Z/c5EiA9x
            8wWbDDct/U3FhYWA

example.com. 3600 IN DNSKEY 257 3 16 (
             3kgROaDjrh0H2iuixWBrc8g2EpBBLCdGzHmn+G2MpTPhpj/OiBVHHSfPodx
             1FYYUcJKm1MDpJtIA )

example.com. 3600 IN DS 9713 16 2 (
             6ccf18d5bc5d7fc2fceb1d59d17321402f2aa8d368048db93dd811f5cb2
             b19c7 )

example.com. 3600 IN MX 10 mail.example.com.

example.com. 3600 IN RRSIG MX 3 3600 (
             1440021600 1438207200 9713 example.com. (
             Nmc0rgGKpr3GKYXcB1JmqqS4NYwhmechvJTqVzt3jR+Qy/lSLFoIk1L+9e3
             9GPL+5tVzDPN3f9kAwiu8KCuPPjtl227ayaCZtRKZuJax7n9NuYlZJIusX0
             SOIOKBGzG+yWYtz1/jjbzl5GGkWvREUCUA )











Sury & Edmonds               Standards Track                    [Page 4]

RFC 8080                    EdDSA for DNSSEC               February 2017


Private-key-format: v1.2
Algorithm: 16 (ED448)
PrivateKey: WEykD3ht3MHkU8iH4uVOLz8JLwtRBSqiBoM6fF72+Mrp/u5gjxuB1DV6NnPO
            2BlZdz4hdSTkOdOA

example.com. 3600 IN DNSKEY 257 3 16 (
             kkreGWoccSDmUBGAe7+zsbG6ZAFQp+syPmYUurBRQc3tDjeMCJcVMRDmgcN
             Lp5HlHAMy12VoISsA )

example.com. 3600 IN DS 38353 16 2 (
             645ff078b3568f5852b70cb60e8e696cc77b75bfaaffc118cf79cbda1ba
             28af4 )

example.com. 3600 IN MX 10 mail.example.com.

example.com. 3600 IN RRSIG MX 3 3600 (
             1440021600 1438207200 38353 example.com. (
             +JjANio/LIzp7osmMYE5XD3H/YES8kXs5Vb9H8MjPS8OAGZMD37+LsCIcjg
             5ivt0d4Om/UaqETEAsJjaYe56CEQP5lhRWuD2ivBqE0zfwJTyp4WqvpULbp
             vaukswvv/WNEFxzEYQEIm9+xDlXj4pMAMA )
It should say:
6.  Examples

6.1.  Ed25519 Examples

Private-key-format: v1.2
Algorithm: 15 (ED25519)
PrivateKey: ODIyNjAzODQ2MjgwODAxMjI2NDUxOTAyMDQxNDIyNjI=

example.com. 3600 IN DNSKEY 257 3 15 (
             l02Woi0iS8Aa25FQkUd9RMzZHJpBoRQwAQEX1SxZJA4= )

example.com. 3600 IN DS 3613 15 2 (
             3aa5ab37efce57f737fc1627013fee07bdf241bd10f3b1964ab55c78e79
             a304b )

example.com. 3600 IN MX 10 mail.example.com.

example.com. 3600 IN RRSIG MX 15 23 3600 (
             1440021600 1438207200 3613 example.com. (
             oL9krJun7xfBOIWcGHi7mag5/hdZrKWw15jPGrHpjQeRAvTdszaPD+QLs3f
             x8A4M3e23mRZ9VrbpMngwcrqNAg== )



Sury & Edmonds               Standards Track                    [Page 3]

RFC 8080                    EdDSA for DNSSEC               February 2017


Private-key-format: v1.2
Algorithm: 15 (ED25519)
PrivateKey: DSSF3o0s0f+ElWzj9E/Osxw8hLpk55chkmx0LYN5WiY=

example.com. 3600 IN DNSKEY 257 3 15 (
             zPnZ/QwEe7S8C5SPz2OfS5RR40ATk2/rYnE9xHIEijs= )

example.com. 3600 IN DS 35217 15 2 (
             401781b934e392de492ec77ae2e15d70f6575a1c0bc59c5275c04ebe80c
             6614c )

example.com. 3600 IN MX 10 mail.example.com.

example.com. 3600 IN RRSIG MX 15 23 3600 (
             1440021600 1438207200 35217 example.com. (
             zXQ0bkYgQTEFyfLyi9QoiY6D8ZdYo4wyUhVioYZXFdT410QPRITQSqJSnzQ
             oSm5poJ7gD7AQR0O7KuI5k2pcBg== )

6.2.  Ed448 Examples

Private-key-format: v1.2
Algorithm: 16 (ED448)
PrivateKey: xZ+5Cgm463xugtkY5B0Jx6erFTXp13rYegst0qRtNsOYnaVpMx0Z/c5EiA9x
            8wWbDDct/U3FhYWA

example.com. 3600 IN DNSKEY 257 3 16 (
             3kgROaDjrh0H2iuixWBrc8g2EpBBLCdGzHmn+G2MpTPhpj/OiBVHHSfPodx
             1FYYUcJKm1MDpJtIA )

example.com. 3600 IN DS 9713 16 2 (
             6ccf18d5bc5d7fc2fceb1d59d17321402f2aa8d368048db93dd811f5cb2
             b19c7 )

example.com. 3600 IN MX 10 mail.example.com.

example.com. 3600 IN RRSIG MX 16 32 3600 (
             1440021600 1438207200 9713 example.com. (
             3cPAHkmlnxcDHMyg7vFC34l0blBhuG1qpwLmjInI8w1CMB29FkEAIJUA0am
             xWndkmnBZ6SKiwZSAxGILn/NBtOXft0+Gj7FSvOKxE/07+4RQvE581N3Aj/
             JtIyaiYVdnYtyMWbSNyGEY2213WKsJlwEA )











Sury & Edmonds               Standards Track                    [Page 4]

RFC 8080                    EdDSA for DNSSEC               February 2017


Private-key-format: v1.2
Algorithm: 16 (ED448)
PrivateKey: WEykD3ht3MHkU8iH4uVOLz8JLwtRBSqiBoM6fF72+Mrp/u5gjxuB1DV6NnPO
            2BlZdz4hdSTkOdOA

example.com. 3600 IN DNSKEY 257 3 16 (
             kkreGWoccSDmUBGAe7+zsbG6ZAFQp+syPmYUurBRQc3tDjeMCJcVMRDmgcN
             Lp5HlHAMy12VoISsA )

example.com. 3600 IN DS 38353 16 2 (
             645ff078b3568f5852b70cb60e8e696cc77b75bfaaffc118cf79cbda1ba
             28af4 )

example.com. 3600 IN MX 10 mail.example.com.

example.com. 3600 IN RRSIG MX 16 32 3600 (
             1440021600 1438207200 38353 example.com. (
             E1/oLjSGIbmLny/4fcgM1z4oL6aqo+izT3urCyHyvEp4Sp8Syg1eI+lJ57C
             SnZqjJP41O/9l4m0AsQ4f7qI1gVnML8vWWiyW2KXhT9kuAICUSxv5OWbf81
             Rq7Yu60npabODB0QFPb/rkW3kUZmQ0YQUA )

The script used to generate the examples (see https://gitlab.labs.nic.cz/labs/ietf/blob/master/dnskey.py) contains two errors that make the RRSIG records in the example section invalid.

1. The script fails to print the algorithm identifier (15 & 16, TBD1 & TBD2 in earlier drafts) for RRSIGs, and
2. the implementation of label counting includes the root zone as a label, giving an incorrect count of 3 rather than 2.

The first bug is more cosmetic but does result in unparsable RRSIG records, while the second bug causes invalid signatures to be produced.

With these two bugs corrected (and no other changes) the script produces valid examples which are included in the correction above. They have been successfully tested with an independent implementation of RFC 8080 based on https://github.com/miekg/dns & https://godoc.org/golang.org/x/crypto/ed25519.