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.
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
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 )
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 1523 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 1523 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 1632 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 1632 3600 ( 1440021600 1438207200 38353 example.com. ( E1/oLjSGIbmLny/4fcgM1z4oL6aqo+izT3urCyHyvEp4Sp8Syg1eI+lJ57C SnZqjJP41O/9l4m0AsQ4f7qI1gVnML8vWWiyW2KXhT9kuAICUSxv5OWbf81 Rq7Yu60npabODB0QFPb/rkW3kUZmQ0YQUA )