Internet DRAFT - draft-smyslov-ike2-gost
draft-smyslov-ike2-gost
Network Working Group V. Smyslov
Internet-Draft ELVIS-PLUS
Intended status: Informational 6 December 2022
Expires: 9 June 2023
Using GOST Cryptographic Algorithms in the Internet Key Exchange
Protocol Version 2 (IKEv2)
draft-smyslov-ike2-gost-15
Abstract
This document defines a set of cryptographic transforms for use in
the Internet Key Exchange protocol version 2 (IKEv2). The transforms
are based on Russian cryptographic standard algorithms (GOST). Use
of GOST ciphers in IKEv2 was defined in RFC 9227. This document aims
to define using GOST algorithms for the rest of cryptographic
transforms used in IKEv2.
This specification was developed to facilitate implementations that
wish to support the GOST algorithms. This document does not imply
IETF endorsement of the cryptographic algorithms used in this
document.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 9 June 2023.
Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the
document authors. All rights reserved.
Smyslov Expires 9 June 2023 [Page 1]
Internet-Draft GOST algorithms in IKEv2 December 2022
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology and Notation . . . . . . . . . . . . . . . . . . 3
3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. IKE SA Protection . . . . . . . . . . . . . . . . . . . . . . 3
5. Pseudo Random Function . . . . . . . . . . . . . . . . . . . 3
6. Shared Key Calculation . . . . . . . . . . . . . . . . . . . 4
6.1. Recipient Tests . . . . . . . . . . . . . . . . . . . . . 4
7. Authentication . . . . . . . . . . . . . . . . . . . . . . . 5
7.1. Hash Functions . . . . . . . . . . . . . . . . . . . . . 5
7.2. ASN.1 Objects . . . . . . . . . . . . . . . . . . . . . . 6
7.2.1. id-tc26-signwithdigest-gost3410-12-256 . . . . . . . 6
7.2.2. id-tc26-signwithdigest-gost3410-12-512 . . . . . . . 6
8. Security Considerations . . . . . . . . . . . . . . . . . . . 6
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
10.1. Normative References . . . . . . . . . . . . . . . . . . 7
10.2. Informative References . . . . . . . . . . . . . . . . . 8
Appendix A. Test Vectors . . . . . . . . . . . . . . . . . . . . 10
A.1. Scenario 1 . . . . . . . . . . . . . . . . . . . . . . . 10
A.2. Scenario 2 . . . . . . . . . . . . . . . . . . . . . . . 56
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 150
1. Introduction
The Internet Key Exchange protocol version 2 (IKEv2) defined in
[RFC7296] is an important part of the IP Security (IPsec)
architecture. It is used for the authenticated key exchange and for
the negotiation of various protocol parameters and features.
This document defines a number of transforms for IKEv2, based on
Russian cryptographic standard algorithms (often reffered to as
"GOST" algorithms) for hash function, digital signature and key
exchange method. These definitions are based on the recommendations
[GOST-IKEv2] established by the Standardisation Technical Committee
"Cryptographic information protection", which describe how Russian
cryptographic standard algorithms are used in IKEv2. Along with the
transforms defined in [RFC9227], the transforms defined in this
specification allow using GOST cryptographic algorithms in IPsec
protocols.
Smyslov Expires 9 June 2023 [Page 2]
Internet-Draft GOST algorithms in IKEv2 December 2022
This specification was developed to facilitate implementations that
wish to support the GOST algorithms. This document does not imply
IETF endorsement of the cryptographic algorithms used in this
document.
2. Terminology and Notation
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
3. Overview
Russian cryptographic standard (GOST) algorithms are a set of
cryptographic algorithms of different types - ciphers, hash
functions, digital signatures etc. In particular, Russian
cryptographic standard [GOST3412-2015] defines block ciphers
"Kuznyechik" (also defined in [RFC7801]) and "Magma" (also defined in
[RFC8891]). Cryptographic standard [GOST3410-2012] defines elliptic
curve digital signature algorithm (also defined in [RFC7091]), while
[GOST3411-2012] defines two cryptographic hash functions "Streebog",
with different output length (also defined in [RFC6986]). The
parameters for the elliptic curves used in GOST signature and key
exchange algorithms are defined in [RFC7836].
4. IKE SA Protection
IKE SA protection using GOST algorithms is defined in [RFC9227]. In
particular, two transforms of type 1 (Encryption Algorithm Transform
IDs) can be used for IKE SA protection: ENCR_KUZNYECHIK_MGM_KTREE
(32) based on "Kuznyechik" block cipher and ENCR_MAGMA_MGM_KTREE (33)
based on "Magma" block cipher, both in Multilinear Galois Mode (MGM).
The information here is provided for convenience. For full details,
please see [RFC9227].
5. Pseudo Random Function
This specification defines a new transform of type 2 (Pseudorandom
Function Transform IDs) - PRF_HMAC_STREEBOG_512 (9). This transform
uses PRF HMAC_GOSTR3411_2012_512 defined in Section 4.1.2 of
[RFC7836]. The PRF uses GOST R 34.11-2012 ("Streebog") hash-function
with 512-bit output defined in [RFC6986][GOST3411-2012] with HMAC
[RFC2104] construction. The PRF has a 512-bit block size and a
512-bit output length.
Smyslov Expires 9 June 2023 [Page 3]
Internet-Draft GOST algorithms in IKEv2 December 2022
6. Shared Key Calculation
This specification defines two new transforms of type 4 (Diffie-
Hellman Group Transform IDs): GOST3410_2012_256 (33) and
GOST3410_2012_512 (34). These transforms uses Elliptic Curve Diffie-
Hellman (ECDH) key exchange algorithm over Twisted Edwards curves.
The parameters for these curves are defined in Section A.2 of
[RFC7836]. In particular, transform GOST3410_2012_256 uses id-tc26-
gost-3410-2012-256-paramSetA parameter set and GOST3410_2012_512 uses
id-tc26-gost-3410-2012-512-paramSetC parameter set (both defined in
[RFC7836]).
Shared secret is computed as follows. The initiator randomly selects
its private key d_i from {1,..,q - 1}, where q is the subgroup order
and is a parameter of the selected curve. Then a public key Q_i is
computed as a point on the curve:
Q_i = d_i * G
where G is the generator for the selected curve, and then is sent to
the responder. The responder makes the same calculations to get d_r
and Q_r and sends Q_r to the initiator. After peers exchange Q_i and
Q_R both sides can compute a point on the curve:
S = ((m / q) * d_i) * Q_r = ((m / q) * d_r) * Q_i
where m is the group order and is a parameter of the selected curve.
The shared secret K is an x coordinate of S in a little-endian
representation. The size of K is determined by the size of used
curve and is either 256 or 512 bit.
When GOST public key is transmitted in the KE payload, it MUST be
represented as x coordinate immediately followed by y coordinate,
each in a little-endian representation. The size of each coordinate
is determined by the size of the used curve and is either 256 or 512
bits, so that the size of the Key Exchange Data field in the KE
payload is either 64 or 128 octets.
6.1. Recipient Tests
Upon receiving peer's public key, implementations MUST check that the
key is actually a point on the curve. Otherwise the exchange fails.
Implementations MUST check that the calculated public value S is not
an identity element of the curve. If S appears to be the identity
element of the curve, the exchange fails. The INVALID_SYNTAX
notification MAY be sent in these cases.
Smyslov Expires 9 June 2023 [Page 4]
Internet-Draft GOST algorithms in IKEv2 December 2022
7. Authentication
IKEv2 allows various authentication methods to be used for IKE SA
establishment. Some methods are tied to a particular algorithm,
while others may be used with different algorithms. This
specification makes no restrictions on using the latter ones with the
GOST algorithms. In particular, "Shared Key Message Integrity Code"
(2), defined in [RFC7296], and "NULL Authentication" (13), defined in
[RFC7619], can be used with GOST algorithms with no changes to the
process of the AUTH payload content calculation.
When GOST digital signature is used in IKEv2 for authentication
purposes, an Authentication Method "Digital Signature" (14), defined
in [RFC7427], MUST be specified in the AUTH payload.
GOST digital signature algorithm GOST R 34.10-2012 is defined in
[RFC7091][GOST3410-2012]. There are two variants of GOST signature
algorithm - one over 256-bit elliptic curve and the other over
512-bit key elliptic curve. The signature value, as defined in
[RFC7091][GOST3410-2012], consists of two integers r and s. The size
of each integer is either 256 bit or 512 bit depending on the used
elliptic curve. The content of the Signature Value field in the AUTH
payload MUST consist of s immediately followed by r, each in a big-
endian representation, so that the size of the field is either 64 or
128 octets. The AlgorithmIdentifier ASN.1 objects for GOST digital
signature algorithm are defined in Section 7.2.
7.1. Hash Functions
GOST digital signature algorithm uses GOST hash functions GOST R
34.11-2012 ("Streebog") defined in [RFC6986][GOST3411-2012]. There
are two "Streebog" hash functions - one with 256-bit output length
and the other with 512-bit output length. The former is used with
GOST digital signature algorithm over a 256-bit elliptic curve and
the latter - over a 512-bit key elliptic curve.
This specification defines two new values for IKEv2 Hash Algorithms
registry: STREEBOG_256 (6) for GOST hash function with 256-bit output
length and STREEBOG_512 (7) for the 512-bit length output. These
values MUST be included in the SIGNATURE_HASH_ALGORITHMS notify if a
corresponding GOST digital signature algorithm is supported by the
sender and its local policy allows using this algorithm (see
Section 4 of [RFC7427] for details).
Smyslov Expires 9 June 2023 [Page 5]
Internet-Draft GOST algorithms in IKEv2 December 2022
7.2. ASN.1 Objects
This section lists GOST signature algorithm ASN.1 AlgorithmIdentifier
objects in binary form. With GOST signature algorithms, optional
parameters in AlgorithmIdentifier objects are always omitted. This
objects are defined in [RFC9215][USING-GOST-IN-CERTS] and are
provided here for convenience.
7.2.1. id-tc26-signwithdigest-gost3410-12-256
id-tc26-signwithdigest-gost3410-12-256 OBJECT IDENTIFIER ::= { iso(1)
member-body(2) ru(643) rosstandart(7) tc26(1) algorithms(1)
signwithdigest(3) gost3410-12-256(2) }
The optional parameters field must be omitted.
Name = id-tc26-signwithdigest-gost3410-12-256
OID = 1.2.643.7.1.1.3.2
Length = 12
0000: 300a 0608 2a85 0307 0101 0302
7.2.2. id-tc26-signwithdigest-gost3410-12-512
id-tc26-signwithdigest-gost3410-12-512 OBJECT IDENTIFIER ::= { iso(1)
member-body(2) ru(643) rosstandart(7) tc26(1) algorithms(1)
signwithdigest(3) gost3410-12-512(3) }
The optional parameters field must be omitted.
Name = id-tc26-signwithdigest-gost3410-12-512
OID = 1.2.643.7.1.1.3.3
Length = 12
0000: 300a 0608 2a85 0307 0101 0303
8. Security Considerations
The security considerations of [RFC7296] and [RFC7427] apply
accordingly.
The security of GOST elliptic curves is discussed in
[GOST-EC-SECURITY]. The security of "Streebog" hash function is
discussed in [STREEBOG-SECURITY]. A second preimage attack on
"Streebog" is described in [STREEBOG-PREIMAGE] if message size
exceeds 2^259 blocks. This attack is not relevant to how "Streebog"
is used in IKEv2.
Smyslov Expires 9 June 2023 [Page 6]
Internet-Draft GOST algorithms in IKEv2 December 2022
9. IANA Considerations
IANA has assigned one Transform ID in the "Transform Type 2 -
Pseudorandom Function Transform IDs" registry (where RFCXXXX is this
document):
Number Name Reference
-------------------------------------------------
9 PRF_HMAC_STREEBOG_512 [RFCXXXX]
IANA has assigned two Transform IDs in the "Transform Type 4 -
Diffie-Hellman Group Transform IDs" registry (where RFCXXXX is this
document):
Number Name Recipient Tests Reference
---------------------------------------------------------------------
33 GOST3410_2012_256 [RFCXXXX] Sec. 6.1 [RFCXXXX]
34 GOST3410_2012_512 [RFCXXXX] Sec. 6.1 [RFCXXXX]
IANA has assigned two values in the "IKEv2 Hash Algorithms" registry
(where RFCXXXX is this document):
Number Hash Algorithm Reference
-------------------------------------------------
6 STREEBOG_256 [RFCXXXX]
7 STREEBOG_512 [RFCXXXX]
10. References
10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC6986] Dolmatov, V., Ed. and A. Degtyarev, "GOST R 34.11-2012:
Hash Function", RFC 6986, DOI 10.17487/RFC6986, August
2013, <https://www.rfc-editor.org/info/rfc6986>.
Smyslov Expires 9 June 2023 [Page 7]
Internet-Draft GOST algorithms in IKEv2 December 2022
[RFC7091] Dolmatov, V., Ed. and A. Degtyarev, "GOST R 34.10-2012:
Digital Signature Algorithm", RFC 7091,
DOI 10.17487/RFC7091, December 2013,
<https://www.rfc-editor.org/info/rfc7091>.
[RFC7296] Kaufman, C., Hoffman, P., Nir, Y., Eronen, P., and T.
Kivinen, "Internet Key Exchange Protocol Version 2
(IKEv2)", STD 79, RFC 7296, DOI 10.17487/RFC7296, October
2014, <https://www.rfc-editor.org/info/rfc7296>.
[RFC7427] Kivinen, T. and J. Snyder, "Signature Authentication in
the Internet Key Exchange Version 2 (IKEv2)", RFC 7427,
DOI 10.17487/RFC7427, January 2015,
<https://www.rfc-editor.org/info/rfc7427>.
[RFC7836] Smyshlyaev, S., Ed., Alekseev, E., Oshkin, I., Popov, V.,
Leontiev, S., Podobaev, V., and D. Belyavsky, "Guidelines
on the Cryptographic Algorithms to Accompany the Usage of
Standards GOST R 34.10-2012 and GOST R 34.11-2012",
RFC 7836, DOI 10.17487/RFC7836, March 2016,
<https://www.rfc-editor.org/info/rfc7836>.
[RFC9215] Baryshkov, D., Ed., Nikolaev, V., and A. Chelpanov, "Using
GOST R 34.10-2012 and GOST R 34.11-2012 Algorithms with
the Internet X.509 Public Key Infrastructure", RFC 9215,
DOI 10.17487/RFC9215, March 2022,
<https://www.rfc-editor.org/info/rfc9215>.
[RFC9227] Smyslov, V., "Using GOST Ciphers in the Encapsulating
Security Payload (ESP) and Internet Key Exchange Version 2
(IKEv2) Protocols", RFC 9227, DOI 10.17487/RFC9227, March
2022, <https://www.rfc-editor.org/info/rfc9227>.
10.2. Informative References
[RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed-
Hashing for Message Authentication", RFC 2104,
DOI 10.17487/RFC2104, February 1997,
<https://www.rfc-editor.org/info/rfc2104>.
[RFC7619] Smyslov, V. and P. Wouters, "The NULL Authentication
Method in the Internet Key Exchange Protocol Version 2
(IKEv2)", RFC 7619, DOI 10.17487/RFC7619, August 2015,
<https://www.rfc-editor.org/info/rfc7619>.
[RFC7801] Dolmatov, V., Ed., "GOST R 34.12-2015: Block Cipher
"Kuznyechik"", RFC 7801, DOI 10.17487/RFC7801, March 2016,
<https://www.rfc-editor.org/info/rfc7801>.
Smyslov Expires 9 June 2023 [Page 8]
Internet-Draft GOST algorithms in IKEv2 December 2022
[RFC8891] Dolmatov, V., Ed. and D. Baryshkov, "GOST R 34.12-2015:
Block Cipher "Magma"", RFC 8891, DOI 10.17487/RFC8891,
September 2020, <https://www.rfc-editor.org/info/rfc8891>.
[GOST3410-2012]
Federal Agency on Technical Regulating and Metrology,
"Information technology. Cryptographic data security.
Signature and verification processes of [electronic]
digital signature", GOST R 34.10-2012, 2012. (In Russian)
[GOST3411-2012]
Federal Agency on Technical Regulating and Metrology,
"Information technology. Cryptographic data security.
Hashing function", GOST R 34.11-2012, 2012. (In Russian)
[GOST3412-2015]
Federal Agency on Technical Regulating and Metrology,
"Information technology. Cryptographic data security.
Block ciphers", GOST R 34.12-2015, 2015. (In Russian)
[GOST-IKEv2]
Standardisation Technical Committee "Cryptographic
information protection", "Information technology.
Cryptographic information protection. The use of Russian
cryptographic algorithms in the IKEv2 key exchange
protocol", MR 26.2.001-22, 2022. (In Russian)
[GOST-IKEv2-TESTVECTORS]
Standardisation Technical Committee "Cryptographic
information protection", "Information technology.
Cryptographic information protection. The test vectors for
the use of Russian cryptographic algorithms in the IKEv2
key exchange protocol", MR 26.2.002-22, 2022. (In
Russian)
[USING-GOST-IN-CERTS]
Federal Agency on Technical Regulating and Metrology,
"Information technology. Cryptographic data security.
Using GOST R 34.10-2012 and GOST R 34.11-2012 algorithms
in X.509 Certificates, CRLs and PKCS #10 Certificate
Requests", R 1323565.1.023-2018, 2018. (In Russian)
[GOST-EC-SECURITY]
Alekseev, E., Nikolaev, V., and S. Smyshlyaev, "On the
security properties of Russian standardized elliptic
curves", https://doi.org/10.4213/mvk260, 2018.
Smyslov Expires 9 June 2023 [Page 9]
Internet-Draft GOST algorithms in IKEv2 December 2022
[STREEBOG-SECURITY]
Wang, Z., Yu, H., and X. Wang, "Cryptanalysis of GOST R
hash
function", https://doi.org/10.1016/j.ipl.2014.07.007,
2014.
[STREEBOG-PREIMAGE]
Guo, J., Jean, J., Leurent, G., Peyrin, T., and L. Wang,
"The Usage of Counter Revisited: Second-Preimage Attack on
New Russian Standardized Hash
Function", https://eprint.iacr.org/2014/675, 2014.
Appendix A. Test Vectors
This Appendix contains test vectors for two scenarios. The test
vectors were borrowed from [GOST-IKEv2-TESTVECTORS]. In both
scenarios peers establish, rekey and delete IKE SA and ESP SAs. The
IP addresses of the peers used in both scenarios are the same:
* initiator's IP address is 10.111.10.171
* responder's IP address is 10.111.10.45
The test vectors also cover IKE message protection for transforms
defined in [RFC9227]. The keys SK_ei, SK_er are transform keys (see
Section 4.4 of [RFC9227]) and the keys K1i, K2i K3i, K1r, K2r, and
K3r represent nodes in the key tree for the initiator and responder
correspondently. The leaf keys K3i and K3r are effectively message
protection keys (K_msg in terms of [RFC9227]). MGM nonces (also
known as Initial Counter Nonces) are defined in Section 4.3 of
[RFC9227]. IV format is defined in Section 4.2 of [RFC9227] and AAD
format is defined in Section 4.7 of [RFC9227].
All other keys and entities used in the test vectors are defined in
[RFC7296].
A.1. Scenario 1
With this scenario peers establish, rekey and delete IKE SA and ESP
SAs using the following prerequisites:
* Peers authenticate each other using preshared key
* Initiator's ID is "IKE-Initiator" of type ID_FQDN
* Responder's ID is "IKE-Responder" of type ID_FQDN
* No NAT is present between the peers
Smyslov Expires 9 June 2023 [Page 10]
Internet-Draft GOST algorithms in IKEv2 December 2022
* IKE fragmentation is not used
* IKE SA is created with the following transforms:
- ENCR_KUZNYECHIK_MGM_KTREE
- PRF_HMAC_STREEBOG_512
- GOST3410_2012_512
* ESP SAs are created with the following transforms:
- ENCR_KUZNYECHIK_MGM_KTREE
- ESN off
The 256-bit preshared key (PSK) used for authentication:
00000000: e2 69 24 cf 15 32 93 47 3a 11 a4 97 a8 a4 5c b3
00000010: 4e 28 31 ef 0e 28 bb 77 69 69 c6 3c 68 bf e1 0d
This scenario includes four sub-scenarios.
Sub-scenario 1: Establishing of IKE and ESP SAs using the
IKE_SA_INIT and the IKE_AUTH exchanges.
Initiator Responder
HDR, SAi1, KEi, Ni [,N+] --->
<--- HDR, SAr1, KEr, Nr [,N+]
HDR, SK {IDi, [IDr,] [N+,]
AUTH, SAi2, TSi, TSr} --->
<--- HDR, SK {IDr, [N+,]
AUTH, SAr2, TSi, TSr}
Initiator's actions:
(1) Generates random SPIi for IKE SA
00000000: e9 d3 f3 78 19 1c 38 40
(2) Generates random IKE nonce Ni
00000000: 48 b6 d3 b3 ab 56 f2 c8 f0 42 d5 16 e7 21 d9 31
00000010: f9 ac 10 f9 7f 80 8c 51 2b d6 f4 59 93 a7 4d 13
(3) Generates ephemeral private key
Smyslov Expires 9 June 2023 [Page 11]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 95 07 3a 04 dc db ce 77 f5 5e 4f fe 97 0c cd 6f
00000010: 0a e0 b5 c6 53 bd a0 da 47 fc 03 b5 8a e1 d5 1d
00000020: 89 e6 c0 db dc b1 ea 74 59 1f 1d 0c 9f 3f 4f dc
00000030: 10 d5 c9 cc a4 34 9c 3d 3e 6b dd 57 c5 d6 c9 01
(4) Computes public key
00000000: 96 1b 9b 21 4f 7e e9 83 ec 27 a0 64 0c 77 4f be
00000010: 78 31 be fd 1e 63 7d 6e 76 eb 2f 81 23 80 62 87
00000020: ba 2c f7 31 a2 70 b7 3e 8a 1d 91 93 72 cf 61 c8
00000030: d3 18 f6 bc f7 a0 44 c8 11 a7 fe d2 99 ea 8b 4d
00000040: 59 fa a7 38 ae 03 48 d2 aa f7 ff 11 e0 60 29 dd
00000050: 16 59 58 78 8e 3b e2 b5 48 36 3c ca 07 1a 5d be
00000060: a7 42 79 81 74 22 6f 53 15 d2 c2 f6 06 d4 0f ed
00000070: 70 f0 1c cf 89 2e ac 3c fe 01 02 91 85 06 7b d4
(5) Creates message
IKE SA Init
E9D3F378191C3840.0000000000000000.00000000 IKEv2 R<-I[316]
SA[52]{
P[48](#1:IKE::5#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
ENCR_MAGMA_MGM_KTREE,
PRF=PRF_HMAC_STREEBOG_512,
KE=GOST3410_2012_512,
GOST3410_2012_256}},
KE[136](GOST3410_2012_512){961B9B...067BD4},
NONCE[36]{48B6D3...A74D13},
N[28](NAT_DETECTION_SOURCE_IP){92B291...F4E2BF},
N[28](NAT_DETECTION_DESTINATION_IP){77E199...98A613},
N[8](IKEV2_FRAGMENTATION_SUPPORTED)
(6) Sends message, peer receives message
Smyslov Expires 9 June 2023 [Page 12]
Internet-Draft GOST algorithms in IKEv2 December 2022
10.111.10.171:54294->10.111.15.45:500 [316]
00000000: e9 d3 f3 78 19 1c 38 40 00 00 00 00 00 00 00 00
00000010: 21 20 22 08 00 00 00 00 00 00 01 3c 22 00 00 34
00000020: 00 00 00 30 01 01 00 05 03 00 00 08 01 00 00 20
00000030: 03 00 00 08 01 00 00 21 03 00 00 08 02 00 00 09
00000040: 03 00 00 08 04 00 00 22 00 00 00 08 04 00 00 21
00000050: 28 00 00 88 00 22 00 00 96 1b 9b 21 4f 7e e9 83
00000060: ec 27 a0 64 0c 77 4f be 78 31 be fd 1e 63 7d 6e
00000070: 76 eb 2f 81 23 80 62 87 ba 2c f7 31 a2 70 b7 3e
00000080: 8a 1d 91 93 72 cf 61 c8 d3 18 f6 bc f7 a0 44 c8
00000090: 11 a7 fe d2 99 ea 8b 4d 59 fa a7 38 ae 03 48 d2
000000A0: aa f7 ff 11 e0 60 29 dd 16 59 58 78 8e 3b e2 b5
000000B0: 48 36 3c ca 07 1a 5d be a7 42 79 81 74 22 6f 53
000000C0: 15 d2 c2 f6 06 d4 0f ed 70 f0 1c cf 89 2e ac 3c
000000D0: fe 01 02 91 85 06 7b d4 29 00 00 24 48 b6 d3 b3
000000E0: ab 56 f2 c8 f0 42 d5 16 e7 21 d9 31 f9 ac 10 f9
000000F0: 7f 80 8c 51 2b d6 f4 59 93 a7 4d 13 29 00 00 1c
00000100: 00 00 40 04 92 b2 91 d3 9b 53 51 c8 33 c2 1f 2e
00000110: 92 ef 24 88 ef f4 e2 bf 29 00 00 1c 00 00 40 05
00000120: 77 e1 99 fe 3b 7e 33 42 b5 af ad 51 cf 97 91 4b
00000130: 08 98 a6 13 00 00 00 08 00 00 40 2e
Responder's actions:
(7) Parses received message
IKE SA Init
E9D3F378191C3840.0000000000000000.00000000 IKEv2 I->R[316]
SA[52]{
P[48](#1:IKE::5#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
ENCR_MAGMA_MGM_KTREE,
PRF=PRF_HMAC_STREEBOG_512,
KE=GOST3410_2012_512,
GOST3410_2012_256}},
KE[136](GOST3410_2012_512){961B9B...067BD4},
NONCE[36]{48B6D3...A74D13},
N[28](NAT_DETECTION_SOURCE_IP){92B291...F4E2BF},
N[28](NAT_DETECTION_DESTINATION_IP){77E199...98A613},
N[8](IKEV2_FRAGMENTATION_SUPPORTED)
(8) Generates random SPIr for IKE SA
00000000: 8d df f4 01 fb fb 0b 14
(9) Generates random IKE nonce Nr
Smyslov Expires 9 June 2023 [Page 13]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: fb 81 c8 80 e5 f0 35 60 99 ef 46 b2 72 44 95 0f
00000010: 03 85 f4 73 92 67 b7 68 43 8f 90 69 16 fe 63 f0
(10) Generates ephemeral private key
00000000: 7f 49 e3 77 39 db 03 cc fe fe c9 63 17 71 e9 f1
00000010: 50 4b 98 79 b3 df 3b 48 bd f3 89 72 52 07 47 4f
00000020: 70 29 f8 39 63 2c 89 b6 92 39 18 27 9c fb 80 f5
00000030: 43 af 8b 9c 68 bb 93 22 1e 18 7d c2 1b dc e1 22
(11) Computes public key
00000000: ad b4 e4 db b9 af 28 59 ab 76 4d 30 fd d4 7a f3
00000010: 5f 8c cb 85 8c cc ca 30 5e 4a 9d 20 52 32 48 88
00000020: 69 81 48 5e ae db 1e 8c 0d 8d db 12 3e f5 ef 1d
00000030: 7f e8 83 39 7f e6 5d 6e 51 ca 9e ee f5 b6 ba 02
00000040: db 10 87 47 ba 38 b3 17 95 60 6d a3 81 15 5c 3d
00000050: 6b 86 d3 59 2f 5f 74 14 17 a9 64 20 3d 05 12 08
00000060: 02 75 15 ac ff 08 7c aa 82 1d f6 89 6c f4 33 e0
00000070: 01 4e 11 68 73 7e e3 e9 c6 88 ce 90 9b 39 05 48
(12) Creates message
IKE SA Init
E9D3F378191C3840.8DDFF401FBFB0B14.00000000 IKEv2 I<=R[300]
SA[36]{
P[32](#1:IKE::3#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
PRF=PRF_HMAC_STREEBOG_512,
KE=GOST3410_2012_512}},
KE[136](GOST3410_2012_512){ADB4E4...390548},
NONCE[36]{FB81C8...FE63F0},
N[28](NAT_DETECTION_SOURCE_IP){6D7A48...683D59},
N[28](NAT_DETECTION_DESTINATION_IP){481A5B...905499},
N[8](IKEV2_FRAGMENTATION_SUPPORTED)
(13) Sends message, peer receives message
Smyslov Expires 9 June 2023 [Page 14]
Internet-Draft GOST algorithms in IKEv2 December 2022
10.111.10.171:54294<-10.111.15.45:500 [300]
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 21 20 22 20 00 00 00 00 00 00 01 2c 22 00 00 24
00000020: 00 00 00 20 01 01 00 03 03 00 00 08 01 00 00 20
00000030: 03 00 00 08 02 00 00 09 00 00 00 08 04 00 00 22
00000040: 28 00 00 88 00 22 00 00 ad b4 e4 db b9 af 28 59
00000050: ab 76 4d 30 fd d4 7a f3 5f 8c cb 85 8c cc ca 30
00000060: 5e 4a 9d 20 52 32 48 88 69 81 48 5e ae db 1e 8c
00000070: 0d 8d db 12 3e f5 ef 1d 7f e8 83 39 7f e6 5d 6e
00000080: 51 ca 9e ee f5 b6 ba 02 db 10 87 47 ba 38 b3 17
00000090: 95 60 6d a3 81 15 5c 3d 6b 86 d3 59 2f 5f 74 14
000000A0: 17 a9 64 20 3d 05 12 08 02 75 15 ac ff 08 7c aa
000000B0: 82 1d f6 89 6c f4 33 e0 01 4e 11 68 73 7e e3 e9
000000C0: c6 88 ce 90 9b 39 05 48 29 00 00 24 fb 81 c8 80
000000D0: e5 f0 35 60 99 ef 46 b2 72 44 95 0f 03 85 f4 73
000000E0: 92 67 b7 68 43 8f 90 69 16 fe 63 f0 29 00 00 1c
000000F0: 00 00 40 04 6d 7a 48 7a 9d ce 80 6f b0 09 4b f7
00000100: 8d fd ec eb 2e 68 3d 59 29 00 00 1c 00 00 40 05
00000110: 48 1a 5b 15 12 e4 26 a3 8d 88 8b 65 8e 17 b3 f1
00000120: 38 90 54 99 00 00 00 08 00 00 40 2e
Initiator's actions:
(14) Parses received message
IKE SA Init
E9D3F378191C3840.8DDFF401FBFB0B14.00000000 IKEv2 R=>I[300]
SA[36]{
P[32](#1:IKE::3#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
PRF=PRF_HMAC_STREEBOG_512,
KE=GOST3410_2012_512}},
KE[136](GOST3410_2012_512){ADB4E4...390548},
NONCE[36]{FB81C8...FE63F0},
N[28](NAT_DETECTION_SOURCE_IP){6D7A48...683D59},
N[28](NAT_DETECTION_DESTINATION_IP){481A5B...905499},
N[8](IKEV2_FRAGMENTATION_SUPPORTED)
(15) Computes shared key
00000000: a2 43 6c bd 2d c1 0f 81 0d f7 6f 24 ae 78 70 f2
00000010: 27 5d 1b dc c5 52 0e d8 53 e5 c5 43 98 f7 35 ce
00000020: 32 70 89 2b 8e 89 0b 7d b3 98 77 cd bd 31 5d 18
00000030: 10 5d 8b ac 16 f0 aa fd bc dc 7c 69 75 14 48 a8
(16) Computes SKEYSEED
Smyslov Expires 9 June 2023 [Page 15]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: fc 7b d9 80 4b 15 00 60 d2 08 17 3a 08 4b a9 2a
00000010: 0f 01 cb c3 ef e9 b5 aa 15 5b 0e 80 24 68 3c 4c
00000020: 6c fb e9 c8 16 7d 54 2d 48 ee 61 71 01 68 ca 68
00000030: 4f 7c b0 1b 61 29 20 9a 68 88 5b 3f d7 19 0b d0
(17) Computes SK_d
00000000: 6b 2b 83 d7 a9 10 5f f4 27 e8 05 86 b7 f0 09 31
00000010: 16 43 81 ae 88 7a 3f c9 65 30 73 00 e5 82 81 52
00000020: 68 07 ba e5 39 ef 6e a7 75 db 2c c9 1c d3 4b 70
00000030: e0 be 97 14 81 bb 0c 80 ef b3 6e 12 2a 08 74 36
(18) Computes SK_ei
00000000: 8c 6d f1 8f 6a ff 9f 1b 3e be 40 ef e2 64 c2 bf
00000010: 8e 6e d7 4c b5 8b 0a 74 a7 30 0c 21 7e 66 c7 d4
00000020: 83 00 37 c3 08 01 7e c3 0a 71 62 01
(19) Computes SK_er
00000000: df e8 7d 5f 9c da 5e 45 b8 b9 11 02 63 6c 08 47
00000010: f6 4f c5 5d 6a 7b 4b 91 52 32 0a a2 5e c0 31 34
00000020: 65 20 72 e7 0a 1e ff 7d da ba 17 31
(20) Computes SK_pi
00000000: 93 11 c6 4c d7 12 b5 40 f9 e8 7e 73 c5 28 a7 d8
00000010: 89 48 1c f1 bf a3 ad 67 cf b4 d9 6a 9b fe 3c ea
00000020: 2f cc 2a 5e d4 e4 0b 27 7f be c9 9d c3 8d b7 68
00000030: 03 c1 f3 f8 94 af 47 8b d8 35 b8 6b c2 ca 38 16
(21) Computes SK_pr
00000000: 7b b0 4b 24 74 9c 73 68 7f 34 a3 b8 17 6b 9e 30
00000010: f2 eb 33 73 23 ff 49 1e e3 07 e7 9f 77 b6 2a ef
00000020: 5a 5e a9 02 8e 90 5c 83 49 ec 1e aa a4 05 bc e1
00000030: fb c4 5b f0 27 d6 9b 41 77 6f e1 48 f3 37 99 e5
(22) Computes prf(SK_pi, IDi)
00000000: 06 d3 d4 36 ab 5b 4f 41 d4 3d fc 79 1f 13 a3 89
00000010: e9 a6 6e d7 87 7d 72 d1 9d 71 78 2d 05 ee 47 fb
00000020: 82 c8 8f 86 cd b5 05 1d 25 7c 1e 79 18 ef 4e 4e
00000030: 8d ca f4 47 12 c6 7f 6a 32 7d d8 e8 f2 8e f8 33
(23) Uses PSK
Smyslov Expires 9 June 2023 [Page 16]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: e2 69 24 cf 15 32 93 47 3a 11 a4 97 a8 a4 5c b3
00000010: 4e 28 31 ef 0e 28 bb 77 69 69 c6 3c 68 bf e1 0d
(24) Computes prf(PSK,"Key Pad for IKEv2")
00000000: 01 3c a5 24 59 4e bc 78 99 20 61 6c 3f 03 e5 2e
00000010: 7a 75 2a 0b 78 36 bd 0a 89 ce 1d e7 8b 23 32 ae
00000020: 08 9a a0 03 1d da f6 14 8c 38 c6 bd 7c 03 13 24
00000030: bd af c8 ad 88 18 8f 41 d0 12 b9 e1 5a 66 8f 10
(25) Computes content of AUTH payload
00000000: c9 9b 01 9a 89 ee 56 53 ab 28 25 a1 d7 51 54 ac
00000010: 01 42 fb d6 2e bc 1e f3 65 73 63 5b 16 81 4b 97
00000020: 38 b4 20 5d 09 d9 b4 21 b4 0c f4 55 27 80 e7 4c
00000030: cf 66 d0 14 25 87 7c 20 84 68 d5 79 3a 74 1e e3
(26) Computes K1i (i1 = 0)
00000000: f2 ac 10 7a 1f 92 d1 b1 1b b1 74 c3 42 76 a3 3f
00000010: fa ea 1b 1e 81 10 c1 01 7a 25 9a 00 8d 76 57 de
(27) Computes K2i (i2 = 0)
00000000: 77 e0 16 18 ad 76 e8 5a 66 2f 88 c4 c0 92 ec 33
00000010: 6d 23 63 28 28 d5 77 d8 84 e1 01 b1 8d 84 a7 1d
(28) Computes K3i (i3 = 0)
00000000: 36 ff fa db 84 a9 f1 21 d5 84 16 db eb af 21 a2
00000010: 12 6d 5c 35 95 fe 89 cf 27 47 52 8a b7 36 92 d4
(29) Selects SPI for incoming ESP SA
00000000: 0a de 5f cd
(30) Creates message
Smyslov Expires 9 June 2023 [Page 17]
Internet-Draft GOST algorithms in IKEv2 December 2022
IKE SA Auth
E9D3F378191C3840.8DDFF401FBFB0B14.00000001 IKEv2 R<-I[334]
E[306]{
IDi[21](FQDN){"IKE-Initiator"},
AUTH[72](Preshared-Key){C99B01...741EE3},
N[8](INITIAL_CONTACT),
N[12](SET_WINDOW_SIZE){4},
CP[16](REQUEST){IP4.Address[0], IP4.DNS[0]},
SA[56]{
P[52](#1:ESP:0ADE5FCD:5#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
ENCR_MAGMA_MGM_KTREE,
ENCR_KUZNYECHIK_MGM_MAC_KTREE,
ENCR_MAGMA_MGM_MAC_KTREE,
ESN=Off}},
TSi[40](2#){10.111.10.171:icmp:8.0, 0.0.0.0-255.255.255.255},
TSr[40](2#){10.0.0.2:icmp:8.0, 10.0.0.0-10.0.0.255},
N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
N[8](NON_FIRST_FRAGMENTS_ALSO)}
(31) Composes MGM nonce
00000000: 00 00 00 00 83 00 37 c3 08 01 7e c3 0a 71 62 01
(32) Composes AAD
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 23 08 00 00 00 01 00 00 01 4e 23 00 01 32
(33) Composes plaintext
Smyslov Expires 9 June 2023 [Page 18]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 27 00 00 15 02 00 00 00 49 4b 45 2d 49 6e 69 74
00000010: 69 61 74 6f 72 29 00 00 48 02 00 00 00 c9 9b 01
00000020: 9a 89 ee 56 53 ab 28 25 a1 d7 51 54 ac 01 42 fb
00000030: d6 2e bc 1e f3 65 73 63 5b 16 81 4b 97 38 b4 20
00000040: 5d 09 d9 b4 21 b4 0c f4 55 27 80 e7 4c cf 66 d0
00000050: 14 25 87 7c 20 84 68 d5 79 3a 74 1e e3 29 00 00
00000060: 08 00 00 40 00 2f 00 00 0c 00 00 40 01 00 00 00
00000070: 04 21 00 00 10 01 00 00 00 00 01 00 00 00 03 00
00000080: 00 2c 00 00 38 00 00 00 34 01 03 04 05 0a de 5f
00000090: cd 03 00 00 08 01 00 00 20 03 00 00 08 01 00 00
000000A0: 21 03 00 00 08 01 00 00 22 03 00 00 08 01 00 00
000000B0: 23 00 00 00 08 05 00 00 00 2d 00 00 28 02 00 00
000000C0: 00 07 01 00 10 08 00 08 00 0a 6f 0a ab 0a 6f 0a
000000D0: ab 07 00 00 10 00 00 ff ff 00 00 00 00 ff ff ff
000000E0: ff 29 00 00 28 02 00 00 00 07 01 00 10 08 00 08
000000F0: 00 0a 00 00 02 0a 00 00 02 07 00 00 10 00 00 ff
00000100: ff 0a 00 00 00 0a 00 00 ff 29 00 00 08 00 00 40
00000110: 0a 00 00 00 08 00 00 40 0b 00
(34) Encrypts plaintext using K3i as K_msg, resulted in ciphertext
00000000: a5 7d 65 70 aa c3 ef f7 df d6 5c 58 f6 2e ea 80
00000010: 82 15 dc 9d ae 42 1c f0 4c e4 cd 2a 45 f0 22 96
00000020: ea d2 06 cc 9b 59 97 9e 45 5d 27 5f b4 fd 55 6a
00000030: 90 bb 14 da df 9f 56 b0 e8 4c 89 a5 d8 f1 f6 55
00000040: a9 f0 82 90 57 28 86 a5 bd 12 85 2f 2e 51 54 29
00000050: fe 04 45 a4 90 f0 f8 0e 8b e9 c7 37 05 8f 6b bb
00000060: 36 b0 24 8a 5f a3 ca f3 7e 7d f9 8e 73 4b b0 14
00000070: ce b0 af 63 4c 4f ea 60 f6 46 4c 61 76 7c 9f 18
00000080: 0c 61 73 fa 30 9f 91 c4 22 c9 ab 61 80 5a de 8e
00000090: 06 40 36 7a 71 59 a5 ad 1c 67 25 03 9b af 2b 04
000000A0: 9f c1 de 51 11 7b f1 16 20 81 78 3f a8 01 d6 c8
000000B0: 79 89 d9 65 3e ea 58 6d ac 48 fc 4a 9a b9 48 02
000000C0: d7 2b 01 5d 6a 2d cb 65 bb ad 99 86 e2 03 08 76
000000D0: 1b dd 7c 56 3c 49 a4 2c da 24 1f ad 54 79 f5 d8
000000E0: 0e 52 8a 49 92 90 66 80 85 00 b7 d8 89 5f b7 f4
000000F0: 92 c1 5b ed 8a 16 00 f3 9a f8 90 4b fa 6a b2 de
00000100: 2a 89 74 9f 99 c7 c3 57 88 5b 88 95 5c ec 46 52
00000110: 04 c4 49 08 05 ab ee 1c 80 f6
(35) Computes ICV using K3i as K_msg
00000000: 7a 4f 14 38 e6 5f 6b 8c f5 5d 55 f5
(36) Composes IV
00000000: 00 00 00 00 00 00 00 00
Smyslov Expires 9 June 2023 [Page 19]
Internet-Draft GOST algorithms in IKEv2 December 2022
(37) Sends message, peer receives message
10.111.10.171:54294->10.111.15.45:500 [334]
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 23 08 00 00 00 01 00 00 01 4e 23 00 01 32
00000020: 00 00 00 00 00 00 00 00 a5 7d 65 70 aa c3 ef f7
00000030: df d6 5c 58 f6 2e ea 80 82 15 dc 9d ae 42 1c f0
00000040: 4c e4 cd 2a 45 f0 22 96 ea d2 06 cc 9b 59 97 9e
00000050: 45 5d 27 5f b4 fd 55 6a 90 bb 14 da df 9f 56 b0
00000060: e8 4c 89 a5 d8 f1 f6 55 a9 f0 82 90 57 28 86 a5
00000070: bd 12 85 2f 2e 51 54 29 fe 04 45 a4 90 f0 f8 0e
00000080: 8b e9 c7 37 05 8f 6b bb 36 b0 24 8a 5f a3 ca f3
00000090: 7e 7d f9 8e 73 4b b0 14 ce b0 af 63 4c 4f ea 60
000000A0: f6 46 4c 61 76 7c 9f 18 0c 61 73 fa 30 9f 91 c4
000000B0: 22 c9 ab 61 80 5a de 8e 06 40 36 7a 71 59 a5 ad
000000C0: 1c 67 25 03 9b af 2b 04 9f c1 de 51 11 7b f1 16
000000D0: 20 81 78 3f a8 01 d6 c8 79 89 d9 65 3e ea 58 6d
000000E0: ac 48 fc 4a 9a b9 48 02 d7 2b 01 5d 6a 2d cb 65
000000F0: bb ad 99 86 e2 03 08 76 1b dd 7c 56 3c 49 a4 2c
00000100: da 24 1f ad 54 79 f5 d8 0e 52 8a 49 92 90 66 80
00000110: 85 00 b7 d8 89 5f b7 f4 92 c1 5b ed 8a 16 00 f3
00000120: 9a f8 90 4b fa 6a b2 de 2a 89 74 9f 99 c7 c3 57
00000130: 88 5b 88 95 5c ec 46 52 04 c4 49 08 05 ab ee 1c
00000140: 80 f6 7a 4f 14 38 e6 5f 6b 8c f5 5d 55 f5
Responder's actions:
(38) Computes shared key
00000000: a2 43 6c bd 2d c1 0f 81 0d f7 6f 24 ae 78 70 f2
00000010: 27 5d 1b dc c5 52 0e d8 53 e5 c5 43 98 f7 35 ce
00000020: 32 70 89 2b 8e 89 0b 7d b3 98 77 cd bd 31 5d 18
00000030: 10 5d 8b ac 16 f0 aa fd bc dc 7c 69 75 14 48 a8
(39) Computes SKEYSEED
00000000: fc 7b d9 80 4b 15 00 60 d2 08 17 3a 08 4b a9 2a
00000010: 0f 01 cb c3 ef e9 b5 aa 15 5b 0e 80 24 68 3c 4c
00000020: 6c fb e9 c8 16 7d 54 2d 48 ee 61 71 01 68 ca 68
00000030: 4f 7c b0 1b 61 29 20 9a 68 88 5b 3f d7 19 0b d0
(40) Computes SK_d
00000000: 6b 2b 83 d7 a9 10 5f f4 27 e8 05 86 b7 f0 09 31
00000010: 16 43 81 ae 88 7a 3f c9 65 30 73 00 e5 82 81 52
00000020: 68 07 ba e5 39 ef 6e a7 75 db 2c c9 1c d3 4b 70
00000030: e0 be 97 14 81 bb 0c 80 ef b3 6e 12 2a 08 74 36
Smyslov Expires 9 June 2023 [Page 20]
Internet-Draft GOST algorithms in IKEv2 December 2022
(41) Computes SK_ei
00000000: 8c 6d f1 8f 6a ff 9f 1b 3e be 40 ef e2 64 c2 bf
00000010: 8e 6e d7 4c b5 8b 0a 74 a7 30 0c 21 7e 66 c7 d4
00000020: 83 00 37 c3 08 01 7e c3 0a 71 62 01
(42) Computes SK_er
00000000: df e8 7d 5f 9c da 5e 45 b8 b9 11 02 63 6c 08 47
00000010: f6 4f c5 5d 6a 7b 4b 91 52 32 0a a2 5e c0 31 34
00000020: 65 20 72 e7 0a 1e ff 7d da ba 17 31
(43) Computes SK_pi
00000000: 93 11 c6 4c d7 12 b5 40 f9 e8 7e 73 c5 28 a7 d8
00000010: 89 48 1c f1 bf a3 ad 67 cf b4 d9 6a 9b fe 3c ea
00000020: 2f cc 2a 5e d4 e4 0b 27 7f be c9 9d c3 8d b7 68
00000030: 03 c1 f3 f8 94 af 47 8b d8 35 b8 6b c2 ca 38 16
(44) Computes SK_pr
00000000: 7b b0 4b 24 74 9c 73 68 7f 34 a3 b8 17 6b 9e 30
00000010: f2 eb 33 73 23 ff 49 1e e3 07 e7 9f 77 b6 2a ef
00000020: 5a 5e a9 02 8e 90 5c 83 49 ec 1e aa a4 05 bc e1
00000030: fb c4 5b f0 27 d6 9b 41 77 6f e1 48 f3 37 99 e5
(45) Extracts IV from message
00000000: 00 00 00 00 00 00 00 00
(46) Computes K1i (i1 = 0)
00000000: f2 ac 10 7a 1f 92 d1 b1 1b b1 74 c3 42 76 a3 3f
00000010: fa ea 1b 1e 81 10 c1 01 7a 25 9a 00 8d 76 57 de
(47) Computes K2i (i2 = 0)
00000000: 77 e0 16 18 ad 76 e8 5a 66 2f 88 c4 c0 92 ec 33
00000010: 6d 23 63 28 28 d5 77 d8 84 e1 01 b1 8d 84 a7 1d
(48) Computes K3i (i3 = 0)
00000000: 36 ff fa db 84 a9 f1 21 d5 84 16 db eb af 21 a2
00000010: 12 6d 5c 35 95 fe 89 cf 27 47 52 8a b7 36 92 d4
(49) Composes MGM nonce
00000000: 00 00 00 00 83 00 37 c3 08 01 7e c3 0a 71 62 01
Smyslov Expires 9 June 2023 [Page 21]
Internet-Draft GOST algorithms in IKEv2 December 2022
(50) Extracts ICV from message
00000000: 7a 4f 14 38 e6 5f 6b 8c f5 5d 55 f5
(51) Extracts AAD from message
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 23 08 00 00 00 01 00 00 01 4e 23 00 01 32
(52) Extracts ciphertext from message
00000000: a5 7d 65 70 aa c3 ef f7 df d6 5c 58 f6 2e ea 80
00000010: 82 15 dc 9d ae 42 1c f0 4c e4 cd 2a 45 f0 22 96
00000020: ea d2 06 cc 9b 59 97 9e 45 5d 27 5f b4 fd 55 6a
00000030: 90 bb 14 da df 9f 56 b0 e8 4c 89 a5 d8 f1 f6 55
00000040: a9 f0 82 90 57 28 86 a5 bd 12 85 2f 2e 51 54 29
00000050: fe 04 45 a4 90 f0 f8 0e 8b e9 c7 37 05 8f 6b bb
00000060: 36 b0 24 8a 5f a3 ca f3 7e 7d f9 8e 73 4b b0 14
00000070: ce b0 af 63 4c 4f ea 60 f6 46 4c 61 76 7c 9f 18
00000080: 0c 61 73 fa 30 9f 91 c4 22 c9 ab 61 80 5a de 8e
00000090: 06 40 36 7a 71 59 a5 ad 1c 67 25 03 9b af 2b 04
000000A0: 9f c1 de 51 11 7b f1 16 20 81 78 3f a8 01 d6 c8
000000B0: 79 89 d9 65 3e ea 58 6d ac 48 fc 4a 9a b9 48 02
000000C0: d7 2b 01 5d 6a 2d cb 65 bb ad 99 86 e2 03 08 76
000000D0: 1b dd 7c 56 3c 49 a4 2c da 24 1f ad 54 79 f5 d8
000000E0: 0e 52 8a 49 92 90 66 80 85 00 b7 d8 89 5f b7 f4
000000F0: 92 c1 5b ed 8a 16 00 f3 9a f8 90 4b fa 6a b2 de
00000100: 2a 89 74 9f 99 c7 c3 57 88 5b 88 95 5c ec 46 52
00000110: 04 c4 49 08 05 ab ee 1c 80 f6
(53) Decrypts ciphertext and verifies ICV using K3i as K_msg,
resulted in plaintext
Smyslov Expires 9 June 2023 [Page 22]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 27 00 00 15 02 00 00 00 49 4b 45 2d 49 6e 69 74
00000010: 69 61 74 6f 72 29 00 00 48 02 00 00 00 c9 9b 01
00000020: 9a 89 ee 56 53 ab 28 25 a1 d7 51 54 ac 01 42 fb
00000030: d6 2e bc 1e f3 65 73 63 5b 16 81 4b 97 38 b4 20
00000040: 5d 09 d9 b4 21 b4 0c f4 55 27 80 e7 4c cf 66 d0
00000050: 14 25 87 7c 20 84 68 d5 79 3a 74 1e e3 29 00 00
00000060: 08 00 00 40 00 2f 00 00 0c 00 00 40 01 00 00 00
00000070: 04 21 00 00 10 01 00 00 00 00 01 00 00 00 03 00
00000080: 00 2c 00 00 38 00 00 00 34 01 03 04 05 0a de 5f
00000090: cd 03 00 00 08 01 00 00 20 03 00 00 08 01 00 00
000000A0: 21 03 00 00 08 01 00 00 22 03 00 00 08 01 00 00
000000B0: 23 00 00 00 08 05 00 00 00 2d 00 00 28 02 00 00
000000C0: 00 07 01 00 10 08 00 08 00 0a 6f 0a ab 0a 6f 0a
000000D0: ab 07 00 00 10 00 00 ff ff 00 00 00 00 ff ff ff
000000E0: ff 29 00 00 28 02 00 00 00 07 01 00 10 08 00 08
000000F0: 00 0a 00 00 02 0a 00 00 02 07 00 00 10 00 00 ff
00000100: ff 0a 00 00 00 0a 00 00 ff 29 00 00 08 00 00 40
00000110: 0a 00 00 00 08 00 00 40 0b 00
(54) Parses received message
IKE SA Auth
E9D3F378191C3840.8DDFF401FBFB0B14.00000001 IKEv2 I->R[334]
E[306]{
IDi[21](FQDN){"IKE-Initiator"},
AUTH[72](Preshared-Key){C99B01...741EE3},
N[8](INITIAL_CONTACT),
N[12](SET_WINDOW_SIZE){4},
CP[16](REQUEST){IP4.Address[0], IP4.DNS[0]},
SA[56]{
P[52](#1:ESP:0ADE5FCD:5#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
ENCR_MAGMA_MGM_KTREE,
ENCR_KUZNYECHIK_MGM_MAC_KTREE,
ENCR_MAGMA_MGM_MAC_KTREE,
ESN=Off}},
TSi[40](2#){10.111.10.171:icmp:8.0, 0.0.0.0-255.255.255.255},
TSr[40](2#){10.0.0.2:icmp:8.0, 10.0.0.0-10.0.0.255},
N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
N[8](NON_FIRST_FRAGMENTS_ALSO)}
(55) Computes prf(SK_pi, IDi)
00000000: 06 d3 d4 36 ab 5b 4f 41 d4 3d fc 79 1f 13 a3 89
00000010: e9 a6 6e d7 87 7d 72 d1 9d 71 78 2d 05 ee 47 fb
00000020: 82 c8 8f 86 cd b5 05 1d 25 7c 1e 79 18 ef 4e 4e
00000030: 8d ca f4 47 12 c6 7f 6a 32 7d d8 e8 f2 8e f8 33
Smyslov Expires 9 June 2023 [Page 23]
Internet-Draft GOST algorithms in IKEv2 December 2022
(56) Uses PSK
00000000: e2 69 24 cf 15 32 93 47 3a 11 a4 97 a8 a4 5c b3
00000010: 4e 28 31 ef 0e 28 bb 77 69 69 c6 3c 68 bf e1 0d
(57) Computes prf(PSK,"Key Pad for IKEv2")
00000000: 01 3c a5 24 59 4e bc 78 99 20 61 6c 3f 03 e5 2e
00000010: 7a 75 2a 0b 78 36 bd 0a 89 ce 1d e7 8b 23 32 ae
00000020: 08 9a a0 03 1d da f6 14 8c 38 c6 bd 7c 03 13 24
00000030: bd af c8 ad 88 18 8f 41 d0 12 b9 e1 5a 66 8f 10
(58) Computes content of AUTH payload and compares it with the
received one
00000000: c9 9b 01 9a 89 ee 56 53 ab 28 25 a1 d7 51 54 ac
00000010: 01 42 fb d6 2e bc 1e f3 65 73 63 5b 16 81 4b 97
00000020: 38 b4 20 5d 09 d9 b4 21 b4 0c f4 55 27 80 e7 4c
00000030: cf 66 d0 14 25 87 7c 20 84 68 d5 79 3a 74 1e e3
(59) Computes keys for ESP SAs
00000000: ff 42 3b a3 78 29 2b 10 52 c8 bf 06 fa ba 6d 5f
00000010: e2 db 51 1b 74 1b 54 ad 35 85 e3 cf 2b 77 52 42
00000020: bc 8c d8 ba dd f4 46 9e 89 41 5c d6
00000000: 8c eb 84 af 18 01 18 36 b7 8d 65 be 03 ca 69 64
00000010: 89 6e a8 91 03 bc 9a dc bd 49 10 ab 20 83 9f 83
00000020: b1 7c 45 9d ab d8 ab 6f de 6a 62 d1
(60) Computes prf(SK_pr,IDr)
00000000: 32 61 00 71 e8 1a d6 a1 12 8d ef 4e 2a e9 bb c2
00000010: 9f 3d ba 28 1b 2a a5 10 a2 ad c6 b1 73 07 c9 f1
00000020: 50 9e 1c d7 a5 85 8f a8 40 ef dd a7 ae 33 71 74
00000030: c8 8b a9 f4 3a 83 0f c1 c5 3c 9b 21 9f a9 58 25
(61) Uses PSK
00000000: e2 69 24 cf 15 32 93 47 3a 11 a4 97 a8 a4 5c b3
00000010: 4e 28 31 ef 0e 28 bb 77 69 69 c6 3c 68 bf e1 0d
(62) Computes prf(PSK,"Key Pad for IKEv2")
00000000: 01 3c a5 24 59 4e bc 78 99 20 61 6c 3f 03 e5 2e
00000010: 7a 75 2a 0b 78 36 bd 0a 89 ce 1d e7 8b 23 32 ae
00000020: 08 9a a0 03 1d da f6 14 8c 38 c6 bd 7c 03 13 24
00000030: bd af c8 ad 88 18 8f 41 d0 12 b9 e1 5a 66 8f 10
Smyslov Expires 9 June 2023 [Page 24]
Internet-Draft GOST algorithms in IKEv2 December 2022
(63) Computes content of AUTH payload
00000000: 35 ce 8a ab dd 3d b1 5f 38 7b 2e c9 a6 24 7a 1f
00000010: a7 bb a0 6f b6 5e d8 81 07 d3 43 c8 a5 db 37 51
00000020: 0e 9d 9a 85 66 18 7a 0f 5c e2 1b fb 27 56 65 ed
00000030: 0e 41 fe ce 5e 95 bf 8a ae 57 f6 d6 26 d2 d1 2d
(64) Computes K1r (i1 = 0)
00000000: 61 cd ad b1 01 10 71 7c dc 18 81 1d 1f aa e3 13
00000010: 4b 07 f8 f7 49 a7 3d 0a 57 2f e1 61 bc ab 85 c4
(65) Computes K2r (i2 = 0)
00000000: 5f e7 47 77 da f7 54 d7 a8 e5 eb ed f9 82 c8 a9
00000010: 74 0c 54 77 6f eb b8 70 a4 43 43 3e c2 9e ce a6
(66) Computes K3r (i3 = 0)
00000000: e8 af 72 c4 c3 55 a2 6a fb ad 37 fd b4 b9 7f d6
00000010: f6 c8 cc 32 3f 50 32 40 06 86 ce 85 1b 02 28 f3
(67) Selects SPI for incoming ESP SA
00000000: 50 3c 8d af
(68) Creates message
IKE SA Auth
E9D3F378191C3840.8DDFF401FBFB0B14.00000001 IKEv2 I<=R[286]
E[258]{
IDr[21](FQDN){"IKE-Responder"},
AUTH[72](Preshared-Key){35CE8A...D2D12D},
N[8](INITIAL_CONTACT),
N[12](SET_WINDOW_SIZE){64},
CP[16](REPLY){IP4.Address[4]=10.1.1.2},
SA[32]{
P[28](#1:ESP:503C8DAF:2#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
ESN=Off}},
TSi[24](1#){10.1.1.2},
TSr[24](1#){10.0.0.0-10.0.0.255},
N[8](ADDITIONAL_TS_POSSIBLE),
N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
N[8](NON_FIRST_FRAGMENTS_ALSO)}
(69) Composes MGM nonce
Smyslov Expires 9 June 2023 [Page 25]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 00 00 00 00 65 20 72 e7 0a 1e ff 7d da ba 17 31
(70) Composes AAD
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 23 20 00 00 00 01 00 00 01 1e 24 00 01 02
(71) Composes plaintext
00000000: 27 00 00 15 02 00 00 00 49 4b 45 2d 52 65 73 70
00000010: 6f 6e 64 65 72 29 00 00 48 02 00 00 00 35 ce 8a
00000020: ab dd 3d b1 5f 38 7b 2e c9 a6 24 7a 1f a7 bb a0
00000030: 6f b6 5e d8 81 07 d3 43 c8 a5 db 37 51 0e 9d 9a
00000040: 85 66 18 7a 0f 5c e2 1b fb 27 56 65 ed 0e 41 fe
00000050: ce 5e 95 bf 8a ae 57 f6 d6 26 d2 d1 2d 29 00 00
00000060: 08 00 00 40 00 2f 00 00 0c 00 00 40 01 00 00 00
00000070: 40 21 00 00 10 02 00 00 00 00 01 00 04 0a 01 01
00000080: 02 2c 00 00 20 00 00 00 1c 01 03 04 02 50 3c 8d
00000090: af 03 00 00 08 01 00 00 20 00 00 00 08 05 00 00
000000A0: 00 2d 00 00 18 01 00 00 00 07 00 00 10 00 00 ff
000000B0: ff 0a 01 01 02 0a 01 01 02 29 00 00 18 01 00 00
000000C0: 00 07 00 00 10 00 00 ff ff 0a 00 00 00 0a 00 00
000000D0: ff 29 00 00 08 00 00 40 02 29 00 00 08 00 00 40
000000E0: 0a 00 00 00 08 00 00 40 0b 00
(72) Encrypts plaintext using K3r as K_msg, resulted in ciphertext
00000000: 9b 5d 58 8a 99 44 11 d6 5b 93 7f 98 57 0d 0f 09
00000010: 0c a3 d9 36 41 b5 9c 91 94 17 3a cb 00 88 24 5e
00000020: 25 b7 0d 75 2f fb 4d d0 ab 2c cc 84 42 e7 f8 1b
00000030: 5a e6 88 13 9a 3e b1 03 79 31 0c 69 f6 17 a2 40
00000040: f8 aa 74 2e 62 29 ee 57 43 3f 10 bf 44 73 51 97
00000050: 2c 93 a4 02 87 3d 37 45 2c f1 3e 16 c3 d9 ec b3
00000060: b8 6f 66 1a f1 73 44 7c db 74 11 e6 07 4a 75 23
00000070: 83 df 00 52 ae 68 60 39 83 4c c3 b1 d5 7a e8 7f
00000080: 61 59 9e 4f 92 3c 2f 04 3b c3 ac e7 23 3f 1c a7
00000090: a5 3f 4d 33 1f 46 25 9f 09 5e f4 75 e0 12 32 5b
000000A0: 29 64 a4 40 1a b5 c9 cd 9e 8f 91 cc 5b 7d 14 15
000000B0: d0 89 70 e0 c6 d8 e4 e0 93 ff 02 4c 69 db ab 84
000000C0: d6 8f b9 f9 ed 07 aa 96 29 2a 50 c2 c4 b6 e5 cb
000000D0: 8e 16 33 7a 20 a4 3b 0e f2 53 9b b1 63 c0 46 4b
000000E0: d9 31 a8 98 f5 17 8a ff 0a c0
(73) Computes ICV using K3r as K_msg
00000000: 4a db a4 67 7e a1 3c 54 22 1f cf 62
(74) Composes IV
Smyslov Expires 9 June 2023 [Page 26]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 00 00 00 00 00 00 00 00
(75) Sends message, peer receives message
10.111.10.171:54294<-10.111.15.45:500 [286]
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 23 20 00 00 00 01 00 00 01 1e 24 00 01 02
00000020: 00 00 00 00 00 00 00 00 9b 5d 58 8a 99 44 11 d6
00000030: 5b 93 7f 98 57 0d 0f 09 0c a3 d9 36 41 b5 9c 91
00000040: 94 17 3a cb 00 88 24 5e 25 b7 0d 75 2f fb 4d d0
00000050: ab 2c cc 84 42 e7 f8 1b 5a e6 88 13 9a 3e b1 03
00000060: 79 31 0c 69 f6 17 a2 40 f8 aa 74 2e 62 29 ee 57
00000070: 43 3f 10 bf 44 73 51 97 2c 93 a4 02 87 3d 37 45
00000080: 2c f1 3e 16 c3 d9 ec b3 b8 6f 66 1a f1 73 44 7c
00000090: db 74 11 e6 07 4a 75 23 83 df 00 52 ae 68 60 39
000000A0: 83 4c c3 b1 d5 7a e8 7f 61 59 9e 4f 92 3c 2f 04
000000B0: 3b c3 ac e7 23 3f 1c a7 a5 3f 4d 33 1f 46 25 9f
000000C0: 09 5e f4 75 e0 12 32 5b 29 64 a4 40 1a b5 c9 cd
000000D0: 9e 8f 91 cc 5b 7d 14 15 d0 89 70 e0 c6 d8 e4 e0
000000E0: 93 ff 02 4c 69 db ab 84 d6 8f b9 f9 ed 07 aa 96
000000F0: 29 2a 50 c2 c4 b6 e5 cb 8e 16 33 7a 20 a4 3b 0e
00000100: f2 53 9b b1 63 c0 46 4b d9 31 a8 98 f5 17 8a ff
00000110: 0a c0 4a db a4 67 7e a1 3c 54 22 1f cf 62
Initiator's actions:
(76) Extracts IV from message
00000000: 00 00 00 00 00 00 00 00
(77) Computes K1r (i1 = 0)
00000000: 61 cd ad b1 01 10 71 7c dc 18 81 1d 1f aa e3 13
00000010: 4b 07 f8 f7 49 a7 3d 0a 57 2f e1 61 bc ab 85 c4
(78) Computes K2r (i2 = 0)
00000000: 5f e7 47 77 da f7 54 d7 a8 e5 eb ed f9 82 c8 a9
00000010: 74 0c 54 77 6f eb b8 70 a4 43 43 3e c2 9e ce a6
(79) Computes K3r (i3 = 0)
00000000: e8 af 72 c4 c3 55 a2 6a fb ad 37 fd b4 b9 7f d6
00000010: f6 c8 cc 32 3f 50 32 40 06 86 ce 85 1b 02 28 f3
(80) Composes MGM nonce
Smyslov Expires 9 June 2023 [Page 27]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 00 00 00 00 65 20 72 e7 0a 1e ff 7d da ba 17 31
(81) Extracts ICV from message
00000000: 4a db a4 67 7e a1 3c 54 22 1f cf 62
(82) Extracts AAD from message
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 23 20 00 00 00 01 00 00 01 1e 24 00 01 02
(83) Extracts ciphertext from message
00000000: 9b 5d 58 8a 99 44 11 d6 5b 93 7f 98 57 0d 0f 09
00000010: 0c a3 d9 36 41 b5 9c 91 94 17 3a cb 00 88 24 5e
00000020: 25 b7 0d 75 2f fb 4d d0 ab 2c cc 84 42 e7 f8 1b
00000030: 5a e6 88 13 9a 3e b1 03 79 31 0c 69 f6 17 a2 40
00000040: f8 aa 74 2e 62 29 ee 57 43 3f 10 bf 44 73 51 97
00000050: 2c 93 a4 02 87 3d 37 45 2c f1 3e 16 c3 d9 ec b3
00000060: b8 6f 66 1a f1 73 44 7c db 74 11 e6 07 4a 75 23
00000070: 83 df 00 52 ae 68 60 39 83 4c c3 b1 d5 7a e8 7f
00000080: 61 59 9e 4f 92 3c 2f 04 3b c3 ac e7 23 3f 1c a7
00000090: a5 3f 4d 33 1f 46 25 9f 09 5e f4 75 e0 12 32 5b
000000A0: 29 64 a4 40 1a b5 c9 cd 9e 8f 91 cc 5b 7d 14 15
000000B0: d0 89 70 e0 c6 d8 e4 e0 93 ff 02 4c 69 db ab 84
000000C0: d6 8f b9 f9 ed 07 aa 96 29 2a 50 c2 c4 b6 e5 cb
000000D0: 8e 16 33 7a 20 a4 3b 0e f2 53 9b b1 63 c0 46 4b
000000E0: d9 31 a8 98 f5 17 8a ff 0a c0
(84) Decrypts ciphertext and verifies ICV using K3r as K_msg,
resulted in plaintext
00000000: 27 00 00 15 02 00 00 00 49 4b 45 2d 52 65 73 70
00000010: 6f 6e 64 65 72 29 00 00 48 02 00 00 00 35 ce 8a
00000020: ab dd 3d b1 5f 38 7b 2e c9 a6 24 7a 1f a7 bb a0
00000030: 6f b6 5e d8 81 07 d3 43 c8 a5 db 37 51 0e 9d 9a
00000040: 85 66 18 7a 0f 5c e2 1b fb 27 56 65 ed 0e 41 fe
00000050: ce 5e 95 bf 8a ae 57 f6 d6 26 d2 d1 2d 29 00 00
00000060: 08 00 00 40 00 2f 00 00 0c 00 00 40 01 00 00 00
00000070: 40 21 00 00 10 02 00 00 00 00 01 00 04 0a 01 01
00000080: 02 2c 00 00 20 00 00 00 1c 01 03 04 02 50 3c 8d
00000090: af 03 00 00 08 01 00 00 20 00 00 00 08 05 00 00
000000A0: 00 2d 00 00 18 01 00 00 00 07 00 00 10 00 00 ff
000000B0: ff 0a 01 01 02 0a 01 01 02 29 00 00 18 01 00 00
000000C0: 00 07 00 00 10 00 00 ff ff 0a 00 00 00 0a 00 00
000000D0: ff 29 00 00 08 00 00 40 02 29 00 00 08 00 00 40
000000E0: 0a 00 00 00 08 00 00 40 0b 00
Smyslov Expires 9 June 2023 [Page 28]
Internet-Draft GOST algorithms in IKEv2 December 2022
(85) Parses received message
IKE SA Auth
E9D3F378191C3840.8DDFF401FBFB0B14.00000001 IKEv2 R=>I[286]
E[258]{
IDr[21](FQDN){"IKE-Responder"},
AUTH[72](Preshared-Key){35CE8A...D2D12D},
N[8](INITIAL_CONTACT),
N[12](SET_WINDOW_SIZE){64},
CP[16](REPLY){IP4.Address[4]=10.1.1.2},
SA[32]{
P[28](#1:ESP:503C8DAF:2#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
ESN=Off}},
TSi[24](1#){10.1.1.2},
TSr[24](1#){10.0.0.0-10.0.0.255},
N[8](ADDITIONAL_TS_POSSIBLE),
N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
N[8](NON_FIRST_FRAGMENTS_ALSO)}
(86) Computes prf(SK_pr, IDr)
00000000: 32 61 00 71 e8 1a d6 a1 12 8d ef 4e 2a e9 bb c2
00000010: 9f 3d ba 28 1b 2a a5 10 a2 ad c6 b1 73 07 c9 f1
00000020: 50 9e 1c d7 a5 85 8f a8 40 ef dd a7 ae 33 71 74
00000030: c8 8b a9 f4 3a 83 0f c1 c5 3c 9b 21 9f a9 58 25
(87) Uses PSK
00000000: e2 69 24 cf 15 32 93 47 3a 11 a4 97 a8 a4 5c b3
00000010: 4e 28 31 ef 0e 28 bb 77 69 69 c6 3c 68 bf e1 0d
(88) Computes prf(PSK,"Key Pad for IKEv2")
00000000: 01 3c a5 24 59 4e bc 78 99 20 61 6c 3f 03 e5 2e
00000010: 7a 75 2a 0b 78 36 bd 0a 89 ce 1d e7 8b 23 32 ae
00000020: 08 9a a0 03 1d da f6 14 8c 38 c6 bd 7c 03 13 24
00000030: bd af c8 ad 88 18 8f 41 d0 12 b9 e1 5a 66 8f 10
(89) Computes content of AUTH payload and compares it with the
received one
00000000: 35 ce 8a ab dd 3d b1 5f 38 7b 2e c9 a6 24 7a 1f
00000010: a7 bb a0 6f b6 5e d8 81 07 d3 43 c8 a5 db 37 51
00000020: 0e 9d 9a 85 66 18 7a 0f 5c e2 1b fb 27 56 65 ed
00000030: 0e 41 fe ce 5e 95 bf 8a ae 57 f6 d6 26 d2 d1 2d
(90) Computes keys for ESP SAs
Smyslov Expires 9 June 2023 [Page 29]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: ff 42 3b a3 78 29 2b 10 52 c8 bf 06 fa ba 6d 5f
00000010: e2 db 51 1b 74 1b 54 ad 35 85 e3 cf 2b 77 52 42
00000020: bc 8c d8 ba dd f4 46 9e 89 41 5c d6
00000000: 8c eb 84 af 18 01 18 36 b7 8d 65 be 03 ca 69 64
00000010: 89 6e a8 91 03 bc 9a dc bd 49 10 ab 20 83 9f 83
00000020: b1 7c 45 9d ab d8 ab 6f de 6a 62 d1
Sub-scenario 2: IKE SA rekeying using the CREATE_CHILD_SA exchange.
Initiator Responder
HDR, SK {SAi, Ni, KEi [,N+]} --->
<--- HDR, SK {SAr, Nr, KEr [,N+]}
Initiator's actions:
(1) Generates random SPIi for new IKE SA
00000000: 43 87 64 8d 6c 9e 28 ff
(2) Generates random IKE nonce Ni
00000000: 6c 83 67 41 1b 45 94 1d 79 94 51 2d 3f 7d 1e ce
00000010: 06 76 a6 09 cc a9 3a 8f f8 17 81 ff 28 08 5a 4c
(3) Generates ephemeral private key
00000000: cf 8f f0 df 04 24 43 b5 7e 15 2c bd 9f cd bd d9
00000010: 20 b5 35 7c e8 8b a6 d7 bd 7f 32 39 3d 5e 9a 3c
00000020: eb 88 4f 7f 6c 5d 03 05 fc bf 08 12 41 76 f4 a6
00000030: 2e 4c f7 ce 55 18 9d 6a 54 1f f7 57 46 23 cd 26
(4) Computes public key
00000000: 04 db 0b d3 9a ac 83 f3 e9 9d a9 11 c3 12 f6 df
00000010: f6 ae 99 38 55 20 1f 83 c8 28 ed 14 f9 68 88 77
00000020: ac 78 36 41 7a d7 93 a7 ee 4c 6a d7 f2 50 24 f5
00000030: a8 7b 03 28 22 9f a4 66 11 20 57 64 56 7c 36 3c
00000040: 72 c7 91 0a 1c fd 64 54 f1 17 97 6a 35 48 dc 8f
00000050: 85 97 20 12 2f 35 55 58 9b ca 7a 84 f3 01 cf ca
00000060: 78 e7 41 87 d3 3f 0f 2b 6d 78 59 ad f2 f2 c2 97
00000070: db 0b 75 6e 00 38 a2 72 8d 17 6b 44 f9 8b 95 66
(5) Creates message
Smyslov Expires 9 June 2023 [Page 30]
Internet-Draft GOST algorithms in IKEv2 December 2022
Create Child SA
E9D3F378191C3840.8DDFF401FBFB0B14.00000002 IKEv2 R<-I [281]
E[253]{
SA[44]{
P[40](#1:IKE:4387648D6C9E28FF:3#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
PRF=PRF_HMAC_STREEBOG_512,
KE=GOST3410_2012_512}},
NONCE[36]{6C8367...085A4C},
KE[136](GOST3410_2012_512){04DB0B...8B9566},
N[12](SET_WINDOW_SIZE){4}}
(6) Uses previously computed key K3i
00000000: 36 ff fa db 84 a9 f1 21 d5 84 16 db eb af 21 a2
00000010: 12 6d 5c 35 95 fe 89 cf 27 47 52 8a b7 36 92 d4
(7) Composes MGM nonce
00000000: 00 00 00 01 83 00 37 c3 08 01 7e c3 0a 71 62 01
(8) Composes AAD
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 24 08 00 00 00 02 00 00 01 19 21 00 00 fd
(9) Composes plaintext
00000000: 28 00 00 2c 00 00 00 28 01 01 08 03 43 87 64 8d
00000010: 6c 9e 28 ff 03 00 00 08 01 00 00 20 03 00 00 08
00000020: 02 00 00 09 00 00 00 08 04 00 00 22 22 00 00 24
00000030: 6c 83 67 41 1b 45 94 1d 79 94 51 2d 3f 7d 1e ce
00000040: 06 76 a6 09 cc a9 3a 8f f8 17 81 ff 28 08 5a 4c
00000050: 29 00 00 88 00 22 00 00 04 db 0b d3 9a ac 83 f3
00000060: e9 9d a9 11 c3 12 f6 df f6 ae 99 38 55 20 1f 83
00000070: c8 28 ed 14 f9 68 88 77 ac 78 36 41 7a d7 93 a7
00000080: ee 4c 6a d7 f2 50 24 f5 a8 7b 03 28 22 9f a4 66
00000090: 11 20 57 64 56 7c 36 3c 72 c7 91 0a 1c fd 64 54
000000A0: f1 17 97 6a 35 48 dc 8f 85 97 20 12 2f 35 55 58
000000B0: 9b ca 7a 84 f3 01 cf ca 78 e7 41 87 d3 3f 0f 2b
000000C0: 6d 78 59 ad f2 f2 c2 97 db 0b 75 6e 00 38 a2 72
000000D0: 8d 17 6b 44 f9 8b 95 66 00 00 00 0c 00 00 40 01
000000E0: 00 00 00 04 00
(10) Encrypts plaintext using K3i as K_msg, resulted in ciphertext
Smyslov Expires 9 June 2023 [Page 31]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 00 16 cf 92 8a 87 4c 02 79 31 04 22 c3 d9 5f fd
00000010: 5a 19 23 62 25 d1 99 c2 af 75 4d f1 3c ac c0 c1
00000020: c7 db d0 fd 93 ac 6d 25 b4 19 01 e6 df e8 51 c2
00000030: 88 a9 8a 26 92 98 ec ce c1 2f cf ca ce 9b 5a 6d
00000040: 4c 8b cf 97 63 5a a3 e6 46 49 0f 1f 05 54 00 49
00000050: 6b d8 14 f4 e2 ee b3 66 2a 13 9b dd 63 53 7a 82
00000060: 2a d8 bf 48 aa db 79 21 d3 d8 ac b1 ac 8f 9b 41
00000070: a7 49 81 95 d7 54 46 e2 00 9b 17 3a ab 9a 4c 8f
00000080: 19 9e ac 61 cc f6 02 47 a1 7e f4 48 5b e7 3c a7
00000090: 53 dc 03 9e ea 5f c4 99 60 6e db 6a 21 fe 7c 7b
000000A0: 11 ed bf 44 59 73 fa 65 01 98 e4 e6 10 63 87 27
000000B0: 8b f0 8c bb 94 52 dd 97 ee dc ce 88 c4 45 b4 16
000000C0: f2 8b d4 74 cb 46 38 57 f4 44 88 23 44 06 d9 91
000000D0: 00 ea 81 2c e7 f6 66 0f a8 45 0f 1d 8c 2d f1 02
000000E0: a2 06 78 c7 e0
(11) Computes ICV using K3i as K_msg
00000000: b1 2f da a5 96 fa 27 ee 67 de 9e 95
(12) Composes IV
00000000: 00 00 00 00 00 00 00 01
(13) Sends message, peer receives message
10.111.10.171:54294->10.111.15.45:500 [281]
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 24 08 00 00 00 02 00 00 01 19 21 00 00 fd
00000020: 00 00 00 00 00 00 00 01 00 16 cf 92 8a 87 4c 02
00000030: 79 31 04 22 c3 d9 5f fd 5a 19 23 62 25 d1 99 c2
00000040: af 75 4d f1 3c ac c0 c1 c7 db d0 fd 93 ac 6d 25
00000050: b4 19 01 e6 df e8 51 c2 88 a9 8a 26 92 98 ec ce
00000060: c1 2f cf ca ce 9b 5a 6d 4c 8b cf 97 63 5a a3 e6
00000070: 46 49 0f 1f 05 54 00 49 6b d8 14 f4 e2 ee b3 66
00000080: 2a 13 9b dd 63 53 7a 82 2a d8 bf 48 aa db 79 21
00000090: d3 d8 ac b1 ac 8f 9b 41 a7 49 81 95 d7 54 46 e2
000000A0: 00 9b 17 3a ab 9a 4c 8f 19 9e ac 61 cc f6 02 47
000000B0: a1 7e f4 48 5b e7 3c a7 53 dc 03 9e ea 5f c4 99
000000C0: 60 6e db 6a 21 fe 7c 7b 11 ed bf 44 59 73 fa 65
000000D0: 01 98 e4 e6 10 63 87 27 8b f0 8c bb 94 52 dd 97
000000E0: ee dc ce 88 c4 45 b4 16 f2 8b d4 74 cb 46 38 57
000000F0: f4 44 88 23 44 06 d9 91 00 ea 81 2c e7 f6 66 0f
00000100: a8 45 0f 1d 8c 2d f1 02 a2 06 78 c7 e0 b1 2f da
00000110: a5 96 fa 27 ee 67 de 9e 95
Responder's actions:
Smyslov Expires 9 June 2023 [Page 32]
Internet-Draft GOST algorithms in IKEv2 December 2022
(14) Extracts IV from message
00000000: 00 00 00 00 00 00 00 01
(15) Uses previously computed key K3i
00000000: 36 ff fa db 84 a9 f1 21 d5 84 16 db eb af 21 a2
00000010: 12 6d 5c 35 95 fe 89 cf 27 47 52 8a b7 36 92 d4
(16) Composes MGM nonce
00000000: 00 00 00 01 83 00 37 c3 08 01 7e c3 0a 71 62 01
(17) Extracts ICV from message
00000000: b1 2f da a5 96 fa 27 ee 67 de 9e 95
(18) Extracts AAD from message
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 24 08 00 00 00 02 00 00 01 19 21 00 00 fd
(19) Extracts ciphertext from message
00000000: 00 16 cf 92 8a 87 4c 02 79 31 04 22 c3 d9 5f fd
00000010: 5a 19 23 62 25 d1 99 c2 af 75 4d f1 3c ac c0 c1
00000020: c7 db d0 fd 93 ac 6d 25 b4 19 01 e6 df e8 51 c2
00000030: 88 a9 8a 26 92 98 ec ce c1 2f cf ca ce 9b 5a 6d
00000040: 4c 8b cf 97 63 5a a3 e6 46 49 0f 1f 05 54 00 49
00000050: 6b d8 14 f4 e2 ee b3 66 2a 13 9b dd 63 53 7a 82
00000060: 2a d8 bf 48 aa db 79 21 d3 d8 ac b1 ac 8f 9b 41
00000070: a7 49 81 95 d7 54 46 e2 00 9b 17 3a ab 9a 4c 8f
00000080: 19 9e ac 61 cc f6 02 47 a1 7e f4 48 5b e7 3c a7
00000090: 53 dc 03 9e ea 5f c4 99 60 6e db 6a 21 fe 7c 7b
000000A0: 11 ed bf 44 59 73 fa 65 01 98 e4 e6 10 63 87 27
000000B0: 8b f0 8c bb 94 52 dd 97 ee dc ce 88 c4 45 b4 16
000000C0: f2 8b d4 74 cb 46 38 57 f4 44 88 23 44 06 d9 91
000000D0: 00 ea 81 2c e7 f6 66 0f a8 45 0f 1d 8c 2d f1 02
000000E0: a2 06 78 c7 e0
(20) Decrypts ciphertext and verifies ICV using K3i as K_msg,
resulted in plaintext
Smyslov Expires 9 June 2023 [Page 33]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 28 00 00 2c 00 00 00 28 01 01 08 03 43 87 64 8d
00000010: 6c 9e 28 ff 03 00 00 08 01 00 00 20 03 00 00 08
00000020: 02 00 00 09 00 00 00 08 04 00 00 22 22 00 00 24
00000030: 6c 83 67 41 1b 45 94 1d 79 94 51 2d 3f 7d 1e ce
00000040: 06 76 a6 09 cc a9 3a 8f f8 17 81 ff 28 08 5a 4c
00000050: 29 00 00 88 00 22 00 00 04 db 0b d3 9a ac 83 f3
00000060: e9 9d a9 11 c3 12 f6 df f6 ae 99 38 55 20 1f 83
00000070: c8 28 ed 14 f9 68 88 77 ac 78 36 41 7a d7 93 a7
00000080: ee 4c 6a d7 f2 50 24 f5 a8 7b 03 28 22 9f a4 66
00000090: 11 20 57 64 56 7c 36 3c 72 c7 91 0a 1c fd 64 54
000000A0: f1 17 97 6a 35 48 dc 8f 85 97 20 12 2f 35 55 58
000000B0: 9b ca 7a 84 f3 01 cf ca 78 e7 41 87 d3 3f 0f 2b
000000C0: 6d 78 59 ad f2 f2 c2 97 db 0b 75 6e 00 38 a2 72
000000D0: 8d 17 6b 44 f9 8b 95 66 00 00 00 0c 00 00 40 01
000000E0: 00 00 00 04 00
(21) Parses received message
Create Child SA
E9D3F378191C3840.8DDFF401FBFB0B14.00000002 IKEv2 I->R[281]
E[253]{
SA[44]{
P[40](#1:IKE:4387648D6C9E28FF:3#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
PRF=PRF_HMAC_STREEBOG_512,
KE=GOST3410_2012_512}},
NONCE[36]{6C8367...085A4C},
KE[136](GOST3410_2012_512){04DB0B...8B9566},
N[12](SET_WINDOW_SIZE){4}}
(22) Generates random SPIr for new IKE SA
00000000: 82 d9 fa f8 74 49 b9 36
(23) Generates random IKE nonce Nr
00000000: 5a 2d d2 68 c6 85 5d 32 d4 7b 0b 8e ae 7d c9 81
00000010: be 3e 69 c1 bb f5 ae 89 55 59 c7 48 bc 96 43 7b
(24) Generates ephemeral private key
00000000: b9 ea c6 c1 84 db 39 54 e3 e7 74 be 02 e0 c9 0b
00000010: 5c b9 72 03 d4 fc a2 3f b6 cf 71 8d 4f f4 b4 c5
00000020: 21 1c 93 f9 86 cc 6b cb db ff 78 51 5b b6 48 e8
00000030: 44 ce c0 83 c9 d0 b8 90 08 94 db 29 9f bb c2 1a
(25) Computes public key
Smyslov Expires 9 June 2023 [Page 34]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: b9 f9 27 a8 96 70 7a 03 58 c2 39 58 63 2d 50 20
00000010: bf 69 c0 1d a6 de d4 4d 65 aa 26 c6 8f 9f e9 e9
00000020: 4b bb da 1d 2f d3 60 2d 18 33 04 9b b2 25 a6 07
00000030: ac 58 1b fc 3c 5b 1e f3 4b c0 f9 cb 90 14 c6 80
00000040: 6e c3 73 c1 4a f7 5c 27 dd 2a e1 ba 94 9c f7 06
00000050: 68 92 19 8e 85 67 f9 d2 d1 ea 3c 16 16 b9 3f 0c
00000060: 8b 2d 2e d6 20 14 7e 27 18 d3 23 9e 2a 99 41 40
00000070: 6a 41 c5 3f 79 9c a7 22 79 15 98 1d 98 b5 ac 4a
(26) Computes shared key
00000000: dd e7 44 39 1c d9 66 cf d2 24 a4 bb 0a 57 b3 3e
00000010: 1a 8f 5d 07 11 4d c3 47 87 1a 13 ec 84 26 03 f8
00000020: ea 93 5a f5 23 a3 45 71 ff 5f f2 3d 59 43 3a 5e
00000030: eb 5e 79 fa 0e 62 9e bc af ca e4 ee 7a 81 3a 84
(27) Computes SKEYSEED for new SA
00000000: ec 5f 4f 15 ce d7 7d 2f 12 fb a1 df 5f 44 aa 88
00000010: 6a ef 45 e4 04 97 86 95 15 1b 3c ac 31 cc 57 a3
00000020: f0 f4 92 89 33 00 76 2b e9 fd 8b c2 ed 8b e7 36
00000030: cb 17 59 55 9e cc 22 14 72 a5 79 27 27 1d 06 62
(28) Computes SK_d for new SA
00000000: 08 58 14 7d eb c9 41 7f 7f a2 86 66 bf d4 76 37
00000010: 04 27 4e bc 5d 63 f7 07 79 62 69 7a 69 3c da 7a
00000020: d5 4d 6f 08 1e 14 51 66 2f 94 0d bd 29 45 9c b0
00000030: 51 26 09 4b 47 52 ba 19 98 a5 c2 65 af 84 a1 34
(29) Computes SK_ei for new SA
00000000: 18 0a 4f 98 7d a4 21 6c 68 84 94 1f d9 28 49 b9
00000010: 05 30 f8 aa 43 02 7e 0d aa d3 27 e9 8c 9a 39 9a
00000020: 03 a0 05 b7 b2 2d f9 90 bb 6c ff ca
(30) Computes SK_er for new SA
00000000: 47 dc aa 71 4a 8b 66 13 d8 09 79 c7 8c 72 0a 78
00000010: 06 48 6d 4f 1f 53 3a 91 1d b7 2c 86 f5 f1 4e 00
00000020: 84 57 87 2b 38 70 63 27 8c dd 88 78
(31) Creates message
Smyslov Expires 9 June 2023 [Page 35]
Internet-Draft GOST algorithms in IKEv2 December 2022
Create Child SA
E9D3F378191C3840.8DDFF401FBFB0B14.00000002 IKEv2 I<=R[281]
E[253]{
SA[44]{
P[40](#1:IKE:82D9FAF87449B936:3#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
PRF=PRF_HMAC_STREEBOG_512,
KE=GOST3410_2012_512}},
NONCE[36]{5A2DD2...96437B},
KE[136](GOST3410_2012_512){B9F927...B5AC4A},
N[12](SET_WINDOW_SIZE){64}}
(32) Uses previously computed key K3r
00000000: e8 af 72 c4 c3 55 a2 6a fb ad 37 fd b4 b9 7f d6
00000010: f6 c8 cc 32 3f 50 32 40 06 86 ce 85 1b 02 28 f3
(33) Composes MGM nonce
00000000: 00 00 00 01 65 20 72 e7 0a 1e ff 7d da ba 17 31
(34) Composes AAD
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 24 20 00 00 00 02 00 00 01 19 21 00 00 fd
(35) Composes plaintext
00000000: 28 00 00 2c 00 00 00 28 01 01 08 03 82 d9 fa f8
00000010: 74 49 b9 36 03 00 00 08 01 00 00 20 03 00 00 08
00000020: 02 00 00 09 00 00 00 08 04 00 00 22 22 00 00 24
00000030: 5a 2d d2 68 c6 85 5d 32 d4 7b 0b 8e ae 7d c9 81
00000040: be 3e 69 c1 bb f5 ae 89 55 59 c7 48 bc 96 43 7b
00000050: 29 00 00 88 00 22 00 00 b9 f9 27 a8 96 70 7a 03
00000060: 58 c2 39 58 63 2d 50 20 bf 69 c0 1d a6 de d4 4d
00000070: 65 aa 26 c6 8f 9f e9 e9 4b bb da 1d 2f d3 60 2d
00000080: 18 33 04 9b b2 25 a6 07 ac 58 1b fc 3c 5b 1e f3
00000090: 4b c0 f9 cb 90 14 c6 80 6e c3 73 c1 4a f7 5c 27
000000A0: dd 2a e1 ba 94 9c f7 06 68 92 19 8e 85 67 f9 d2
000000B0: d1 ea 3c 16 16 b9 3f 0c 8b 2d 2e d6 20 14 7e 27
000000C0: 18 d3 23 9e 2a 99 41 40 6a 41 c5 3f 79 9c a7 22
000000D0: 79 15 98 1d 98 b5 ac 4a 00 00 00 0c 00 00 40 01
000000E0: 00 00 00 40 00
(36) Encrypts plaintext using K3r as K_msg, resulted in ciphertext
Smyslov Expires 9 June 2023 [Page 36]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: fd ee 4c 8f 78 ff b6 0c fc 65 bb ef db 53 56 a2
00000010: d3 2d 4f 59 ff 28 38 eb 76 0b 40 5e 8d 52 e8 c1
00000020: b9 75 22 b4 bb 71 8f 16 3a 97 0e 4d 95 ef bc 84
00000030: 46 c6 77 1e 4b 14 73 46 89 ed d4 b4 54 a2 64 19
00000040: 67 b2 98 7e 8b d4 45 31 17 1e e4 ae f4 24 44 42
00000050: dd 55 a0 49 fe 08 59 d0 a1 16 69 60 8a 8e 54 d2
00000060: 02 6d ae 17 5f 32 bf 14 78 f0 86 47 26 bf fb 6b
00000070: 7c 17 f7 f5 62 b6 d6 a0 e5 f3 c2 af b5 28 ee d0
00000080: 9b 22 8c e6 d0 58 4d 48 18 6d dd 3e 4e 33 66 ac
00000090: a2 29 1f 3b 62 4a e6 4a 8c 98 18 8b 21 73 a5 88
000000A0: 49 09 3b 27 88 20 40 6b a5 fc 08 37 c7 ac c9 0f
000000B0: 5d 69 87 7c 37 c8 c7 fd d8 72 6d ad ac 22 27 ca
000000C0: 93 d6 bd 6a 55 2a 1a 8b 2e 84 b4 0a 35 d3 ac d5
000000D0: 99 c9 ac d5 6f 03 94 bf ca f5 53 e5 a5 74 57 de
000000E0: 6a 5a 26 b8 e4
(37) Computes ICV using K3r as K_msg
00000000: 04 2f 99 3f 02 19 56 c4 0d 0b 7a 45
(38) Composes IV
00000000: 00 00 00 00 00 00 00 01
(39) Sends message, peer receives message
10.111.10.171:54294<-10.111.15.45:500 [281]
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 24 20 00 00 00 02 00 00 01 19 21 00 00 fd
00000020: 00 00 00 00 00 00 00 01 fd ee 4c 8f 78 ff b6 0c
00000030: fc 65 bb ef db 53 56 a2 d3 2d 4f 59 ff 28 38 eb
00000040: 76 0b 40 5e 8d 52 e8 c1 b9 75 22 b4 bb 71 8f 16
00000050: 3a 97 0e 4d 95 ef bc 84 46 c6 77 1e 4b 14 73 46
00000060: 89 ed d4 b4 54 a2 64 19 67 b2 98 7e 8b d4 45 31
00000070: 17 1e e4 ae f4 24 44 42 dd 55 a0 49 fe 08 59 d0
00000080: a1 16 69 60 8a 8e 54 d2 02 6d ae 17 5f 32 bf 14
00000090: 78 f0 86 47 26 bf fb 6b 7c 17 f7 f5 62 b6 d6 a0
000000A0: e5 f3 c2 af b5 28 ee d0 9b 22 8c e6 d0 58 4d 48
000000B0: 18 6d dd 3e 4e 33 66 ac a2 29 1f 3b 62 4a e6 4a
000000C0: 8c 98 18 8b 21 73 a5 88 49 09 3b 27 88 20 40 6b
000000D0: a5 fc 08 37 c7 ac c9 0f 5d 69 87 7c 37 c8 c7 fd
000000E0: d8 72 6d ad ac 22 27 ca 93 d6 bd 6a 55 2a 1a 8b
000000F0: 2e 84 b4 0a 35 d3 ac d5 99 c9 ac d5 6f 03 94 bf
00000100: ca f5 53 e5 a5 74 57 de 6a 5a 26 b8 e4 04 2f 99
00000110: 3f 02 19 56 c4 0d 0b 7a 45
Initiator's actions:
Smyslov Expires 9 June 2023 [Page 37]
Internet-Draft GOST algorithms in IKEv2 December 2022
(40) Extracts IV from message
00000000: 00 00 00 00 00 00 00 01
(41) Uses previously computed key K3r
00000000: e8 af 72 c4 c3 55 a2 6a fb ad 37 fd b4 b9 7f d6
00000010: f6 c8 cc 32 3f 50 32 40 06 86 ce 85 1b 02 28 f3
(42) Composes MGM nonce
00000000: 00 00 00 01 65 20 72 e7 0a 1e ff 7d da ba 17 31
(43) Extracts ICV from message
00000000: 04 2f 99 3f 02 19 56 c4 0d 0b 7a 45
(44) Extracts AAD from message
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 24 20 00 00 00 02 00 00 01 19 21 00 00 fd
(45) Extracts ciphertext from message
00000000: fd ee 4c 8f 78 ff b6 0c fc 65 bb ef db 53 56 a2
00000010: d3 2d 4f 59 ff 28 38 eb 76 0b 40 5e 8d 52 e8 c1
00000020: b9 75 22 b4 bb 71 8f 16 3a 97 0e 4d 95 ef bc 84
00000030: 46 c6 77 1e 4b 14 73 46 89 ed d4 b4 54 a2 64 19
00000040: 67 b2 98 7e 8b d4 45 31 17 1e e4 ae f4 24 44 42
00000050: dd 55 a0 49 fe 08 59 d0 a1 16 69 60 8a 8e 54 d2
00000060: 02 6d ae 17 5f 32 bf 14 78 f0 86 47 26 bf fb 6b
00000070: 7c 17 f7 f5 62 b6 d6 a0 e5 f3 c2 af b5 28 ee d0
00000080: 9b 22 8c e6 d0 58 4d 48 18 6d dd 3e 4e 33 66 ac
00000090: a2 29 1f 3b 62 4a e6 4a 8c 98 18 8b 21 73 a5 88
000000A0: 49 09 3b 27 88 20 40 6b a5 fc 08 37 c7 ac c9 0f
000000B0: 5d 69 87 7c 37 c8 c7 fd d8 72 6d ad ac 22 27 ca
000000C0: 93 d6 bd 6a 55 2a 1a 8b 2e 84 b4 0a 35 d3 ac d5
000000D0: 99 c9 ac d5 6f 03 94 bf ca f5 53 e5 a5 74 57 de
000000E0: 6a 5a 26 b8 e4
(46) Decrypts ciphertext and verifies ICV using K3r as K_msg,
resulted in plaintext
Smyslov Expires 9 June 2023 [Page 38]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 28 00 00 2c 00 00 00 28 01 01 08 03 82 d9 fa f8
00000010: 74 49 b9 36 03 00 00 08 01 00 00 20 03 00 00 08
00000020: 02 00 00 09 00 00 00 08 04 00 00 22 22 00 00 24
00000030: 5a 2d d2 68 c6 85 5d 32 d4 7b 0b 8e ae 7d c9 81
00000040: be 3e 69 c1 bb f5 ae 89 55 59 c7 48 bc 96 43 7b
00000050: 29 00 00 88 00 22 00 00 b9 f9 27 a8 96 70 7a 03
00000060: 58 c2 39 58 63 2d 50 20 bf 69 c0 1d a6 de d4 4d
00000070: 65 aa 26 c6 8f 9f e9 e9 4b bb da 1d 2f d3 60 2d
00000080: 18 33 04 9b b2 25 a6 07 ac 58 1b fc 3c 5b 1e f3
00000090: 4b c0 f9 cb 90 14 c6 80 6e c3 73 c1 4a f7 5c 27
000000A0: dd 2a e1 ba 94 9c f7 06 68 92 19 8e 85 67 f9 d2
000000B0: d1 ea 3c 16 16 b9 3f 0c 8b 2d 2e d6 20 14 7e 27
000000C0: 18 d3 23 9e 2a 99 41 40 6a 41 c5 3f 79 9c a7 22
000000D0: 79 15 98 1d 98 b5 ac 4a 00 00 00 0c 00 00 40 01
000000E0: 00 00 00 40 00
(47) Parses received message
Create Child SA
E9D3F378191C3840.8DDFF401FBFB0B14.00000002 IKEv2 R=>I[281]
E[253]{
SA[44]{
P[40](#1:IKE:82D9FAF87449B936:3#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
PRF=PRF_HMAC_STREEBOG_512,
KE=GOST3410_2012_512}},
NONCE[36]{5A2DD2...96437B},
KE[136](GOST3410_2012_512){B9F927...B5AC4A},
N[12](SET_WINDOW_SIZE){64}}
(48) Computes shared key
00000000: dd e7 44 39 1c d9 66 cf d2 24 a4 bb 0a 57 b3 3e
00000010: 1a 8f 5d 07 11 4d c3 47 87 1a 13 ec 84 26 03 f8
00000020: ea 93 5a f5 23 a3 45 71 ff 5f f2 3d 59 43 3a 5e
00000030: eb 5e 79 fa 0e 62 9e bc af ca e4 ee 7a 81 3a 84
(49) Computes SKEYSEED for new SA
00000000: ec 5f 4f 15 ce d7 7d 2f 12 fb a1 df 5f 44 aa 88
00000010: 6a ef 45 e4 04 97 86 95 15 1b 3c ac 31 cc 57 a3
00000020: f0 f4 92 89 33 00 76 2b e9 fd 8b c2 ed 8b e7 36
00000030: cb 17 59 55 9e cc 22 14 72 a5 79 27 27 1d 06 62
(50) Computes SK_d for new SA
Smyslov Expires 9 June 2023 [Page 39]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 08 58 14 7d eb c9 41 7f 7f a2 86 66 bf d4 76 37
00000010: 04 27 4e bc 5d 63 f7 07 79 62 69 7a 69 3c da 7a
00000020: d5 4d 6f 08 1e 14 51 66 2f 94 0d bd 29 45 9c b0
00000030: 51 26 09 4b 47 52 ba 19 98 a5 c2 65 af 84 a1 34
(51) Computes SK_ei for new SA
00000000: 18 0a 4f 98 7d a4 21 6c 68 84 94 1f d9 28 49 b9
00000010: 05 30 f8 aa 43 02 7e 0d aa d3 27 e9 8c 9a 39 9a
00000020: 03 a0 05 b7 b2 2d f9 90 bb 6c ff ca
(52) Computes SK_er for new SA
00000000: 47 dc aa 71 4a 8b 66 13 d8 09 79 c7 8c 72 0a 78
00000010: 06 48 6d 4f 1f 53 3a 91 1d b7 2c 86 f5 f1 4e 00
00000020: 84 57 87 2b 38 70 63 27 8c dd 88 78
Sub-scenario 3: ESP SAs rekeying with PFS using the CREATE_CHILD_SA
exchange.
Initiator Responder
HDR, SK {N(REKEY_SA), SAi, Ni,
KEi, TSi, TSr [,N+]} --->
<--- HDR, SK {SAr, Nr,
KEr, TSi, TSr [,N+]}
Initiator's actions:
(1) Generates random IKE nonce Ni
00000000: 59 52 b2 58 00 b7 d3 f9 c3 31 23 16 6f c2 d1 d7
00000010: 07 8b 99 fb 24 cf 24 30 a3 ce a6 fe d3 0f 20 9b
(2) Generates ephemeral private key
00000000: 2f b9 df 43 dc 50 f5 17 59 c0 c7 21 ac ca 03 7a
00000010: 55 87 f9 bb a6 5a 9e d4 46 98 15 c9 3a 6b 40 91
00000020: e6 99 f4 f2 e5 88 14 e7 d8 9f 98 b1 59 21 05 52
00000030: f0 b0 ce dc 8e c6 db 1f 9d a9 4a 6d 95 f2 cb 3d
(3) Computes public key
Smyslov Expires 9 June 2023 [Page 40]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 1c 55 08 b9 01 f5 76 6a 01 27 97 2d 38 b1 4a 5c
00000010: b7 43 f1 64 24 ef 76 75 50 ce 4f 6f 59 ca 96 ae
00000020: 54 85 9c 94 8d 04 91 62 3a 0c b6 6e 77 59 81 40
00000030: 69 bf bb 80 f7 7c 29 ee 9f 9e 0c 83 b6 08 fc 43
00000040: b8 c6 66 36 e5 eb a0 43 c2 56 fa 52 f9 99 b6 95
00000050: 34 4c cd 49 1f c7 83 9e d7 d9 ca e3 a5 d0 3c aa
00000060: e8 ee ed 2c dd 5c 81 49 ab 3c d4 fa 15 4e 29 5f
00000070: 7c cd b2 f1 c1 d2 6f 8f a7 74 4d 6a d8 8a c3 60
(4) Selects SPI for new incoming ESP SA
00000000: a4 fe 65 a1
(5) Creates message
Create Child SA
4387648D6C9E28FF.82D9FAF87449B936.00000000 IKEv2 R<-I[341]
E[313]{
N[12](ESP:0ADE5FCD:REKEY_SA),
SA[40]{
P[36](#1:ESP:A4FE65A1:3#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
KE=GOST3410_2012_512,
ESN=Off}},
NONCE[36]{5952B2...0F209B},
KE[136](GOST3410_2012_512){1C5508...8AC360},
TSi[24](1#){10.1.1.2},
TSr[24](1#){10.0.0.0-10.0.0.255},
N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
N[8](NON_FIRST_FRAGMENTS_ALSO)}
(6) Computes K1i (i1 = 0)
00000000: 17 ec f1 84 33 9a c3 e3 93 e1 21 d7 65 3b 6c 83
00000010: d4 ae 9c 29 5b 12 cc b3 c5 0c 48 19 49 eb c0 ba
(7) Computes K2i (i2 = 0)
00000000: 2d 33 c0 55 87 f2 ee ce ac 1a f2 28 64 c6 f5 ad
00000010: de 2d be 7a a8 92 d0 a6 20 bc ef 25 29 7b 56 9f
(8) Computes K3i (i3 = 0)
00000000: c9 41 22 b5 39 b7 d2 3f c4 4d a6 ae 88 2e ff b4
00000010: f4 c0 90 9c bd bc 63 56 14 62 e8 8f 90 1a e7 eb
(9) Composes MGM nonce
Smyslov Expires 9 June 2023 [Page 41]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 00 00 00 00 03 a0 05 b7 b2 2d f9 90 bb 6c ff ca
(10) Composes AAD
00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 24 08 00 00 00 00 00 00 01 55 29 00 01 39
(11) Composes plaintext
00000000: 21 00 00 0c 03 04 40 09 0a de 5f cd 28 00 00 28
00000010: 00 00 00 24 01 03 04 03 a4 fe 65 a1 03 00 00 08
00000020: 01 00 00 20 03 00 00 08 04 00 00 22 00 00 00 08
00000030: 05 00 00 00 22 00 00 24 59 52 b2 58 00 b7 d3 f9
00000040: c3 31 23 16 6f c2 d1 d7 07 8b 99 fb 24 cf 24 30
00000050: a3 ce a6 fe d3 0f 20 9b 2c 00 00 88 00 22 00 00
00000060: 1c 55 08 b9 01 f5 76 6a 01 27 97 2d 38 b1 4a 5c
00000070: b7 43 f1 64 24 ef 76 75 50 ce 4f 6f 59 ca 96 ae
00000080: 54 85 9c 94 8d 04 91 62 3a 0c b6 6e 77 59 81 40
00000090: 69 bf bb 80 f7 7c 29 ee 9f 9e 0c 83 b6 08 fc 43
000000A0: b8 c6 66 36 e5 eb a0 43 c2 56 fa 52 f9 99 b6 95
000000B0: 34 4c cd 49 1f c7 83 9e d7 d9 ca e3 a5 d0 3c aa
000000C0: e8 ee ed 2c dd 5c 81 49 ab 3c d4 fa 15 4e 29 5f
000000D0: 7c cd b2 f1 c1 d2 6f 8f a7 74 4d 6a d8 8a c3 60
000000E0: 2d 00 00 18 01 00 00 00 07 00 00 10 00 00 ff ff
000000F0: 0a 01 01 02 0a 01 01 02 29 00 00 18 01 00 00 00
00000100: 07 00 00 10 00 00 ff ff 0a 00 00 00 0a 00 00 ff
00000110: 29 00 00 08 00 00 40 0a 00 00 00 08 00 00 40 0b
00000120: 00
(12) Encrypts plaintext using K3i as K_msg, resulted in ciphertext
Smyslov Expires 9 June 2023 [Page 42]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 00 9b 13 cb cb f1 18 53 fc 81 2e 75 c3 03 e0 ca
00000010: 55 c1 fb 55 c0 29 40 48 fc 20 f4 a8 51 5b 97 6b
00000020: c6 07 4c 7d 45 54 51 0f 18 7f 43 a4 df 4b e8 e3
00000030: b4 eb 68 24 4b f0 1c df 8f 1e a2 21 31 02 29 68
00000040: 38 4d 68 fd 42 66 34 3e 82 46 f0 17 02 bf 65 19
00000050: b0 f7 09 62 0d 12 6a 7e ad 76 57 0d 19 55 cf 01
00000060: 89 9c 7e f5 5a fa 20 4f 8c 6d a4 83 b9 94 ad 4e
00000070: 2a 46 08 5a 58 a1 4b 8e 53 2b a4 e6 3b fc 33 de
00000080: cf cb ee 50 6d a1 9f e4 94 06 19 39 39 6b 7e 4b
00000090: 83 f7 07 c0 bb 15 21 8d 8f 2d 5f 6c f6 97 68 21
000000A0: 3c ce c6 67 82 00 8f f3 d7 d6 c3 f2 87 47 b8 b9
000000B0: a3 0f f8 e2 0a 62 e8 f5 98 df bc f0 02 6a 3f 47
000000C0: c4 f0 24 a4 80 95 bf cf 32 5a a5 22 3c a5 a8 f1
000000D0: 57 d6 3b b8 06 1c b6 d7 c7 b3 58 e7 ee 69 eb 31
000000E0: d6 09 db 8b 8a 1d 2b a1 f7 46 e5 b9 99 13 73 30
000000F0: 1f ed 0c 82 4b cc ce 5e 25 79 1b ff 8b ca f0 b2
00000100: 1e 7e 70 03 66 c7 7b 6c 10 92 f2 34 b6 e9 ce bb
00000110: 65 ce d4 b5 99 f3 70 78 5f 06 f4 fe 0a 3c 00 28
00000120: 68
(13) Computes ICV using K3i as K_msg
00000000: fc 85 a4 7e 0b 41 77 54 ef 1a 03 cb
(14) Composes IV
00000000: 00 00 00 00 00 00 00 00
(15) Sends message, peer receives message
Smyslov Expires 9 June 2023 [Page 43]
Internet-Draft GOST algorithms in IKEv2 December 2022
10.111.10.171:54294->10.111.15.45:500 [341]
00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 24 08 00 00 00 00 00 00 01 55 29 00 01 39
00000020: 00 00 00 00 00 00 00 00 00 9b 13 cb cb f1 18 53
00000030: fc 81 2e 75 c3 03 e0 ca 55 c1 fb 55 c0 29 40 48
00000040: fc 20 f4 a8 51 5b 97 6b c6 07 4c 7d 45 54 51 0f
00000050: 18 7f 43 a4 df 4b e8 e3 b4 eb 68 24 4b f0 1c df
00000060: 8f 1e a2 21 31 02 29 68 38 4d 68 fd 42 66 34 3e
00000070: 82 46 f0 17 02 bf 65 19 b0 f7 09 62 0d 12 6a 7e
00000080: ad 76 57 0d 19 55 cf 01 89 9c 7e f5 5a fa 20 4f
00000090: 8c 6d a4 83 b9 94 ad 4e 2a 46 08 5a 58 a1 4b 8e
000000A0: 53 2b a4 e6 3b fc 33 de cf cb ee 50 6d a1 9f e4
000000B0: 94 06 19 39 39 6b 7e 4b 83 f7 07 c0 bb 15 21 8d
000000C0: 8f 2d 5f 6c f6 97 68 21 3c ce c6 67 82 00 8f f3
000000D0: d7 d6 c3 f2 87 47 b8 b9 a3 0f f8 e2 0a 62 e8 f5
000000E0: 98 df bc f0 02 6a 3f 47 c4 f0 24 a4 80 95 bf cf
000000F0: 32 5a a5 22 3c a5 a8 f1 57 d6 3b b8 06 1c b6 d7
00000100: c7 b3 58 e7 ee 69 eb 31 d6 09 db 8b 8a 1d 2b a1
00000110: f7 46 e5 b9 99 13 73 30 1f ed 0c 82 4b cc ce 5e
00000120: 25 79 1b ff 8b ca f0 b2 1e 7e 70 03 66 c7 7b 6c
00000130: 10 92 f2 34 b6 e9 ce bb 65 ce d4 b5 99 f3 70 78
00000140: 5f 06 f4 fe 0a 3c 00 28 68 fc 85 a4 7e 0b 41 77
00000150: 54 ef 1a 03 cb
Responder's actions:
(16) Extracts IV from message
00000000: 00 00 00 00 00 00 00 00
(17) Computes K1i (i1 = 0)
00000000: 17 ec f1 84 33 9a c3 e3 93 e1 21 d7 65 3b 6c 83
00000010: d4 ae 9c 29 5b 12 cc b3 c5 0c 48 19 49 eb c0 ba
(18) Computes K2i (i2 = 0)
00000000: 2d 33 c0 55 87 f2 ee ce ac 1a f2 28 64 c6 f5 ad
00000010: de 2d be 7a a8 92 d0 a6 20 bc ef 25 29 7b 56 9f
(19) Computes K3i (i3 = 0)
00000000: c9 41 22 b5 39 b7 d2 3f c4 4d a6 ae 88 2e ff b4
00000010: f4 c0 90 9c bd bc 63 56 14 62 e8 8f 90 1a e7 eb
(20) Composes MGM nonce
Smyslov Expires 9 June 2023 [Page 44]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 00 00 00 00 03 a0 05 b7 b2 2d f9 90 bb 6c ff ca
(21) Extracts ICV from message
00000000: fc 85 a4 7e 0b 41 77 54 ef 1a 03 cb
(22) Extracts AAD from message
00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 24 08 00 00 00 00 00 00 01 55 29 00 01 39
(23) Extracts ciphertext from message
00000000: 00 9b 13 cb cb f1 18 53 fc 81 2e 75 c3 03 e0 ca
00000010: 55 c1 fb 55 c0 29 40 48 fc 20 f4 a8 51 5b 97 6b
00000020: c6 07 4c 7d 45 54 51 0f 18 7f 43 a4 df 4b e8 e3
00000030: b4 eb 68 24 4b f0 1c df 8f 1e a2 21 31 02 29 68
00000040: 38 4d 68 fd 42 66 34 3e 82 46 f0 17 02 bf 65 19
00000050: b0 f7 09 62 0d 12 6a 7e ad 76 57 0d 19 55 cf 01
00000060: 89 9c 7e f5 5a fa 20 4f 8c 6d a4 83 b9 94 ad 4e
00000070: 2a 46 08 5a 58 a1 4b 8e 53 2b a4 e6 3b fc 33 de
00000080: cf cb ee 50 6d a1 9f e4 94 06 19 39 39 6b 7e 4b
00000090: 83 f7 07 c0 bb 15 21 8d 8f 2d 5f 6c f6 97 68 21
000000A0: 3c ce c6 67 82 00 8f f3 d7 d6 c3 f2 87 47 b8 b9
000000B0: a3 0f f8 e2 0a 62 e8 f5 98 df bc f0 02 6a 3f 47
000000C0: c4 f0 24 a4 80 95 bf cf 32 5a a5 22 3c a5 a8 f1
000000D0: 57 d6 3b b8 06 1c b6 d7 c7 b3 58 e7 ee 69 eb 31
000000E0: d6 09 db 8b 8a 1d 2b a1 f7 46 e5 b9 99 13 73 30
000000F0: 1f ed 0c 82 4b cc ce 5e 25 79 1b ff 8b ca f0 b2
00000100: 1e 7e 70 03 66 c7 7b 6c 10 92 f2 34 b6 e9 ce bb
00000110: 65 ce d4 b5 99 f3 70 78 5f 06 f4 fe 0a 3c 00 28
00000120: 68
(24) Decrypts ciphertext and verifies ICV using K3i as K_msg,
resulted in plaintext
Smyslov Expires 9 June 2023 [Page 45]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 21 00 00 0c 03 04 40 09 0a de 5f cd 28 00 00 28
00000010: 00 00 00 24 01 03 04 03 a4 fe 65 a1 03 00 00 08
00000020: 01 00 00 20 03 00 00 08 04 00 00 22 00 00 00 08
00000030: 05 00 00 00 22 00 00 24 59 52 b2 58 00 b7 d3 f9
00000040: c3 31 23 16 6f c2 d1 d7 07 8b 99 fb 24 cf 24 30
00000050: a3 ce a6 fe d3 0f 20 9b 2c 00 00 88 00 22 00 00
00000060: 1c 55 08 b9 01 f5 76 6a 01 27 97 2d 38 b1 4a 5c
00000070: b7 43 f1 64 24 ef 76 75 50 ce 4f 6f 59 ca 96 ae
00000080: 54 85 9c 94 8d 04 91 62 3a 0c b6 6e 77 59 81 40
00000090: 69 bf bb 80 f7 7c 29 ee 9f 9e 0c 83 b6 08 fc 43
000000A0: b8 c6 66 36 e5 eb a0 43 c2 56 fa 52 f9 99 b6 95
000000B0: 34 4c cd 49 1f c7 83 9e d7 d9 ca e3 a5 d0 3c aa
000000C0: e8 ee ed 2c dd 5c 81 49 ab 3c d4 fa 15 4e 29 5f
000000D0: 7c cd b2 f1 c1 d2 6f 8f a7 74 4d 6a d8 8a c3 60
000000E0: 2d 00 00 18 01 00 00 00 07 00 00 10 00 00 ff ff
000000F0: 0a 01 01 02 0a 01 01 02 29 00 00 18 01 00 00 00
00000100: 07 00 00 10 00 00 ff ff 0a 00 00 00 0a 00 00 ff
00000110: 29 00 00 08 00 00 40 0a 00 00 00 08 00 00 40 0b
00000120: 00
(25) Parses received message
Create Child SA
4387648D6C9E28FF.82D9FAF87449B936.00000000 IKEv2 I->R[341]
E[313]{
N[12](ESP:0ADE5FCD:REKEY_SA),
SA[40]{
P[36](#1:ESP:A4FE65A1:3#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
KE=GOST3410_2012_512,
ESN=Off}},
NONCE[36]{5952B2...0F209B},
KE[136](GOST3410_2012_512){1C5508...8AC360},
TSi[24](1#){10.1.1.2},
TSr[24](1#){10.0.0.0-10.0.0.255},
N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
N[8](NON_FIRST_FRAGMENTS_ALSO)}
(26) Generates random IKE nonce Nr
00000000: f1 c1 3f 5e c4 c9 70 81 cb 1f 57 fe af 3d 80 37
00000010: 92 a9 ff 96 db 8f 3f 31 0a db 84 d1 24 d5 94 12
(27) Generates ephemeral private key
Smyslov Expires 9 June 2023 [Page 46]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 2e 75 2f 5d 6c f0 9a 59 af 47 8d e1 2a a5 aa f5
00000010: c1 ef 9a fb e0 16 5e d9 59 6a c5 96 e8 88 14 62
00000020: 03 81 90 4f 18 d1 60 18 fe dc 9a a1 61 b3 8b c0
00000030: bf e0 d9 a0 d5 2b f2 7b 6b 60 f5 b9 4d e9 0b 36
(28) Computes public key
00000000: de 1d 91 64 c3 3e 58 4a b3 3e 55 5d 3e f6 5b cb
00000010: b5 c6 1c 09 cb 9a 17 91 81 13 5f 46 ce 52 98 c5
00000020: 1e bb 77 96 c9 04 03 2d f4 e5 23 f9 75 e3 ef a8
00000030: 53 52 b4 75 9c 00 55 7b 09 75 49 55 c1 65 7c 4d
00000040: 67 77 00 0a bc cd bc 4c 34 c3 b3 85 ed 86 7d 3b
00000050: 9f f7 15 ea 55 b5 e4 1e 45 d9 b0 4f 69 3f ee 7c
00000060: 89 0e 09 3d 4b 35 2e 8a 3c 0c 33 20 c3 54 7b 44
00000070: db 9f c7 96 a0 1e 9e ae b4 bd 29 73 b6 80 2d 00
(29) Selects SPI for new incoming ESP SA
00000000: 29 0a 8e 3f
(30) Computes keys for new ESP SAs
00000000: 4e c4 99 c2 d9 e8 fc 7f 26 fa cf df 20 8f a2 5c
00000010: 85 f8 e3 0c f7 fd 11 5b 5f 80 ba c4 e6 70 8b e4
00000020: 0b 90 d7 8f bd d4 c5 bd c4 31 6f 0b
00000000: 3c cc d8 46 72 44 68 c6 41 84 d2 22 ea 39 7c e8
00000010: aa 83 66 11 3a 26 4d 7b 07 52 6b c7 65 25 73 9d
00000020: 0f 3d 80 bc 8c 34 ff 07 31 11 5e d2
(31) Creates message
Create Child SA
4387648D6C9E28FF.82D9FAF87449B936.00000000 IKEv2 I<=R[337]
E[309]{
SA[40]{
P[36](#1:ESP:290A8E3F:3#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
KE=GOST3410_2012_512,
ESN=Off}},
NONCE[36]{F1C13F...D59412},
KE[136](GOST3410_2012_512){DE1D91...802D00},
TSi[24](1#){10.1.1.2},
TSr[24](1#){10.0.0.0-10.0.0.255},
N[8](ADDITIONAL_TS_POSSIBLE),
N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
N[8](NON_FIRST_FRAGMENTS_ALSO)}
(32) Computes K1r (i1 = 0)
Smyslov Expires 9 June 2023 [Page 47]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 0c 45 d2 29 64 b8 72 57 11 10 3b a0 c2 66 d8 63
00000010: 34 f5 22 43 bf 6b 9a 1b 67 d6 d2 d8 fc 87 75 38
(33) Computes K2r (i2 = 0)
00000000: a9 92 d9 92 1f 15 13 bd db 61 83 43 58 2d dd e6
00000010: 66 28 4f 5d 71 47 a9 d4 8e 31 2e 95 37 f8 c5 d2
(34) Computes K3r (i3 = 0)
00000000: c1 ca 4f dd 2d 02 55 a4 11 9a 10 08 43 2d 61 ea
00000010: 52 68 83 c5 ec 92 53 24 01 b0 a2 0b d2 8f 72 78
(35) Composes MGM nonce
00000000: 00 00 00 00 84 57 87 2b 38 70 63 27 8c dd 88 78
(36) Composes AAD
00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 24 20 00 00 00 00 00 00 01 51 21 00 01 35
(37) Composes plaintext
00000000: 28 00 00 28 00 00 00 24 01 03 04 03 29 0a 8e 3f
00000010: 03 00 00 08 01 00 00 20 03 00 00 08 04 00 00 22
00000020: 00 00 00 08 05 00 00 00 22 00 00 24 f1 c1 3f 5e
00000030: c4 c9 70 81 cb 1f 57 fe af 3d 80 37 92 a9 ff 96
00000040: db 8f 3f 31 0a db 84 d1 24 d5 94 12 2c 00 00 88
00000050: 00 22 00 00 de 1d 91 64 c3 3e 58 4a b3 3e 55 5d
00000060: 3e f6 5b cb b5 c6 1c 09 cb 9a 17 91 81 13 5f 46
00000070: ce 52 98 c5 1e bb 77 96 c9 04 03 2d f4 e5 23 f9
00000080: 75 e3 ef a8 53 52 b4 75 9c 00 55 7b 09 75 49 55
00000090: c1 65 7c 4d 67 77 00 0a bc cd bc 4c 34 c3 b3 85
000000A0: ed 86 7d 3b 9f f7 15 ea 55 b5 e4 1e 45 d9 b0 4f
000000B0: 69 3f ee 7c 89 0e 09 3d 4b 35 2e 8a 3c 0c 33 20
000000C0: c3 54 7b 44 db 9f c7 96 a0 1e 9e ae b4 bd 29 73
000000D0: b6 80 2d 00 2d 00 00 18 01 00 00 00 07 00 00 10
000000E0: 00 00 ff ff 0a 01 01 02 0a 01 01 02 29 00 00 18
000000F0: 01 00 00 00 07 00 00 10 00 00 ff ff 0a 00 00 00
00000100: 0a 00 00 ff 29 00 00 08 00 00 40 02 29 00 00 08
00000110: 00 00 40 0a 00 00 00 08 00 00 40 0b 00
(38) Encrypts plaintext using K3r as K_msg, resulted in ciphertext
Smyslov Expires 9 June 2023 [Page 48]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 42 73 5f 2b 14 a0 27 ca 3c 90 67 80 3c 3d 99 02
00000010: 1c 08 c8 67 03 0f 69 f1 c3 64 43 a6 59 74 ce b0
00000020: d7 5d 29 58 53 3a f6 c3 20 04 56 ba 2e af 14 9b
00000030: 2d a3 93 15 2c e5 15 e6 59 2b 7f 47 94 7f 90 82
00000040: ce d3 64 cc 89 92 04 c6 bc 7b ce 61 c6 1d 7f a5
00000050: 45 1c 27 e6 0b 78 1a f2 75 8f 3e 47 53 8e d7 16
00000060: 11 f4 26 04 ae 5e d5 b8 84 b6 ac e6 20 28 da ca
00000070: da 84 fe 0d c4 4d 29 2f 58 30 fe 93 f6 59 04 4a
00000080: 9b aa 97 99 5b 5e 74 9c 5d 45 d5 99 42 16 8c ab
00000090: 62 cb 9f 14 5f f5 25 92 34 5c 8d 61 45 44 55 6d
000000A0: 3d 80 b0 39 f0 39 0b 43 8a f9 b7 b7 17 41 34 ce
000000B0: 36 bf e3 e7 1a 68 61 72 0e f1 91 24 89 ab d7 e9
000000C0: a9 b1 87 38 a1 c0 4c 42 4e 47 62 28 9e d7 1f 02
000000D0: 13 40 69 38 31 f1 91 87 ec 54 11 0a 2d d9 25 15
000000E0: 15 16 37 b7 71 94 11 49 5e f7 28 90 c5 1e 6b 07
000000F0: d9 cf 06 a2 a2 33 0e e0 25 67 db a6 17 11 27 60
00000100: c8 21 f7 79 63 aa b0 f9 7b 95 03 a7 8d 2e d7 df
00000110: 58 e7 30 ab d3 c8 f1 24 40 69 fc 3f bf
(39) Computes ICV using K3r as K_msg
00000000: 3a 2d 3c 6b 87 43 ed 6e 80 ab 27 e2
(40) Composes IV
00000000: 00 00 00 00 00 00 00 00
(41) Sends message, peer receives message
Smyslov Expires 9 June 2023 [Page 49]
Internet-Draft GOST algorithms in IKEv2 December 2022
10.111.10.171:54294<-10.111.15.45:500 [337]
00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 24 20 00 00 00 00 00 00 01 51 21 00 01 35
00000020: 00 00 00 00 00 00 00 00 42 73 5f 2b 14 a0 27 ca
00000030: 3c 90 67 80 3c 3d 99 02 1c 08 c8 67 03 0f 69 f1
00000040: c3 64 43 a6 59 74 ce b0 d7 5d 29 58 53 3a f6 c3
00000050: 20 04 56 ba 2e af 14 9b 2d a3 93 15 2c e5 15 e6
00000060: 59 2b 7f 47 94 7f 90 82 ce d3 64 cc 89 92 04 c6
00000070: bc 7b ce 61 c6 1d 7f a5 45 1c 27 e6 0b 78 1a f2
00000080: 75 8f 3e 47 53 8e d7 16 11 f4 26 04 ae 5e d5 b8
00000090: 84 b6 ac e6 20 28 da ca da 84 fe 0d c4 4d 29 2f
000000A0: 58 30 fe 93 f6 59 04 4a 9b aa 97 99 5b 5e 74 9c
000000B0: 5d 45 d5 99 42 16 8c ab 62 cb 9f 14 5f f5 25 92
000000C0: 34 5c 8d 61 45 44 55 6d 3d 80 b0 39 f0 39 0b 43
000000D0: 8a f9 b7 b7 17 41 34 ce 36 bf e3 e7 1a 68 61 72
000000E0: 0e f1 91 24 89 ab d7 e9 a9 b1 87 38 a1 c0 4c 42
000000F0: 4e 47 62 28 9e d7 1f 02 13 40 69 38 31 f1 91 87
00000100: ec 54 11 0a 2d d9 25 15 15 16 37 b7 71 94 11 49
00000110: 5e f7 28 90 c5 1e 6b 07 d9 cf 06 a2 a2 33 0e e0
00000120: 25 67 db a6 17 11 27 60 c8 21 f7 79 63 aa b0 f9
00000130: 7b 95 03 a7 8d 2e d7 df 58 e7 30 ab d3 c8 f1 24
00000140: 40 69 fc 3f bf 3a 2d 3c 6b 87 43 ed 6e 80 ab 27
00000150: e2
Initiator's actions:
(42) Extracts IV from message
00000000: 00 00 00 00 00 00 00 00
(43) Computes K1r (i1 = 0)
00000000: 0c 45 d2 29 64 b8 72 57 11 10 3b a0 c2 66 d8 63
00000010: 34 f5 22 43 bf 6b 9a 1b 67 d6 d2 d8 fc 87 75 38
(44) Computes K2r (i2 = 0)
00000000: a9 92 d9 92 1f 15 13 bd db 61 83 43 58 2d dd e6
00000010: 66 28 4f 5d 71 47 a9 d4 8e 31 2e 95 37 f8 c5 d2
(45) Computes K3r (i3 = 0)
00000000: c1 ca 4f dd 2d 02 55 a4 11 9a 10 08 43 2d 61 ea
00000010: 52 68 83 c5 ec 92 53 24 01 b0 a2 0b d2 8f 72 78
(46) Composes MGM nonce
Smyslov Expires 9 June 2023 [Page 50]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 00 00 00 00 84 57 87 2b 38 70 63 27 8c dd 88 78
(47) Extracts ICV from message
00000000: 3a 2d 3c 6b 87 43 ed 6e 80 ab 27 e2
(48) Extracts AAD from message
00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 24 20 00 00 00 00 00 00 01 51 21 00 01 35
(49) Extracts ciphertext from message
00000000: 42 73 5f 2b 14 a0 27 ca 3c 90 67 80 3c 3d 99 02
00000010: 1c 08 c8 67 03 0f 69 f1 c3 64 43 a6 59 74 ce b0
00000020: d7 5d 29 58 53 3a f6 c3 20 04 56 ba 2e af 14 9b
00000030: 2d a3 93 15 2c e5 15 e6 59 2b 7f 47 94 7f 90 82
00000040: ce d3 64 cc 89 92 04 c6 bc 7b ce 61 c6 1d 7f a5
00000050: 45 1c 27 e6 0b 78 1a f2 75 8f 3e 47 53 8e d7 16
00000060: 11 f4 26 04 ae 5e d5 b8 84 b6 ac e6 20 28 da ca
00000070: da 84 fe 0d c4 4d 29 2f 58 30 fe 93 f6 59 04 4a
00000080: 9b aa 97 99 5b 5e 74 9c 5d 45 d5 99 42 16 8c ab
00000090: 62 cb 9f 14 5f f5 25 92 34 5c 8d 61 45 44 55 6d
000000A0: 3d 80 b0 39 f0 39 0b 43 8a f9 b7 b7 17 41 34 ce
000000B0: 36 bf e3 e7 1a 68 61 72 0e f1 91 24 89 ab d7 e9
000000C0: a9 b1 87 38 a1 c0 4c 42 4e 47 62 28 9e d7 1f 02
000000D0: 13 40 69 38 31 f1 91 87 ec 54 11 0a 2d d9 25 15
000000E0: 15 16 37 b7 71 94 11 49 5e f7 28 90 c5 1e 6b 07
000000F0: d9 cf 06 a2 a2 33 0e e0 25 67 db a6 17 11 27 60
00000100: c8 21 f7 79 63 aa b0 f9 7b 95 03 a7 8d 2e d7 df
00000110: 58 e7 30 ab d3 c8 f1 24 40 69 fc 3f bf
(50) Decrypts ciphertext and verifies ICV using K3r as K_msg,
resulted in plaintext
Smyslov Expires 9 June 2023 [Page 51]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 28 00 00 28 00 00 00 24 01 03 04 03 29 0a 8e 3f
00000010: 03 00 00 08 01 00 00 20 03 00 00 08 04 00 00 22
00000020: 00 00 00 08 05 00 00 00 22 00 00 24 f1 c1 3f 5e
00000030: c4 c9 70 81 cb 1f 57 fe af 3d 80 37 92 a9 ff 96
00000040: db 8f 3f 31 0a db 84 d1 24 d5 94 12 2c 00 00 88
00000050: 00 22 00 00 de 1d 91 64 c3 3e 58 4a b3 3e 55 5d
00000060: 3e f6 5b cb b5 c6 1c 09 cb 9a 17 91 81 13 5f 46
00000070: ce 52 98 c5 1e bb 77 96 c9 04 03 2d f4 e5 23 f9
00000080: 75 e3 ef a8 53 52 b4 75 9c 00 55 7b 09 75 49 55
00000090: c1 65 7c 4d 67 77 00 0a bc cd bc 4c 34 c3 b3 85
000000A0: ed 86 7d 3b 9f f7 15 ea 55 b5 e4 1e 45 d9 b0 4f
000000B0: 69 3f ee 7c 89 0e 09 3d 4b 35 2e 8a 3c 0c 33 20
000000C0: c3 54 7b 44 db 9f c7 96 a0 1e 9e ae b4 bd 29 73
000000D0: b6 80 2d 00 2d 00 00 18 01 00 00 00 07 00 00 10
000000E0: 00 00 ff ff 0a 01 01 02 0a 01 01 02 29 00 00 18
000000F0: 01 00 00 00 07 00 00 10 00 00 ff ff 0a 00 00 00
00000100: 0a 00 00 ff 29 00 00 08 00 00 40 02 29 00 00 08
00000110: 00 00 40 0a 00 00 00 08 00 00 40 0b 00
(51) Parses received message
Create Child SA
4387648D6C9E28FF.82D9FAF87449B936.00000000 IKEv2 R=>I[337]
E[309]{
SA[40]{
P[36](#1:ESP:290A8E3F:3#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
KE=GOST3410_2012_512,
ESN=Off}},
NONCE[36]{F1C13F...D59412},
KE[136](GOST3410_2012_512){DE1D91...802D00},
TSi[24](1#){10.1.1.2},
TSr[24](1#){10.0.0.0-10.0.0.255},
N[8](ADDITIONAL_TS_POSSIBLE),
N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
N[8](NON_FIRST_FRAGMENTS_ALSO)}
(52) Computes keys for new ESP SAs
00000000: 4e c4 99 c2 d9 e8 fc 7f 26 fa cf df 20 8f a2 5c
00000010: 85 f8 e3 0c f7 fd 11 5b 5f 80 ba c4 e6 70 8b e4
00000020: 0b 90 d7 8f bd d4 c5 bd c4 31 6f 0b
00000000: 3c cc d8 46 72 44 68 c6 41 84 d2 22 ea 39 7c e8
00000010: aa 83 66 11 3a 26 4d 7b 07 52 6b c7 65 25 73 9d
00000020: 0f 3d 80 bc 8c 34 ff 07 31 11 5e d2
Smyslov Expires 9 June 2023 [Page 52]
Internet-Draft GOST algorithms in IKEv2 December 2022
Sub-scenario 4: IKE SA deletion using the INFORMATIONAL exchange.
Initiator Responder
HDR, SK {D} --->
<--- HDR, SK { }
Initiator's actions:
(1) Creates message
Informational
4387648D6C9E28FF.82D9FAF87449B936.00000003 IKEv2 R<-I[61]
E[33]{
D[8](IKE)}
(2) Uses previously computed key K3i
00000000: c9 41 22 b5 39 b7 d2 3f c4 4d a6 ae 88 2e ff b4
00000010: f4 c0 90 9c bd bc 63 56 14 62 e8 8f 90 1a e7 eb
(3) Composes MGM nonce
00000000: 00 00 00 03 03 a0 05 b7 b2 2d f9 90 bb 6c ff ca
(4) Composes AAD
00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 25 08 00 00 00 03 00 00 00 3d 2a 00 00 21
(5) Composes plaintext
00000000: 00 00 00 08 01 00 00 00 00
(6) Encrypts plaintext using K3i as K_msg, resulted in ciphertext
00000000: 3e 17 6f 6c 23 48 06 e9 fd
(7) Computes ICV using K3i as K_msg
00000000: 23 7b a2 fc d5 1c 6f 2c c0 1e 21 e4
(8) Composes IV
00000000: 00 00 00 00 00 00 00 03
(9) Sends message, peer receives message
Smyslov Expires 9 June 2023 [Page 53]
Internet-Draft GOST algorithms in IKEv2 December 2022
10.111.10.171:54294->10.111.15.45:500 [61]
00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 25 08 00 00 00 03 00 00 00 3d 2a 00 00 21
00000020: 00 00 00 00 00 00 00 03 3e 17 6f 6c 23 48 06 e9
00000030: fd 23 7b a2 fc d5 1c 6f 2c c0 1e 21 e4
Responder's actions:
(10) Extracts IV from message
00000000: 00 00 00 00 00 00 00 03
(11) Uses previously computed key K3i
00000000: c9 41 22 b5 39 b7 d2 3f c4 4d a6 ae 88 2e ff b4
00000010: f4 c0 90 9c bd bc 63 56 14 62 e8 8f 90 1a e7 eb
(12) Composes MGM nonce
00000000: 00 00 00 03 03 a0 05 b7 b2 2d f9 90 bb 6c ff ca
(13) Extracts ICV from message
00000000: 23 7b a2 fc d5 1c 6f 2c c0 1e 21 e4
(14) Extracts AAD from message
00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 25 08 00 00 00 03 00 00 00 3d 2a 00 00 21
(15) Extracts ciphertext from message
00000000: 3e 17 6f 6c 23 48 06 e9 fd
(16) Decrypts ciphertext and verifies ICV using K3i as K_msg,
resulted in plaintext
00000000: 00 00 00 08 01 00 00 00 00
(17) Parses received message
Informational
4387648D6C9E28FF.82D9FAF87449B936.00000003 IKEv2 I->R[61]
E[33]{
D[8](IKE)}
(18) Creates message
Smyslov Expires 9 June 2023 [Page 54]
Internet-Draft GOST algorithms in IKEv2 December 2022
Informational
4387648D6C9E28FF.82D9FAF87449B936.00000003 IKEv2 I<=R[53]
E[25]{}
(19) Uses previously computed key K3r
00000000: c1 ca 4f dd 2d 02 55 a4 11 9a 10 08 43 2d 61 ea
00000010: 52 68 83 c5 ec 92 53 24 01 b0 a2 0b d2 8f 72 78
(20) Composes MGM nonce
00000000: 00 00 00 03 84 57 87 2b 38 70 63 27 8c dd 88 78
(21) Composes AAD
00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 25 20 00 00 00 03 00 00 00 35 00 00 00 19
(22) Composes plaintext
00000000: 00
(23) Encrypts plaintext using K3r as K_msg, resulted in ciphertext
00000000: f1
(24) Computes ICV using K3r as K_msg
00000000: 38 3b 47 ed 04 4d af 44 b8 59 9a ce
(25) Composes IV
00000000: 00 00 00 00 00 00 00 03
(26) Sends message, peer receives message
10.111.10.171:54294<-10.111.15.45:500 [53]
00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 25 20 00 00 00 03 00 00 00 35 00 00 00 19
00000020: 00 00 00 00 00 00 00 03 f1 38 3b 47 ed 04 4d af
00000030: 44 b8 59 9a ce
Initiator's actions:
(27) Extracts IV from message
00000000: 00 00 00 00 00 00 00 03
Smyslov Expires 9 June 2023 [Page 55]
Internet-Draft GOST algorithms in IKEv2 December 2022
(28) Uses previously computed key K3r
00000000: c1 ca 4f dd 2d 02 55 a4 11 9a 10 08 43 2d 61 ea
00000010: 52 68 83 c5 ec 92 53 24 01 b0 a2 0b d2 8f 72 78
(29) Composes MGM nonce
00000000: 00 00 00 03 84 57 87 2b 38 70 63 27 8c dd 88 78
(30) Extracts ICV from message
00000000: 38 3b 47 ed 04 4d af 44 b8 59 9a ce
(31) Extracts AAD from message
00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 25 20 00 00 00 03 00 00 00 35 00 00 00 19
(32) Extracts ciphertext from message
00000000: f1
(33) Decrypts ciphertext and verifies ICV using K3r as K_msg,
resulted in plaintext
00000000: 00
(34) Parses received message
Informational
4387648D6C9E28FF.82D9FAF87449B936.00000003 IKEv2 R=>I[53]
E[25]{}
A.2. Scenario 2
With this scenario peers establish, rekey and delete IKE SA and ESP
SAs using the following prerequisites:
* Peers authenticate each other using digital signatures
* Initiator's ID is "CN=IKE Interop Test Client, O=ELVIS-PLUS, C=RU"
of type ID_DER_ASN1_DN:
00000010: 30 44 31 20 30 1e 06 03 55 04 03 13 17 49 4b 45
00000020: 20 49 6e 74 65 72 6f 70 20 54 65 73 74 20 43 6c
00000030: 69 65 6e 74 31 13 30 11 06 03 55 04 0a 13 0a 45
00000040: 4c 56 49 53 2d 50 4c 55 53 31 0b 30 09 06 03 55
00000050: 04 06 13 02 52 55
Smyslov Expires 9 June 2023 [Page 56]
Internet-Draft GOST algorithms in IKEv2 December 2022
* Responder's ID is "CN=IKE Interop Test Server, O=ELVIS-PLUS, C=RU"
of type ID_DER_ASN1_DN:
00000010: 30 44 31 20 30 1e 06 03 55 04 03 13 17 49 4b 45
00000020: 20 49 6e 74 65 72 6f 70 20 54 65 73 74 20 53 65
00000030: 72 76 65 72 31 13 30 11 06 03 55 04 0a 13 0a 45
00000040: 4c 56 49 53 2d 50 4c 55 53 31 0b 30 09 06 03 55
00000050: 04 06 13 02 52 55
* No NAT is present between the peers, but using UDP encapsulation
is forced by the initiator by setting NAT_DETECTION_SOURCE_IP
notify to all zeroes
* IKE fragmentation is used in the IKE_AUTH exchange
* IKE SA is created with the following transforms:
- ENCR_MAGMA_MGM_KTREE
- PRF_HMAC_STREEBOG_512
- GOST3410_2012_256
* ESP SAs are created with the following transforms:
- ENCR_MAGMA_MGM_KTREE
- ESN off
The certificates for this scenatio were obtained from the public
testing CA service https://testgost2012.cryptopro.ru/certsrv/
The initiator's certificate private key (little endian):
0000000000: 76 e9 dd b3 f3 a2 08 a2 4e a5 81 9c ae 41 da b4
0000000010: 77 3c 1d d5 dc eb af e6 58 b1 47 d2 d8 29 ce 71
0000000020: 18 a9 85 5d 28 5b 3c e3 23 bd 80 ac 2f 00 cc b6
0000000030: 61 4c 42 a1 65 61 02 cf 33 eb 1f 5f 02 ce 8a b9
The initiator's certificate:
0000000000: 30 82 04 f7 30 82 04 a4 a0 03 02 01 02 02 13 7c
0000000010: 00 03 da a8 9e 1e ff 9e 79 05 fb bb 00 01 00 03
0000000020: da a8 30 0a 06 08 2a 85 03 07 01 01 03 02 30 82
0000000030: 01 0a 31 18 30 16 06 05 2a 85 03 64 01 12 0d 31
0000000040: 32 33 34 35 36 37 38 39 30 31 32 33 31 1a 30 18
0000000050: 06 08 2a 85 03 03 81 03 01 01 12 0c 30 30 31 32
0000000060: 33 34 35 36 37 38 39 30 31 2f 30 2d 06 03 55 04
Smyslov Expires 9 June 2023 [Page 57]
Internet-Draft GOST algorithms in IKEv2 December 2022
0000000070: 09 0c 26 d1 83 d0 bb 2e 20 d0 a1 d1 83 d1 89 d1
0000000080: 91 d0 b2 d1 81 d0 ba d0 b8 d0 b9 20 d0 b2 d0 b0
0000000090: d0 bb 20 d0 b4 2e 20 31 38 31 0b 30 09 06 03 55
00000000A0: 04 06 13 02 52 55 31 19 30 17 06 03 55 04 08 0c
00000000B0: 10 d0 b3 2e 20 d0 9c d0 be d1 81 d0 ba d0 b2 d0
00000000C0: b0 31 15 30 13 06 03 55 04 07 0c 0c d0 9c d0 be
00000000D0: d1 81 d0 ba d0 b2 d0 b0 31 25 30 23 06 03 55 04
00000000E0: 0a 0c 1c d0 9e d0 9e d0 9e 20 22 d0 9a d0 a0 d0
00000000F0: 98 d0 9f d0 a2 d0 9e 2d d0 9f d0 a0 d0 9e 22 31
0000000100: 3b 30 39 06 03 55 04 03 0c 32 d0 a2 d0 b5 d1 81
0000000110: d1 82 d0 be d0 b2 d1 8b d0 b9 20 d0 a3 d0 a6 20
0000000120: d0 9e d0 9e d0 9e 20 22 d0 9a d0 a0 d0 98 d0 9f
0000000130: d0 a2 d0 9e 2d d0 9f d0 a0 d0 9e 22 30 1e 17 0d
0000000140: 32 31 31 30 30 31 30 36 31 30 31 30 5a 17 0d 32
0000000150: 32 30 31 30 31 30 36 32 30 31 30 5a 30 44 31 20
0000000160: 30 1e 06 03 55 04 03 13 17 49 4b 45 20 49 6e 74
0000000170: 65 72 6f 70 20 54 65 73 74 20 43 6c 69 65 6e 74
0000000180: 31 13 30 11 06 03 55 04 0a 13 0a 45 4c 56 49 53
0000000190: 2d 50 4c 55 53 31 0b 30 09 06 03 55 04 06 13 02
00000001A0: 52 55 30 81 aa 30 21 06 08 2a 85 03 07 01 01 01
00000001B0: 02 30 15 06 09 2a 85 03 07 01 02 01 02 01 06 08
00000001C0: 2a 85 03 07 01 01 02 03 03 81 84 00 04 81 80 ee
00000001D0: 2f 0a 0e 09 1e 7e 04 ef ba 5b 62 a2 52 86 e1 9c
00000001E0: 24 50 30 50 b0 b4 8a 37 35 b5 fc af 28 94 ec b5
00000001F0: 9b 92 41 5b 69 e2 c9 ba 24 de 6a 72 c4 ef 44 bb
0000000200: 89 a1 05 14 1b 87 3d 6a a3 72 3e 17 ca 7f 39 28
0000000210: ce 16 8b dd 07 52 87 6a 0d 77 42 6d 99 2b 46 2c
0000000220: fd 4b b2 7c d7 c7 17 08 12 54 63 47 9d 14 3d 61
0000000230: ed f2 95 ab 11 80 69 02 a7 66 60 50 7e a4 53 6d
0000000240: ad 01 49 b2 16 8a 95 1d cf 1a 57 93 56 14 5e a3
0000000250: 82 02 59 30 82 02 55 30 0e 06 03 55 1d 0f 01 01
0000000260: ff 04 04 03 02 05 a0 30 13 06 03 55 1d 25 04 0c
0000000270: 30 0a 06 08 2b 06 01 05 05 07 03 11 30 1d 06 03
0000000280: 55 1d 0e 04 16 04 14 40 81 b1 d1 18 75 f0 da 6b
0000000290: 3c 50 5f cd 73 1d d9 77 f2 d7 c1 30 1f 06 03 55
00000002A0: 1d 23 04 18 30 16 80 14 9b 85 5e fb 81 dc 4d 59
00000002B0: 07 51 63 cf be df da 2c 7f c9 44 3c 30 82 01 0f
00000002C0: 06 03 55 1d 1f 04 82 01 06 30 82 01 02 30 81 ff
00000002D0: a0 81 fc a0 81 f9 86 81 b5 68 74 74 70 3a 2f 2f
00000002E0: 74 65 73 74 67 6f 73 74 32 30 31 32 2e 63 72 79
00000002F0: 70 74 6f 70 72 6f 2e 72 75 2f 43 65 72 74 45 6e
0000000300: 72 6f 6c 6c 2f 21 30 34 32 32 21 30 34 33 35 21
0000000310: 30 34 34 31 21 30 34 34 32 21 30 34 33 65 21 30
0000000320: 34 33 32 21 30 34 34 62 21 30 34 33 39 25 32 30
0000000330: 21 30 34 32 33 21 30 34 32 36 25 32 30 21 30 34
0000000340: 31 65 21 30 34 31 65 21 30 34 31 65 25 32 30 21
0000000350: 30 30 32 32 21 30 34 31 61 21 30 34 32 30 21 30
0000000360: 34 31 38 21 30 34 31 66 21 30 34 32 32 21 30 34
Smyslov Expires 9 June 2023 [Page 58]
Internet-Draft GOST algorithms in IKEv2 December 2022
0000000370: 31 65 2d 21 30 34 31 66 21 30 34 32 30 21 30 34
0000000380: 31 65 21 30 30 32 32 28 31 29 2e 63 72 6c 86 3f
0000000390: 68 74 74 70 3a 2f 2f 74 65 73 74 67 6f 73 74 32
00000003A0: 30 31 32 2e 63 72 79 70 74 6f 70 72 6f 2e 72 75
00000003B0: 2f 43 65 72 74 45 6e 72 6f 6c 6c 2f 74 65 73 74
00000003C0: 67 6f 73 74 32 30 31 32 28 31 29 2e 63 72 6c 30
00000003D0: 81 da 06 08 2b 06 01 05 05 07 01 01 04 81 cd 30
00000003E0: 81 ca 30 44 06 08 2b 06 01 05 05 07 30 02 86 38
00000003F0: 68 74 74 70 3a 2f 2f 74 65 73 74 67 6f 73 74 32
0000000400: 30 31 32 2e 63 72 79 70 74 6f 70 72 6f 2e 72 75
0000000410: 2f 43 65 72 74 45 6e 72 6f 6c 6c 2f 72 6f 6f 74
0000000420: 32 30 31 38 2e 63 72 74 30 3f 06 08 2b 06 01 05
0000000430: 05 07 30 01 86 33 68 74 74 70 3a 2f 2f 74 65 73
0000000440: 74 67 6f 73 74 32 30 31 32 2e 63 72 79 70 74 6f
0000000450: 70 72 6f 2e 72 75 2f 6f 63 73 70 32 30 31 32 67
0000000460: 2f 6f 63 73 70 2e 73 72 66 30 41 06 08 2b 06 01
0000000470: 05 05 07 30 01 86 35 68 74 74 70 3a 2f 2f 74 65
0000000480: 73 74 67 6f 73 74 32 30 31 32 2e 63 72 79 70 74
0000000490: 6f 70 72 6f 2e 72 75 2f 6f 63 73 70 32 30 31 32
00000004A0: 67 73 74 2f 6f 63 73 70 2e 73 72 66 30 0a 06 08
00000004B0: 2a 85 03 07 01 01 03 02 03 41 00 21 ee 3b e1 fd
00000004C0: 0f 36 90 92 c4 a2 35 26 e8 dc 4e b8 ef 89 40 70
00000004D0: d2 91 39 bc 79 a6 e2 f7 c1 06 bd d5 d6 ff 72 a5
00000004E0: 6c f2 c0 c3 75 e9 ca 67 81 c1 93 96 b4 bd 18 12
00000004F0: 4c 37 f7 d9 73 d6 4c 8a a6 c4 0a
0 1271: SEQUENCE {
4 1188: SEQUENCE {
8 3: [0] {
10 1: INTEGER 2
: }
13 19: INTEGER
: 7c 00 03 da a8 9e 1e ff 9e 79 05 fb bb 00 01 00
: 03 da a8
34 10: SEQUENCE {
36 8: OBJECT IDENTIFIER
: gost2012Signature256 (1 2 643 7 1 1 3 2)
: }
46 266: SEQUENCE {
50 24: SET {
52 22: SEQUENCE {
54 5: OBJECT IDENTIFIER '1 2 643 100 1'
61 13: NumericString '1234567890123'
: }
: }
76 26: SET {
78 24: SEQUENCE {
80 8: OBJECT IDENTIFIER '1 2 643 3 131 1 1'
Smyslov Expires 9 June 2023 [Page 59]
Internet-Draft GOST algorithms in IKEv2 December 2022
90 12: NumericString '001234567890'
: }
: }
104 47: SET {
106 45: SEQUENCE {
108 3: OBJECT IDENTIFIER
: streetAddress (2 5 4 9)
113 38: UTF8String 'ул. Сущёвский вал д. 18'
: }
: }
153 11: SET {
155 9: SEQUENCE {
157 3: OBJECT IDENTIFIER
: countryName (2 5 4 6)
162 2: PrintableString 'RU'
: }
: }
166 25: SET {
168 23: SEQUENCE {
170 3: OBJECT IDENTIFIER
: stateOrProvinceName (2 5 4 8)
175 16: UTF8String 'г. Москва'
: }
: }
193 21: SET {
195 19: SEQUENCE {
197 3: OBJECT IDENTIFIER
: localityName (2 5 4 7)
202 12: UTF8String 'Москва'
: }
: }
216 37: SET {
218 35: SEQUENCE {
220 3: OBJECT IDENTIFIER
: organizationName (2 5 4 10)
225 28: UTF8String 'ООО "КРИПТО-ПРО"'
: }
: }
255 59: SET {
257 57: SEQUENCE {
259 3: OBJECT IDENTIFIER
: commonName (2 5 4 3)
264 50: UTF8String
: 'Тестовый УЦ ООО "КРИПТО-ПРО"'
: }
: }
: }
316 30: SEQUENCE {
Smyslov Expires 9 June 2023 [Page 60]
Internet-Draft GOST algorithms in IKEv2 December 2022
318 13: UTCTime 01/10/2021 06:10:10 GMT
333 13: UTCTime 01/01/2022 06:20:10 GMT
: }
348 68: SEQUENCE {
350 32: SET {
352 30: SEQUENCE {
354 3: OBJECT IDENTIFIER
: commonName (2 5 4 3)
359 23: PrintableString 'IKE Interop Test Client'
: }
: }
384 19: SET {
386 17: SEQUENCE {
388 3: OBJECT IDENTIFIER
: organizationName (2 5 4 10)
393 10: PrintableString 'ELVIS-PLUS'
: }
: }
405 11: SET {
407 9: SEQUENCE {
409 3: OBJECT IDENTIFIER
: countryName (2 5 4 6)
414 2: PrintableString 'RU'
: }
: }
: }
418 170: SEQUENCE {
421 33: SEQUENCE {
423 8: OBJECT IDENTIFIER
: gost2012PublicKey512 (1 2 643 7 1 1 1 2)
433 21: SEQUENCE {
435 9: OBJECT IDENTIFIER
: cryptoPro2012Sign512A (1 2 643 7 1 2 1 2 1)
446 8: OBJECT IDENTIFIER
: gost2012Digest512 (1 2 643 7 1 1 2 3)
: }
: }
456 132: BIT STRING, encapsulates {
460 128: OCTET STRING
: ee 2f 0a 0e 09 1e 7e 04 ef ba 5b 62 a2 52 86 e1
: 9c 24 50 30 50 b0 b4 8a 37 35 b5 fc af 28 94 ec
: b5 9b 92 41 5b 69 e2 c9 ba 24 de 6a 72 c4 ef 44
: bb 89 a1 05 14 1b 87 3d 6a a3 72 3e 17 ca 7f 39
: 28 ce 16 8b dd 07 52 87 6a 0d 77 42 6d 99 2b 46
: 2c fd 4b b2 7c d7 c7 17 08 12 54 63 47 9d 14 3d
: 61 ed f2 95 ab 11 80 69 02 a7 66 60 50 7e a4 53
: 6d ad 01 49 b2 16 8a 95 1d cf 1a 57 93 56 14 5e
: }
Smyslov Expires 9 June 2023 [Page 61]
Internet-Draft GOST algorithms in IKEv2 December 2022
: }
591 601: [3] {
595 597: SEQUENCE {
599 14: SEQUENCE {
601 3: OBJECT IDENTIFIER
: keyUsage (2 5 29 15)
606 1: BOOLEAN TRUE
609 4: OCTET STRING, encapsulates {
611 2: BIT STRING 5 unused bits
: '101'B
: }
: }
615 19: SEQUENCE {
617 3: OBJECT IDENTIFIER
: extKeyUsage (2 5 29 37)
622 12: OCTET STRING, encapsulates {
624 10: SEQUENCE {
626 8: OBJECT IDENTIFIER
: ipsecIKE (1 3 6 1 5 5 7 3 17)
: }
: }
: }
636 29: SEQUENCE {
638 3: OBJECT IDENTIFIER
: subjectKeyIdentifier (2 5 29 14)
643 22: OCTET STRING, encapsulates {
645 20: OCTET STRING
: 40 81 b1 d1 18 75 f0 da 6b 3c 50 5f cd 73 1d d9
: 77 f2 d7 c1
: }
: }
667 31: SEQUENCE {
669 3: OBJECT IDENTIFIER
: authorityKeyIdentifier (2 5 29 35)
674 24: OCTET STRING, encapsulates {
676 22: SEQUENCE {
678 20: [0]
: 9b 85 5e fb 81 dc 4d 59 07 51 63 cf be df da 2c
: 7f c9 44 3c
: }
: }
: }
700 271: SEQUENCE {
704 3: OBJECT IDENTIFIER
: cRLDistributionPoints (2 5 29 31)
709 262: OCTET STRING, encapsulates {
713 258: SEQUENCE {
717 255: SEQUENCE {
Smyslov Expires 9 June 2023 [Page 62]
Internet-Draft GOST algorithms in IKEv2 December 2022
720 252: [0] {
723 249: [0] {
726 181: [6]
: 'http://testgost2012.cryptopro.ru/CertEnroll/!042'
: '2!0435!0441!0442!043e!0432!044b!0439%20!0423!042'
: '6%20!041e!041e!041e%20!0022!041a!0420!0418!041f!'
: '0422!041e-!041f!0420!041e!0022(1).crl'
910 63: [6]
: 'http://testgost2012.cryptopro.ru/CertEnroll/test'
: 'gost2012(1).crl'
: }
: }
: }
: }
: }
: }
975 218: SEQUENCE {
978 8: OBJECT IDENTIFIER
: authorityInfoAccess (1 3 6 1 5 5 7 1 1)
988 205: OCTET STRING, encapsulates {
991 202: SEQUENCE {
994 68: SEQUENCE {
996 8: OBJECT IDENTIFIER
: caIssuers (1 3 6 1 5 5 7 48 2)
1006 56: [6]
: 'http://testgost2012.cryptopro.ru/CertEnroll/root'
: '2018.crt'
: }
1064 63: SEQUENCE {
1066 8: OBJECT IDENTIFIER
: ocsp (1 3 6 1 5 5 7 48 1)
1076 51: [6]
: 'http://testgost2012.cryptopro.ru/ocsp2012g/ocsp.'
: 'srf'
: }
1129 65: SEQUENCE {
1131 8: OBJECT IDENTIFIER
: ocsp (1 3 6 1 5 5 7 48 1)
1141 53: [6]
: 'http://testgost2012.cryptopro.ru/ocsp2012gst/ocs'
: 'p.srf'
: }
: }
: }
: }
: }
: }
: }
Smyslov Expires 9 June 2023 [Page 63]
Internet-Draft GOST algorithms in IKEv2 December 2022
1196 10: SEQUENCE {
1198 8: OBJECT IDENTIFIER
: gost2012Signature256 (1 2 643 7 1 1 3 2)
: }
1208 65: BIT STRING
: 21 ee 3b e1 fd 0f 36 90 92 c4 a2 35 26 e8 dc 4e
: b8 ef 89 40 70 d2 91 39 bc 79 a6 e2 f7 c1 06 bd
: d5 d6 ff 72 a5 6c f2 c0 c3 75 e9 ca 67 81 c1 93
: 96 b4 bd 18 12 4c 37 f7 d9 73 d6 4c 8a a6 c4 0a
: }
The responder's certificate private key (little endian):
0000000000: cb 73 0c 81 6f ac 6d 81 9f 82 ae 15 a9 08 12 17
0000000010: d3 1b 97 64 b7 1c 34 0d d3 dd 90 1f 15 8c 9b 06
The responder's certificate:
0000000000: 30 82 04 b2 30 82 04 5f a0 03 02 01 02 02 13 7c
0000000010: 00 03 d9 02 ec f9 34 3e c8 aa d6 59 00 01 00 03
0000000020: d9 02 30 0a 06 08 2a 85 03 07 01 01 03 02 30 82
0000000030: 01 0a 31 18 30 16 06 05 2a 85 03 64 01 12 0d 31
0000000040: 32 33 34 35 36 37 38 39 30 31 32 33 31 1a 30 18
0000000050: 06 08 2a 85 03 03 81 03 01 01 12 0c 30 30 31 32
0000000060: 33 34 35 36 37 38 39 30 31 2f 30 2d 06 03 55 04
0000000070: 09 0c 26 d1 83 d0 bb 2e 20 d0 a1 d1 83 d1 89 d1
0000000080: 91 d0 b2 d1 81 d0 ba d0 b8 d0 b9 20 d0 b2 d0 b0
0000000090: d0 bb 20 d0 b4 2e 20 31 38 31 0b 30 09 06 03 55
00000000A0: 04 06 13 02 52 55 31 19 30 17 06 03 55 04 08 0c
00000000B0: 10 d0 b3 2e 20 d0 9c d0 be d1 81 d0 ba d0 b2 d0
00000000C0: b0 31 15 30 13 06 03 55 04 07 0c 0c d0 9c d0 be
00000000D0: d1 81 d0 ba d0 b2 d0 b0 31 25 30 23 06 03 55 04
00000000E0: 0a 0c 1c d0 9e d0 9e d0 9e 20 22 d0 9a d0 a0 d0
00000000F0: 98 d0 9f d0 a2 d0 9e 2d d0 9f d0 a0 d0 9e 22 31
0000000100: 3b 30 39 06 03 55 04 03 0c 32 d0 a2 d0 b5 d1 81
0000000110: d1 82 d0 be d0 b2 d1 8b d0 b9 20 d0 a3 d0 a6 20
0000000120: d0 9e d0 9e d0 9e 20 22 d0 9a d0 a0 d0 98 d0 9f
0000000130: d0 a2 d0 9e 2d d0 9f d0 a0 d0 9e 22 30 1e 17 0d
0000000140: 32 31 30 39 33 30 31 33 32 34 30 36 5a 17 0d 32
0000000150: 31 31 32 33 30 31 33 33 34 30 36 5a 30 44 31 20
0000000160: 30 1e 06 03 55 04 03 13 17 49 4b 45 20 49 6e 74
0000000170: 65 72 6f 70 20 54 65 73 74 20 53 65 72 76 65 72
0000000180: 31 13 30 11 06 03 55 04 0a 13 0a 45 4c 56 49 53
0000000190: 2d 50 4c 55 53 31 0b 30 09 06 03 55 04 06 13 02
00000001A0: 52 55 30 66 30 1f 06 08 2a 85 03 07 01 01 01 01
00000001B0: 30 13 06 07 2a 85 03 02 02 24 00 06 08 2a 85 03
00000001C0: 07 01 01 02 02 03 43 00 04 40 5b b3 14 3e f4 70
00000001D0: c1 70 d7 f3 27 25 d8 53 7c e6 de 6d 8c 29 f6 b2
Smyslov Expires 9 June 2023 [Page 64]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000001E0: 32 64 56 dc b1 77 f2 3d fa f4 2a 5c f3 74 86 7f
00000001F0: 04 72 51 c1 cf b3 43 36 f5 95 a2 af 05 47 57 1a
0000000200: 55 c0 78 a4 9d 64 26 b8 61 14 a3 82 02 59 30 82
0000000210: 02 55 30 0e 06 03 55 1d 0f 01 01 ff 04 04 03 02
0000000220: 05 a0 30 13 06 03 55 1d 25 04 0c 30 0a 06 08 2b
0000000230: 06 01 05 05 07 03 11 30 1d 06 03 55 1d 0e 04 16
0000000240: 04 14 e0 d3 f0 09 ad ce 6c a5 47 ba 9b f7 a6 a5
0000000250: 1b 06 14 ba a5 43 30 1f 06 03 55 1d 23 04 18 30
0000000260: 16 80 14 9b 85 5e fb 81 dc 4d 59 07 51 63 cf be
0000000270: df da 2c 7f c9 44 3c 30 82 01 0f 06 03 55 1d 1f
0000000280: 04 82 01 06 30 82 01 02 30 81 ff a0 81 fc a0 81
0000000290: f9 86 81 b5 68 74 74 70 3a 2f 2f 74 65 73 74 67
00000002A0: 6f 73 74 32 30 31 32 2e 63 72 79 70 74 6f 70 72
00000002B0: 6f 2e 72 75 2f 43 65 72 74 45 6e 72 6f 6c 6c 2f
00000002C0: 21 30 34 32 32 21 30 34 33 35 21 30 34 34 31 21
00000002D0: 30 34 34 32 21 30 34 33 65 21 30 34 33 32 21 30
00000002E0: 34 34 62 21 30 34 33 39 25 32 30 21 30 34 32 33
00000002F0: 21 30 34 32 36 25 32 30 21 30 34 31 65 21 30 34
0000000300: 31 65 21 30 34 31 65 25 32 30 21 30 30 32 32 21
0000000310: 30 34 31 61 21 30 34 32 30 21 30 34 31 38 21 30
0000000320: 34 31 66 21 30 34 32 32 21 30 34 31 65 2d 21 30
0000000330: 34 31 66 21 30 34 32 30 21 30 34 31 65 21 30 30
0000000340: 32 32 28 31 29 2e 63 72 6c 86 3f 68 74 74 70 3a
0000000350: 2f 2f 74 65 73 74 67 6f 73 74 32 30 31 32 2e 63
0000000360: 72 79 70 74 6f 70 72 6f 2e 72 75 2f 43 65 72 74
0000000370: 45 6e 72 6f 6c 6c 2f 74 65 73 74 67 6f 73 74 32
0000000380: 30 31 32 28 31 29 2e 63 72 6c 30 81 da 06 08 2b
0000000390: 06 01 05 05 07 01 01 04 81 cd 30 81 ca 30 44 06
00000003A0: 08 2b 06 01 05 05 07 30 02 86 38 68 74 74 70 3a
00000003B0: 2f 2f 74 65 73 74 67 6f 73 74 32 30 31 32 2e 63
00000003C0: 72 79 70 74 6f 70 72 6f 2e 72 75 2f 43 65 72 74
00000003D0: 45 6e 72 6f 6c 6c 2f 72 6f 6f 74 32 30 31 38 2e
00000003E0: 63 72 74 30 3f 06 08 2b 06 01 05 05 07 30 01 86
00000003F0: 33 68 74 74 70 3a 2f 2f 74 65 73 74 67 6f 73 74
0000000400: 32 30 31 32 2e 63 72 79 70 74 6f 70 72 6f 2e 72
0000000410: 75 2f 6f 63 73 70 32 30 31 32 67 2f 6f 63 73 70
0000000420: 2e 73 72 66 30 41 06 08 2b 06 01 05 05 07 30 01
0000000430: 86 35 68 74 74 70 3a 2f 2f 74 65 73 74 67 6f 73
0000000440: 74 32 30 31 32 2e 63 72 79 70 74 6f 70 72 6f 2e
0000000450: 72 75 2f 6f 63 73 70 32 30 31 32 67 73 74 2f 6f
0000000460: 63 73 70 2e 73 72 66 30 0a 06 08 2a 85 03 07 01
0000000470: 01 03 02 03 41 00 a5 39 5f ca 48 e1 c2 93 c1 e0
0000000480: 8a 64 74 0f 6b 86 a2 15 9b 46 29 d0 42 71 4f ce
0000000490: e7 52 d7 d7 3d aa 47 ce cf 52 63 8f 26 b2 17 5f
00000004A0: ad 96 57 76 ea 5f d0 87 bb 12 29 e4 06 0e e1 5f
00000004B0: fd 59 81 fb 34 6d
Smyslov Expires 9 June 2023 [Page 65]
Internet-Draft GOST algorithms in IKEv2 December 2022
0 1202: SEQUENCE {
4 1119: SEQUENCE {
8 3: [0] {
10 1: INTEGER 2
: }
13 19: INTEGER
: 7c 00 03 d9 02 ec f9 34 3e c8 aa d6 59 00 01 00
: 03 d9 02
34 10: SEQUENCE {
36 8: OBJECT IDENTIFIER
: gost2012Signature256 (1 2 643 7 1 1 3 2)
: }
46 266: SEQUENCE {
50 24: SET {
52 22: SEQUENCE {
54 5: OBJECT IDENTIFIER '1 2 643 100 1'
61 13: NumericString '1234567890123'
: }
: }
76 26: SET {
78 24: SEQUENCE {
80 8: OBJECT IDENTIFIER '1 2 643 3 131 1 1'
90 12: NumericString '001234567890'
: }
: }
104 47: SET {
106 45: SEQUENCE {
108 3: OBJECT IDENTIFIER
: streetAddress (2 5 4 9)
113 38: UTF8String 'ул. Сущёвский вал д. 18'
: }
: }
153 11: SET {
155 9: SEQUENCE {
157 3: OBJECT IDENTIFIER
: countryName (2 5 4 6)
162 2: PrintableString 'RU'
: }
: }
166 25: SET {
168 23: SEQUENCE {
170 3: OBJECT IDENTIFIER
: stateOrProvinceName (2 5 4 8)
175 16: UTF8String 'г. Москва'
: }
: }
193 21: SET {
195 19: SEQUENCE {
Smyslov Expires 9 June 2023 [Page 66]
Internet-Draft GOST algorithms in IKEv2 December 2022
197 3: OBJECT IDENTIFIER
: localityName (2 5 4 7)
202 12: UTF8String 'Москва'
: }
: }
216 37: SET {
218 35: SEQUENCE {
220 3: OBJECT IDENTIFIER
: organizationName (2 5 4 10)
225 28: UTF8String 'ООО "КРИПТО-ПРО"'
: }
: }
255 59: SET {
257 57: SEQUENCE {
259 3: OBJECT IDENTIFIER
: commonName (2 5 4 3)
264 50: UTF8String
: 'Тестовый УЦ ООО "КРИПТО-ПРО"'
: }
: }
: }
316 30: SEQUENCE {
318 13: UTCTime 30/09/2021 13:24:06 GMT
333 13: UTCTime 30/12/2021 13:34:06 GMT
: }
348 68: SEQUENCE {
350 32: SET {
352 30: SEQUENCE {
354 3: OBJECT IDENTIFIER
: commonName (2 5 4 3)
359 23: PrintableString 'IKE Interop Test Server'
: }
: }
384 19: SET {
386 17: SEQUENCE {
388 3: OBJECT IDENTIFIER
: organizationName (2 5 4 10)
393 10: PrintableString 'ELVIS-PLUS'
: }
: }
405 11: SET {
407 9: SEQUENCE {
409 3: OBJECT IDENTIFIER
: countryName (2 5 4 6)
414 2: PrintableString 'RU'
: }
: }
: }
Smyslov Expires 9 June 2023 [Page 67]
Internet-Draft GOST algorithms in IKEv2 December 2022
418 102: SEQUENCE {
420 31: SEQUENCE {
422 8: OBJECT IDENTIFIER
: gost2012PublicKey256 (1 2 643 7 1 1 1 1)
432 19: SEQUENCE {
434 7: OBJECT IDENTIFIER
: cryptoProSignXA (1 2 643 2 2 36 0)
443 8: OBJECT IDENTIFIER
: gost2012Digest256 (1 2 643 7 1 1 2 2)
: }
: }
453 67: BIT STRING, encapsulates {
456 64: OCTET STRING
: 5b b3 14 3e f4 70 c1 70 d7 f3 27 25 d8 53 7c e6
: de 6d 8c 29 f6 b2 32 64 56 dc b1 77 f2 3d fa f4
: 2a 5c f3 74 86 7f 04 72 51 c1 cf b3 43 36 f5 95
: a2 af 05 47 57 1a 55 c0 78 a4 9d 64 26 b8 61 14
: }
: }
522 601: [3] {
526 597: SEQUENCE {
530 14: SEQUENCE {
532 3: OBJECT IDENTIFIER
: keyUsage (2 5 29 15)
537 1: BOOLEAN TRUE
540 4: OCTET STRING, encapsulates {
542 2: BIT STRING 5 unused bits
: '101'B
: }
: }
546 19: SEQUENCE {
548 3: OBJECT IDENTIFIER
: extKeyUsage (2 5 29 37)
553 12: OCTET STRING, encapsulates {
555 10: SEQUENCE {
557 8: OBJECT IDENTIFIER
: ipsecIKE (1 3 6 1 5 5 7 3 17)
: }
: }
: }
567 29: SEQUENCE {
569 3: OBJECT IDENTIFIER
: subjectKeyIdentifier (2 5 29 14)
574 22: OCTET STRING, encapsulates {
576 20: OCTET STRING
: e0 d3 f0 09 ad ce 6c a5 47 ba 9b f7 a6 a5 1b 06
: 14 ba a5 43
: }
Smyslov Expires 9 June 2023 [Page 68]
Internet-Draft GOST algorithms in IKEv2 December 2022
: }
598 31: SEQUENCE {
600 3: OBJECT IDENTIFIER
: authorityKeyIdentifier (2 5 29 35)
605 24: OCTET STRING, encapsulates {
607 22: SEQUENCE {
609 20: [0]
: 9b 85 5e fb 81 dc 4d 59 07 51 63 cf be df dA 2C
: 7f C9 44 3c
: }
: }
: }
631 271: SEQUENCE {
635 3: OBJECT IDENTIFIER
: cRLDistributionPoints (2 5 29 31)
640 262: OCTET STRING, encapsulates {
644 258: SEQUENCE {
648 255: SEQUENCE {
651 252: [0] {
654 249: [0] {
657 181: [6]
: 'http://testgost2012.cryptopro.ru/CertEnroll/!042'
: '2!0435!0441!0442!043e!0432!044b!0439%20!0423!042'
: '6%20!041e!041e!041e%20!0022!041a!0420!0418!041f!'
: '0422!041e-!041f!0420!041e!0022(1).crl'
841 63: [6]
: 'http://testgost2012.cryptopro.ru/CertEnroll/test'
: 'gost2012(1).crl'
: }
: }
: }
: }
: }
: }
906 218: SEQUENCE {
909 8: OBJECT IDENTIFIER
: authorityInfoAccess (1 3 6 1 5 5 7 1 1)
919 205: OCTET STRING, encapsulates {
922 202: SEQUENCE {
925 68: SEQUENCE {
927 8: OBJECT IDENTIFIER
: caIssuers (1 3 6 1 5 5 7 48 2)
937 56: [6]
: 'http://testgost2012.cryptopro.ru/CertEnroll/root'
: '2018.crt'
: }
995 63: SEQUENCE {
997 8: OBJECT IDENTIFIER
Smyslov Expires 9 June 2023 [Page 69]
Internet-Draft GOST algorithms in IKEv2 December 2022
: ocsp (1 3 6 1 5 5 7 48 1)
1007 51: [6]
: 'http://testgost2012.cryptopro.ru/ocsp2012g/ocsp.'
: 'srf'
: }
1060 65: SEQUENCE {
1062 8: OBJECT IDENTIFIER
: ocsp (1 3 6 1 5 5 7 48 1)
1072 53: [6]
: 'http://testgost2012.cryptopro.ru/ocsp2012gst/ocs'
: 'p.srf'
: }
: }
: }
: }
: }
: }
: }
1127 10: SEQUENCE {
1129 8: OBJECT IDENTIFIER
: gost2012Signature256 (1 2 643 7 1 1 3 2)
: }
1139 65: BIT STRING
: a5 39 5f ca 48 e1 c2 93 c1 e0 8a 64 74 0f 6b 86
: a2 15 9b 46 29 d0 42 71 4f ce e7 52 d7 d7 3d aa
: 47 ce cf 52 63 8f 26 b2 17 5f ad 96 57 76 ea 5f
: d0 87 bb 12 29 e4 06 0e e1 5f fd 59 81 fb 34 6d
: }
CA certificate:
0000000000: 30 82 05 1c 30 82 04 c9 a0 03 02 01 02 02 10 3b
0000000010: 20 8a e5 fd 46 68 86 49 a0 50 fa af a8 83 93 30
0000000020: 0a 06 08 2a 85 03 07 01 01 03 02 30 82 01 0a 31
0000000030: 18 30 16 06 05 2a 85 03 64 01 12 0d 31 32 33 34
0000000040: 35 36 37 38 39 30 31 32 33 31 1a 30 18 06 08 2a
0000000050: 85 03 03 81 03 01 01 12 0c 30 30 31 32 33 34 35
0000000060: 36 37 38 39 30 31 2f 30 2d 06 03 55 04 09 0c 26
0000000070: d1 83 d0 bb 2e 20 d0 a1 d1 83 d1 89 d1 91 d0 b2
0000000080: d1 81 d0 ba d0 b8 d0 b9 20 d0 b2 d0 b0 d0 bb 20
0000000090: d0 b4 2e 20 31 38 31 0b 30 09 06 03 55 04 06 13
00000000A0: 02 52 55 31 19 30 17 06 03 55 04 08 0c 10 d0 b3
00000000B0: 2e 20 d0 9c d0 be d1 81 d0 ba d0 b2 d0 b0 31 15
00000000C0: 30 13 06 03 55 04 07 0c 0c d0 9c d0 be d1 81 d0
00000000D0: ba d0 b2 d0 b0 31 25 30 23 06 03 55 04 0a 0c 1c
00000000E0: d0 9e d0 9e d0 9e 20 22 d0 9a d0 a0 d0 98 d0 9f
00000000F0: d0 a2 d0 9e 2d d0 9f d0 a0 d0 9e 22 31 3b 30 39
0000000100: 06 03 55 04 03 0c 32 d0 a2 d0 b5 d1 81 d1 82 d0
Smyslov Expires 9 June 2023 [Page 70]
Internet-Draft GOST algorithms in IKEv2 December 2022
0000000110: be d0 b2 d1 8b d0 b9 20 d0 a3 d0 a6 20 d0 9e d0
0000000120: 9e d0 9e 20 22 d0 9a d0 a0 d0 98 d0 9f d0 a2 d0
0000000130: 9e 2d d0 9f d0 a0 d0 9e 22 30 1e 17 0d 31 38 30
0000000140: 39 31 32 31 30 31 39 33 30 5a 17 0d 32 33 30 39
0000000150: 31 32 31 30 32 38 35 35 5a 30 82 01 0a 31 18 30
0000000160: 16 06 05 2a 85 03 64 01 12 0d 31 32 33 34 35 36
0000000170: 37 38 39 30 31 32 33 31 1a 30 18 06 08 2a 85 03
0000000180: 03 81 03 01 01 12 0c 30 30 31 32 33 34 35 36 37
0000000190: 38 39 30 31 2f 30 2d 06 03 55 04 09 0c 26 d1 83
00000001A0: d0 bb 2e 20 d0 a1 d1 83 d1 89 d1 91 d0 b2 d1 81
00000001B0: d0 ba d0 b8 d0 b9 20 d0 b2 d0 b0 d0 bb 20 d0 b4
00000001C0: 2e 20 31 38 31 0b 30 09 06 03 55 04 06 13 02 52
00000001D0: 55 31 19 30 17 06 03 55 04 08 0c 10 d0 b3 2e 20
00000001E0: d0 9c d0 be d1 81 d0 ba d0 b2 d0 b0 31 15 30 13
00000001F0: 06 03 55 04 07 0c 0c d0 9c d0 be d1 81 d0 ba d0
0000000200: b2 d0 b0 31 25 30 23 06 03 55 04 0a 0c 1c d0 9e
0000000210: d0 9e d0 9e 20 22 d0 9a d0 a0 d0 98 d0 9f d0 a2
0000000220: d0 9e 2d d0 9f d0 a0 d0 9e 22 31 3b 30 39 06 03
0000000230: 55 04 03 0c 32 d0 a2 d0 b5 d1 81 d1 82 d0 be d0
0000000240: b2 d1 8b d0 b9 20 d0 a3 d0 a6 20 d0 9e d0 9e d0
0000000250: 9e 20 22 d0 9a d0 a0 d0 98 d0 9f d0 a2 d0 9e 2d
0000000260: d0 9f d0 a0 d0 9e 22 30 66 30 1f 06 08 2a 85 03
0000000270: 07 01 01 01 01 30 13 06 07 2a 85 03 02 02 23 01
0000000280: 06 08 2a 85 03 07 01 01 02 02 03 43 00 04 40 98
0000000290: 1f fd a9 50 cd 21 86 30 f4 59 06 72 a9 d6 3d 6b
00000002A0: c0 33 82 06 46 37 e3 dc 21 4a b1 f8 9f b7 56 ec
00000002B0: a5 2d b5 81 87 b6 9d c2 2e df fd 09 33 53 9c 18
00000002C0: 32 ac d7 42 2e 09 a5 f4 36 a3 a5 c1 d2 22 f0 a3
00000002D0: 82 01 fe 30 82 01 fa 30 36 06 05 2a 85 03 64 6f
00000002E0: 04 2d 0c 2b 22 d0 9a d1 80 d0 b8 d0 bf d1 82 d0
00000002F0: be d0 9f d1 80 d0 be 20 43 53 50 22 20 28 d0 b2
0000000300: d0 b5 d1 80 d1 81 d0 b8 d1 8f 20 34 2e 30 29 30
0000000310: 82 01 21 06 05 2a 85 03 64 70 04 82 01 16 30 82
0000000320: 01 12 0c 2b 22 d0 9a d1 80 d0 b8 d0 bf d1 82 d0
0000000330: be d0 9f d1 80 d0 be 20 43 53 50 22 20 28 d0 b2
0000000340: d0 b5 d1 80 d1 81 d0 b8 d1 8f 20 34 2e 30 29 0c
0000000350: 41 d0 a3 d0 b4 d0 be d1 81 d1 82 d0 be d0 b2 d0
0000000360: b5 d1 80 d1 8f d1 8e d1 89 d0 b8 d0 b9 20 d1 86
0000000370: d0 b5 d0 bd d1 82 d1 80 20 22 d0 9a d1 80 d0 b8
0000000380: d0 bf d1 82 d0 be d0 9f d1 80 d0 be 20 d0 a3 d0
0000000390: a6 22 0c 4f d0 a1 d0 b5 d1 80 d1 82 d0 b8 d1 84
00000003A0: d0 b8 d0 ba d0 b0 d1 82 20 d1 81 d0 be d0 be d1
00000003B0: 82 d0 b2 d0 b5 d1 82 d1 81 d1 82 d0 b2 d0 b8 d1
00000003C0: 8f 20 e2 84 96 20 d0 a1 d0 a4 2f 30 30 30 2d 30
00000003D0: 30 30 30 20 d0 be d1 82 20 30 30 2e 30 30 2e 30
00000003E0: 30 30 30 0c 4f d0 a1 d0 b5 d1 80 d1 82 d0 b8 d1
00000003F0: 84 d0 b8 d0 ba d0 b0 d1 82 20 d1 81 d0 be d0 be
0000000400: d1 82 d0 b2 d0 b5 d1 82 d1 81 d1 82 d0 b2 d0 b8
Smyslov Expires 9 June 2023 [Page 71]
Internet-Draft GOST algorithms in IKEv2 December 2022
0000000410: d1 8f 20 e2 84 96 20 d0 a1 d0 a4 2f 30 30 30 2d
0000000420: 30 30 30 30 20 d0 be d1 82 20 30 30 2e 30 30 2e
0000000430: 30 30 30 30 30 0b 06 03 55 1d 0f 04 04 03 02 01
0000000440: 86 30 0f 06 03 55 1d 13 01 01 ff 04 05 30 03 01
0000000450: 01 ff 30 1d 06 03 55 1d 0e 04 16 04 14 9b 85 5e
0000000460: fb 81 dc 4d 59 07 51 63 cf be df da 2c 7f c9 44
0000000470: 3c 30 12 06 09 2b 06 01 04 01 82 37 15 01 04 05
0000000480: 02 03 01 00 01 30 25 06 03 55 1d 20 04 1e 30 1c
0000000490: 30 08 06 06 2a 85 03 64 71 01 30 08 06 06 2a 85
00000004A0: 03 64 71 02 30 06 06 04 55 1d 20 00 30 23 06 09
00000004B0: 2b 06 01 04 01 82 37 15 02 04 16 04 14 c8 da 66
00000004C0: cb b6 97 d2 3e c9 67 1d c2 5b 64 3a ab dc bb cf
00000004D0: 69 30 0a 06 08 2a 85 03 07 01 01 03 02 03 41 00
00000004E0: 3e 95 cd d8 1f 95 bd 09 ab 73 82 f5 04 e0 f2 66
00000004F0: 12 32 82 9b 2b 03 cc 4b c0 b3 73 f8 e7 0d d6 bd
0000000500: 83 c8 27 2d 01 c1 ec ef 65 5d ac 77 fd dd da 9d
0000000510: 04 e2 bf e8 02 7f 87 36 1b cf ac 7a 28 9c 21 fe
0 1308: SEQUENCE {
4 1225: SEQUENCE {
8 3: [0] {
10 1: INTEGER 2
: }
13 16: INTEGER
: 3b 20 8a e5 fd 46 68 86 49 a0 50 fa af a8 83 93
31 10: SEQUENCE {
33 8: OBJECT IDENTIFIER
: gost2012Signature256 (1 2 643 7 1 1 3 2)
: }
43 266: SEQUENCE {
47 24: SET {
49 22: SEQUENCE {
51 5: OBJECT IDENTIFIER '1 2 643 100 1'
58 13: NumericString '1234567890123'
: }
: }
73 26: SET {
75 24: SEQUENCE {
77 8: OBJECT IDENTIFIER '1 2 643 3 131 1 1'
87 12: NumericString '001234567890'
: }
: }
101 47: SET {
103 45: SEQUENCE {
105 3: OBJECT IDENTIFIER
: streetAddress (2 5 4 9)
110 38: UTF8String 'ул. Сущёвский вал д. 18'
: }
Smyslov Expires 9 June 2023 [Page 72]
Internet-Draft GOST algorithms in IKEv2 December 2022
: }
150 11: SET {
152 9: SEQUENCE {
154 3: OBJECT IDENTIFIER
: countryName (2 5 4 6)
159 2: PrintableString 'RU'
: }
: }
163 25: SET {
165 23: SEQUENCE {
167 3: OBJECT IDENTIFIER
: stateOrProvinceName (2 5 4 8)
172 16: UTF8String 'г. Москва'
: }
: }
190 21: SET {
192 19: SEQUENCE {
194 3: OBJECT IDENTIFIER
: localityName (2 5 4 7)
199 12: UTF8String 'Москва'
: }
: }
213 37: SET {
215 35: SEQUENCE {
217 3: OBJECT IDENTIFIER
: organizationName (2 5 4 10)
222 28: UTF8String 'ООО "КРИПТО-ПРО"'
: }
: }
252 59: SET {
254 57: SEQUENCE {
256 3: OBJECT IDENTIFIER
: commonName (2 5 4 3)
261 50: UTF8String
: 'Тестовый УЦ ООО "КРИПТО-ПРО"'
: }
: }
: }
313 30: SEQUENCE {
315 13: UTCTime 12/09/2018 10:19:30 GMT
330 13: UTCTime 12/09/2023 10:28:55 GMT
: }
345 266: SEQUENCE {
349 24: SET {
351 22: SEQUENCE {
353 5: OBJECT IDENTIFIER '1 2 643 100 1'
360 13: NumericString '1234567890123'
: }
Smyslov Expires 9 June 2023 [Page 73]
Internet-Draft GOST algorithms in IKEv2 December 2022
: }
375 26: SET {
377 24: SEQUENCE {
379 8: OBJECT IDENTIFIER '1 2 643 3 131 1 1'
389 12: NumericString '001234567890'
: }
: }
403 47: SET {
405 45: SEQUENCE {
407 3: OBJECT IDENTIFIER
: streetAddress (2 5 4 9)
412 38: UTF8String 'ул. Сущёвский вал д. 18'
: }
: }
452 11: SET {
454 9: SEQUENCE {
456 3: OBJECT IDENTIFIER
: countryName (2 5 4 6)
461 2: PrintableString 'RU'
: }
: }
465 25: SET {
467 23: SEQUENCE {
469 3: OBJECT IDENTIFIER
: stateOrProvinceName (2 5 4 8)
474 16: UTF8String 'г. Москва'
: }
: }
492 21: SET {
494 19: SEQUENCE {
496 3: OBJECT IDENTIFIER
: localityName (2 5 4 7)
501 12: UTF8String 'Москва'
: }
: }
515 37: SET {
517 35: SEQUENCE {
519 3: OBJECT IDENTIFIER
: organizationName (2 5 4 10)
524 28: UTF8String 'ООО "КРИПТО-ПРО"'
: }
: }
554 59: SET {
556 57: SEQUENCE {
558 3: OBJECT IDENTIFIER
: commonName (2 5 4 3)
563 50: UTF8String
: 'Тестовый УЦ ООО "КРИПТО-ПРО"'
Smyslov Expires 9 June 2023 [Page 74]
Internet-Draft GOST algorithms in IKEv2 December 2022
: }
: }
: }
615 102: SEQUENCE {
617 31: SEQUENCE {
619 8: OBJECT IDENTIFIER
: gost2012PublicKey256 (1 2 643 7 1 1 1 1)
629 19: SEQUENCE {
631 7: OBJECT IDENTIFIER
: cryptoProSignA (1 2 643 2 2 35 1)
640 8: OBJECT IDENTIFIER
: gost2012Digest256 (1 2 643 7 1 1 2 2)
: }
: }
650 67: BIT STRING, encapsulates {
653 64: OCTET STRING
: 98 1f fd a9 50 cd 21 86 30 f4 59 06 72 a9 d6 3d
: 6b c0 33 82 06 46 37 e3 dc 21 4a b1 f8 9f b7 56
: ec a5 2d b5 81 87 b6 9d c2 2e df fd 09 33 53 9c
: 18 32 ac d7 42 2e 09 a5 f4 36 a3 a5 c1 d2 22 f0
: }
: }
719 510: [3] {
723 506: SEQUENCE {
727 54: SEQUENCE {
729 5: OBJECT IDENTIFIER '1 2 643 100 111'
736 45: OCTET STRING, encapsulates {
738 43: UTF8String
: '"КриптоПро CSP" (версия 4.0)'
: }
: }
783 289: SEQUENCE {
787 5: OBJECT IDENTIFIER '1 2 643 100 112'
794 278: OCTET STRING, encapsulates {
798 274: SEQUENCE {
802 43: UTF8String
: '"КриптоПро CSP" (версия 4.0)'
847 65: UTF8String
: 'Удостоверяющий центр "КриптоПро УЦ"'
914 79: UTF8String
: 'Сертификат соответствия № СФ/000-0000 от 00.00.'
: '0000'
995 79: UTF8String
: 'Сертификат соответствия № СФ/000-0000 от 00.00.'
: '0000'
: }
: }
: }
Smyslov Expires 9 June 2023 [Page 75]
Internet-Draft GOST algorithms in IKEv2 December 2022
1076 11: SEQUENCE {
1078 3: OBJECT IDENTIFIER
: keyUsage (2 5 29 15)
1083 4: OCTET STRING, encapsulates {
1085 2: BIT STRING 1 unused bit
: '1100001'B
: }
: }
1089 15: SEQUENCE {
1091 3: OBJECT IDENTIFIER
: basicConstraints (2 5 29 19)
1096 1: BOOLEAN TRUE
1099 5: OCTET STRING, encapsulates {
1101 3: SEQUENCE {
1103 1: BOOLEAN TRUE
: }
: }
: }
1106 29: SEQUENCE {
1108 3: OBJECT IDENTIFIER
: subjectKeyIdentifier (2 5 29 14)
1113 22: OCTET STRING, encapsulates {
1115 20: OCTET STRING
: 9b 85 5e fb 81 dc 4d 59 07 51 63 cf be df da 2c
: 7f c9 44 3c
: }
: }
1137 18: SEQUENCE {
1139 9: OBJECT IDENTIFIER
: cAKeyCertIndexPair (1 3 6 1 4 1 311 21 1)
1150 5: OCTET STRING, encapsulates {
1152 3: INTEGER 65537
: }
: }
1157 37: SEQUENCE {
1159 3: OBJECT IDENTIFIER
: certificatePolicies (2 5 29 32)
1164 30: OCTET STRING, encapsulates {
1166 28: SEQUENCE {
1168 8: SEQUENCE {
1170 6: OBJECT IDENTIFIER '1 2 643 100 113 1'
: }
1178 8: SEQUENCE {
1180 6: OBJECT IDENTIFIER '1 2 643 100 113 2'
: }
1188 6: SEQUENCE {
1190 4: OBJECT IDENTIFIER
: anyPolicy (2 5 29 32 0)
Smyslov Expires 9 June 2023 [Page 76]
Internet-Draft GOST algorithms in IKEv2 December 2022
: }
: }
: }
: }
1196 35: SEQUENCE {
1198 9: OBJECT IDENTIFIER
: certSrvPreviousCertHash (1 3 6 1 4 1 311 21 2)
1209 22: OCTET STRING, encapsulates {
1211 20: OCTET STRING
: c8 da 66 cb b6 97 d2 3e c9 67 1d c2 5b 64 3a ab
: dc bb cf 69
: }
: }
: }
: }
: }
1233 10: SEQUENCE {
1235 8: OBJECT IDENTIFIER
: gost2012Signature256 (1 2 643 7 1 1 3 2)
: }
1245 65: BIT STRING
: 3e 95 cd d8 1f 95 bd 09 ab 73 82 f5 04 e0 f2 66
: 12 32 82 9b 2b 03 cc 4b c0 b3 73 f8 e7 0d d6 bd
: 83 c8 27 2d 01 c1 ec ef 65 5d ac 77 fd dd da 9d
: 04 e2 bf e8 02 7f 87 36 1b cf ac 7a 28 9c 21 fe
: }
This scenario includes four sub-scenarios.
Sub-scenario 1: Establishing of IKE and ESP SAs using the
IKE_SA_INIT and the IKE_AUTH exchanges.
Initiator Responder
HDR, SAi1, KEi, Ni [,N+] --->
<--- HDR, N(INVALID_KE_PAYLOAD)
HDR, SAi1, KEi, Ni [,N+] --->
<--- HDR, SAr1, KEr, Nr
[,CERTREQ] [,N+]
HDR, SK {IDi, [CERT,]
[CERTREQ,] [IDr,] [N+,]
AUTH, SAi2, TSi, TSr} --->
<--- HDR, SK {IDr, [CERT,] [N+,]
AUTH, SAr2, TSi, TSr}
Initiator's actions:
Smyslov Expires 9 June 2023 [Page 77]
Internet-Draft GOST algorithms in IKEv2 December 2022
(1) Generates random SPIi for IKE SA
00000000: 92 80 e0 82 2e 75 87 78
(2) Generates random IKE nonce Ni
00000000: 98 44 d5 40 ef 89 46 f4 55 20 0a 55 73 dc ad 73
00000010: dd 2a 6f a8 31 f8 49 05 f5 8e 17 a2 6c cc 01 1f
(3) Generates ephemeral private key (512 bit)
00000000: 82 fb 1c 90 c3 a3 c2 16 7f 76 15 5d 69 06 f8 47
00000010: 3e fe 83 3e 21 cd e7 a4 e5 cd d9 71 ef d3 c5 db
00000020: 7e de 50 70 48 96 90 01 0c 81 02 b9 4b 56 f6 47
00000030: cb 27 40 25 58 55 80 32 e9 59 17 10 3b 0f eb 3b
(4) Computes public key
00000000: 89 77 c6 d7 2b 08 5d d5 48 b1 ea 5d 99 c5 03 09
00000010: c6 62 fe d7 7d 84 a4 d8 8b 9b a5 c8 3a 7a 05 86
00000020: e2 0d 8d 9b 5d ce 01 18 e2 d2 da 73 83 ee 30 ad
00000030: 49 88 44 6f bd 18 78 b4 bb da c9 df 1a ca d1 2a
00000040: 05 98 75 da 9e 9a 21 e4 db 71 8f af d1 96 c7 8b
00000050: de 9a b2 98 f7 55 bb 74 38 34 a4 da 47 ab 86 15
00000060: d4 c8 33 70 b7 02 79 b8 7f c2 97 6d 03 8f 2d 08
00000070: d7 ab ac 85 4c bf 5a f6 27 57 ad fe 61 50 5e 45
(5) Creates message
IKE SA Init
9280E0822E758778.0000000000000000.00000000 IKEv2 R<-I[328]
SA[52]{
P[48](#1:IKE::5#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
ENCR_MAGMA_MGM_KTREE,
PRF=PRF_HMAC_STREEBOG_512,
KE=GOST3410_2012_512,
GOST3410_2012_256}},
KE[136](GOST3410_2012_512){8977C6...505E45},
NONCE[36]{9844D5...CC011F},
N[28](NAT_DETECTION_SOURCE_IP){000000...000000},
N[28](NAT_DETECTION_DESTINATION_IP){7D2124...4E6F10},
N[8](IKEV2_FRAGMENTATION_SUPPORTED),
N[12](SIGNATURE_HASH_ALGORITHMS){STREEBOG_256, STREEBOG_512}
(6) Sends message, peer receives message
Smyslov Expires 9 June 2023 [Page 78]
Internet-Draft GOST algorithms in IKEv2 December 2022
10.111.10.171:54294->10.111.15.45:500 [328]
00000000: 92 80 e0 82 2e 75 87 78 00 00 00 00 00 00 00 00
00000010: 21 20 22 08 00 00 00 00 00 00 01 48 22 00 00 34
00000020: 00 00 00 30 01 01 00 05 03 00 00 08 01 00 00 20
00000030: 03 00 00 08 01 00 00 21 03 00 00 08 02 00 00 09
00000040: 03 00 00 08 04 00 00 22 00 00 00 08 04 00 00 21
00000050: 28 00 00 88 00 22 00 00 89 77 c6 d7 2b 08 5d d5
00000060: 48 b1 ea 5d 99 c5 03 09 c6 62 fe d7 7d 84 a4 d8
00000070: 8b 9b a5 c8 3a 7a 05 86 e2 0d 8d 9b 5d ce 01 18
00000080: e2 d2 da 73 83 ee 30 ad 49 88 44 6f bd 18 78 b4
00000090: bb da c9 df 1a ca d1 2a 05 98 75 da 9e 9a 21 e4
000000A0: db 71 8f af d1 96 c7 8b de 9a b2 98 f7 55 bb 74
000000B0: 38 34 a4 da 47 ab 86 15 d4 c8 33 70 b7 02 79 b8
000000C0: 7f c2 97 6d 03 8f 2d 08 d7 ab ac 85 4c bf 5a f6
000000D0: 27 57 ad fe 61 50 5e 45 29 00 00 24 98 44 d5 40
000000E0: ef 89 46 f4 55 20 0a 55 73 dc ad 73 dd 2a 6f a8
000000F0: 31 f8 49 05 f5 8e 17 a2 6c cc 01 1f 29 00 00 1c
00000100: 00 00 40 04 00 00 00 00 00 00 00 00 00 00 00 00
00000110: 00 00 00 00 00 00 00 00 29 00 00 1c 00 00 40 05
00000120: 7d 21 24 87 89 d7 95 71 bd a2 2d 22 9d 51 d0 71
00000130: e9 4e 6f 10 29 00 00 08 00 00 40 2e 00 00 00 0c
00000140: 00 00 40 2f 00 06 00 07
Responder's actions:
(7) Parses received message
IKE SA Init
9280E0822E758778.0000000000000000.00000000 IKEv2 I->R[328]
SA[52]{
P[48](#1:IKE::5#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
ENCR_MAGMA_MGM_KTREE,
PRF=PRF_HMAC_STREEBOG_512,
KE=GOST3410_2012_512,
GOST3410_2012_256}},
KE[136](GOST3410_2012_512){8977C6...505E45},
NONCE[36]{9844D5...CC011F},
N[28](NAT_DETECTION_SOURCE_IP){000000...000000},
N[28](NAT_DETECTION_DESTINATION_IP){7D2124...4E6F10},
N[8](IKEV2_FRAGMENTATION_SUPPORTED),
N[12](SIGNATURE_HASH_ALGORITHMS){STREEBOG_256, STREEBOG_512}
(8) Creates message
Smyslov Expires 9 June 2023 [Page 79]
Internet-Draft GOST algorithms in IKEv2 December 2022
IKE SA Init
9280E0822E758778.0000000000000000.00000000 IKEv2 I<=R[38]
N[10](INVALID_KE_PAYLOAD){GOST3410_2012_256}
(9) Sends message, peer receives message
10.111.10.171:54294<-10.111.15.45:500 [38]
00000000: 92 80 e0 82 2e 75 87 78 00 00 00 00 00 00 00 00
00000010: 29 20 22 20 00 00 00 00 00 00 00 26 00 00 00 0a
00000020: 00 00 00 11 00 21
Initiator's actions:
(10) Parses received message
IKE SA Init
9280E0822E758778.0000000000000000.00000000 IKEv2 R=>I[38]
N[10](INVALID_KE_PAYLOAD){GOST3410_2012_256}}
(11) Generates ephemeral private key (256 bit)
00000000: b9 7c ac df 01 43 44 dd 54 92 33 63 4a 6e da 64
00000010: 38 5b 6a 9c c0 3c 6c 41 c5 02 eb 63 d1 e6 24 21
(12) Computes public key
00000000: 7d b0 49 81 88 6d 1b 02 b2 a6 35 c5 8b ea 90 8c
00000010: 3e 16 de e5 43 13 22 0b ad f5 89 9f 7f 85 54 2d
00000020: 3e db 1e de 85 f7 d5 5d 6f 83 c5 d0 31 bd 31 49
00000030: dd 29 c5 16 16 7d ec 86 16 d8 85 e6 e4 50 ab 46
(13) Creates message
Smyslov Expires 9 June 2023 [Page 80]
Internet-Draft GOST algorithms in IKEv2 December 2022
IKE SA Init
9280E0822E758778.0000000000000000.00000000 IKEv2 R<-I[264]
SA[52]{
P[48](#1:IKE::5#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
ENCR_MAGMA_MGM_KTREE,
PRF=PRF_HMAC_STREEBOG_512,
KE=GOST3410_2012_512,
GOST3410_2012_256}},
KE[72](GOST3410_2012_256){7DB049...50AB46},
NONCE[36]{9844D5...CC011F},
N[28](NAT_DETECTION_SOURCE_IP){000000...000000},
N[28](NAT_DETECTION_DESTINATION_IP){7D2124...4E6F10},
N[8](IKEV2_FRAGMENTATION_SUPPORTED),
N[12](SIGNATURE_HASH_ALGORITHMS){STREEBOG_256, STREEBOG_512}
(14) Sends message, peer receives message
10.111.10.171:54294->10.111.15.45:500 [264]
00000000: 92 80 e0 82 2e 75 87 78 00 00 00 00 00 00 00 00
00000010: 21 20 22 08 00 00 00 00 00 00 01 08 22 00 00 34
00000020: 00 00 00 30 01 01 00 05 03 00 00 08 01 00 00 20
00000030: 03 00 00 08 01 00 00 21 03 00 00 08 02 00 00 09
00000040: 03 00 00 08 04 00 00 22 00 00 00 08 04 00 00 21
00000050: 28 00 00 48 00 21 00 00 7d b0 49 81 88 6d 1b 02
00000060: b2 a6 35 c5 8b ea 90 8c 3e 16 de e5 43 13 22 0b
00000070: ad f5 89 9f 7f 85 54 2d 3e db 1e de 85 f7 d5 5d
00000080: 6f 83 c5 d0 31 bd 31 49 dd 29 c5 16 16 7d ec 86
00000090: 16 d8 85 e6 e4 50 ab 46 29 00 00 24 98 44 d5 40
000000A0: ef 89 46 f4 55 20 0a 55 73 dc ad 73 dd 2a 6f a8
000000B0: 31 f8 49 05 f5 8e 17 a2 6c cc 01 1f 29 00 00 1c
000000C0: 00 00 40 04 00 00 00 00 00 00 00 00 00 00 00 00
000000D0: 00 00 00 00 00 00 00 00 29 00 00 1c 00 00 40 05
000000E0: 7d 21 24 87 89 d7 95 71 bd a2 2d 22 9d 51 d0 71
000000F0: e9 4e 6f 10 29 00 00 08 00 00 40 2e 00 00 00 0c
00000100: 00 00 40 2f 00 06 00 07
Responder's actions:
(15) Parses received message
Smyslov Expires 9 June 2023 [Page 81]
Internet-Draft GOST algorithms in IKEv2 December 2022
IKE SA Init
9280E0822E758778.0000000000000000.00000000 IKEv2 I->R[264]
SA[52]{
P[48](#1:IKE::5#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
ENCR_MAGMA_MGM_KTREE,
PRF=PRF_HMAC_STREEBOG_512,
KE=GOST3410_2012_512,
GOST3410_2012_256}},
KE[72](GOST3410_2012_256){7DB049...50AB46},
NONCE[36]{9844D5...CC011F},
N[28](NAT_DETECTION_SOURCE_IP){000000...000000},
N[28](NAT_DETECTION_DESTINATION_IP){7D2124...4E6F10},
N[8](IKEV2_FRAGMENTATION_SUPPORTED),
N[12](SIGNATURE_HASH_ALGORITHMS){STREEBOG_256, STREEBOG_512}
(16) Generates random SPIr for IKE SA
00000000: db 57 8d 97 de 11 9d 1e
(17) Generates random IKE nonce Nr
00000000: 6c de 24 c1 2c 0a 10 d5 c3 fe 55 e8 7e 90 30 66
00000010: ee 54 5b 24 1c 3c 01 dd b3 98 06 ae d3 b5 00 48
(18) Generates ephemeral private key
00000000: 46 fd 19 da 1c 77 e8 4c 12 69 cf c8 a2 2a 0b e9
00000010: 70 db c1 2c 9f 6d 88 0a 70 71 22 03 68 c6 fd 2d
(19) Computes public key
00000000: 49 c2 40 f6 ac 35 f1 70 a7 c2 37 5e 9a 78 3c 09
00000010: 59 8d 55 3b 30 5b 64 58 db 2f 3c 36 f4 b1 db ad
00000020: ff c8 f4 b2 bd 14 cf 96 5b b2 d6 80 51 69 67 06
00000030: bd 16 39 0e 6d 07 83 e4 9d ed fd 04 f1 9e 07 a2
(20) Computes hash of CA public key
00000000: 5e 9e 50 5f 58 b0 a5 7a 33 45 83 49 66 0f 1c 3c
00000010: 7a 67 71 98
(21) Creates message
Smyslov Expires 9 June 2023 [Page 82]
Internet-Draft GOST algorithms in IKEv2 December 2022
IKE SA Init
9280E0822E758778.DB578D97DE119D1E.00000000 IKEv2 I<=R[273]
SA[36]{
P[32](#1:IKE::3#){
Encryption=ENCR_MAGMA_MGM_KTREE,
PRF=PRF_HMAC_STREEBOG_512,
KE=GOST3410_2012_256}},
KE[72](GOST3410_2012_256){49C240...9E07A2},
NONCE[36]{6CDE24...B50048},
N[28](NAT_DETECTION_SOURCE_IP){A4DCA3...2F5B3F},
N[28](NAT_DETECTION_DESTINATION_IP){BA7D7A...7AB7C9},
CERTREQ[25](X.509 Cert){5E9E50...677198},
N[8](IKEV2_FRAGMENTATION_SUPPORTED),
N[12](SIGNATURE_HASH_ALGORITHMS){STREEBOG_256, STREEBOG_512}
(22) Sends message, peer receives message
10.111.10.171:54294<-10.111.15.45:500 [273]
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 21 20 22 20 00 00 00 00 00 00 01 11 22 00 00 24
00000020: 00 00 00 20 01 01 00 03 03 00 00 08 01 00 00 21
00000030: 03 00 00 08 02 00 00 09 00 00 00 08 04 00 00 21
00000040: 28 00 00 48 00 21 00 00 49 c2 40 f6 ac 35 f1 70
00000050: a7 c2 37 5e 9a 78 3c 09 59 8d 55 3b 30 5b 64 58
00000060: db 2f 3c 36 f4 b1 db ad ff c8 f4 b2 bd 14 cf 96
00000070: 5b b2 d6 80 51 69 67 06 bd 16 39 0e 6d 07 83 e4
00000080: 9d ed fd 04 f1 9e 07 a2 29 00 00 24 6c de 24 c1
00000090: 2c 0a 10 d5 c3 fe 55 e8 7e 90 30 66 ee 54 5b 24
000000A0: 1c 3c 01 dd b3 98 06 ae d3 b5 00 48 29 00 00 1c
000000B0: 00 00 40 04 a4 dc a3 62 54 e8 4b 53 2b ff e7 d2
000000C0: 26 83 f3 8f 28 2f 5b 3f 26 00 00 1c 00 00 40 05
000000D0: ba 7d 7a b8 48 82 72 f6 30 91 b6 ae 2b dd fb 48
000000E0: ba 7a b7 c9 29 00 00 19 04 5e 9e 50 5f 58 b0 a5
000000F0: 7a 33 45 83 49 66 0f 1c 3c 7a 67 71 98 29 00 00
00000100: 08 00 00 40 2e 00 00 00 0c 00 00 40 2f 00 06 00
00000110: 07
Initiator's actions:
(23) Parses received message
Smyslov Expires 9 June 2023 [Page 83]
Internet-Draft GOST algorithms in IKEv2 December 2022
IKE SA Init
9280E0822E758778.DB578D97DE119D1E.00000000 IKEv2 R=>I[273]
SA[36]{
P[32](#1:IKE::3#){
Encryption=ENCR_MAGMA_MGM_KTREE,
PRF=PRF_HMAC_STREEBOG_512,
KE=GOST3410_2012_256}},
KE[72](GOST3410_2012_256){49C240...9E07A2},
NONCE[36]{6CDE24...B50048},
N[28](NAT_DETECTION_SOURCE_IP){A4DCA3...2F5B3F},
N[28](NAT_DETECTION_DESTINATION_IP){BA7D7A...7AB7C9},
CERTREQ[25](X.509 Cert){5E9E50...677198},
N[8](IKEV2_FRAGMENTATION_SUPPORTED),
N[12](SIGNATURE_HASH_ALGORITHMS){STREEBOG_256, STREEBOG_512}
(24) Computes shared key
00000000: bd 04 9d 0f 9c 5f 58 af c7 e4 01 bc 18 59 01 7c
00000010: 88 28 f9 f2 9f 33 01 5d 49 9a 7d 14 74 d4 31 ac
(25) Computes SKEYSEED
00000000: 9b ed 6c 79 64 b3 de 3a e4 9e dd 62 04 5a f0 8b
00000010: 43 88 33 d4 e6 9e 73 16 a1 1a 9e b2 b4 19 13 c5
00000020: d0 6d fb 86 40 11 c3 02 bb e5 a3 b5 e4 4a c4 c0
00000030: 9d 18 c6 94 de c3 c5 14 82 e7 a2 51 fe c4 98 ca
(26) Computes SK_d
00000000: c2 21 15 fd d3 99 3b 2a 43 60 c4 59 34 b0 be 3f
00000010: 53 ef 6e b1 dd 88 ad 72 55 dd 83 22 5c 6f e1 d6
00000020: 1f 1e ab 06 f9 41 cb c8 ea f9 dc fc 19 a0 2d bf
00000030: 9a 0a 3f 3a 9a 45 1f 08 b6 a9 2c 62 52 b7 26 34
(27) Computes SK_ei
00000000: 18 4e 4e 0f 36 28 bf 3c 9c 04 8e 93 bf a0 77 53
00000010: 91 34 12 81 42 e6 4e 62 7f db a5 ed 98 60 50 ff
00000020: b4 e1 3e 23
(28) Computes SK_er
00000000: e9 27 59 2f 09 49 68 1e 0e 62 db c6 19 06 73 13
00000010: cf da 5c 02 27 3e 4a b4 78 98 b4 86 d0 e9 34 f4
00000020: a5 bb 18 2f
(29) Computes SK_pi
Smyslov Expires 9 June 2023 [Page 84]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 30 2c 10 8d 0f 61 47 00 f1 40 4f a9 4f af b5 30
00000010: 11 ba 5f 24 39 32 85 12 4e 7e 71 75 50 15 a6 93
00000020: c3 d0 5e 40 2e 21 8e b1 59 09 cd a4 eb b4 91 68
00000030: 29 42 fe e2 d8 76 8f a6 96 55 1f ab 6c 9b 00 f8
(30) Computes SK_pr
00000000: 6f 81 72 cb 96 58 fb 0e 17 70 b6 b9 1f a9 69 a9
00000010: fc c7 27 4f b4 e1 85 90 a0 c7 9f f9 72 11 61 2a
00000020: 35 b7 b7 96 d3 6a bb a5 aa b1 b8 34 8d 99 c6 f3
00000030: 2b fc 32 56 c1 94 71 04 55 bd 89 6a bf c3 8b fe
(31) Computes prf(SK_pi, IDi)
00000000: ce e8 8b d1 7e 3c 83 32 eb d1 29 08 de dc 71 f4
00000010: 8f ba 09 b8 ca 5b 10 e2 f4 44 29 5c 97 7b 26 01
00000020: a4 ba 83 c8 ea 40 92 0f 88 18 bd e7 e1 c9 45 cf
00000030: ff 99 48 05 0d f4 93 a6 cd 54 46 d7 eb 7a 52 94
(32) Uses private key for signing (little endian)
00000000: 76 E9 DD B3 F3 A2 08 A2 4E A5 81 9C AE 41 DA B4
00000010: 77 3C 1D D5 DC EB AF E6 58 B1 47 D2 D8 29 CE 71
00000020: 18 A9 85 5D 28 5B 3C E3 23 BD 80 AC 2F 00 CC B6
00000030: 61 4C 42 A1 65 61 02 CF 33 EB 1F 5F 02 CE 8A B9
(33) Uses random number for signing
00000000: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
00000010: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
00000020: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
00000030: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
(34) Computes signature using algorithm id-tc26-signwithdigest-
gost3410-12-512
00000000: 6a 3e 59 0d 72 1e 55 a3 c0 d1 2f 8a 9b 4e 44 10
00000010: 58 59 bd 62 9e e7 12 31 e5 7d 01 53 f3 84 40 dd
00000020: ac 73 ed 09 3a 10 d9 6e 7f eb 80 6c 11 9e 91 f3
00000030: 7c 3c b0 55 f7 4b ec 0e 78 36 10 95 02 09 86 b3
00000040: 27 04 2a 83 3c 89 36 1b 73 cf 7b c9 e0 df a2 07
00000050: 12 1e 69 52 4d 89 1b de 6e 48 d1 34 fa 21 78 22
00000060: 88 2e 30 86 c0 80 0a 2d 74 af 08 ff 35 75 a5 79
00000070: e3 85 40 22 6b a8 42 f6 72 24 bf 29 87 58 a8 20
(35) Computes K1i (i1 = 0)
Smyslov Expires 9 June 2023 [Page 85]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 3c 57 d7 c8 9f 50 98 fc 86 81 d6 8a 4e 5d 83 c6
00000010: 1e 42 e6 e7 60 67 05 8d f5 2e 10 13 12 15 32 58
(36) Computes K2i (i2 = 0)
00000000: 0b 88 0a 1b c8 3e 61 79 82 08 db 13 31 08 63 3c
00000010: 17 62 17 cb 7d 18 ce 70 37 84 85 f4 89 49 d0 06
(37) Computes K3i (i3 = 0)
00000000: 18 63 41 67 49 6e cf 48 56 71 4d aa 42 63 5c 11
00000010: 2e 26 5b e2 7b c7 53 a4 09 82 e5 5a 7e f4 65 4d
(38) Selects SPI for incoming ESP SA
00000000: 6c 0c a5 70
(39) Computes hash of CA public key
00000000: 5e 9e 50 5f 58 b0 a5 7a 33 45 83 49 66 0f 1c 3c
00000010: 7a 67 71 98
(40) Creates message splitting it into 4 fragments
IKE SA Auth
#9280E0822E758778.DB578D97DE119D1E.00000001 IKEv2 R<-I[1847]
E[1819]->4*EF[...]{
IDi[78](DN){CN=IKE Interop Test Client,O=ELVIS-PLUS,C=RU},
CERT[1280](X.509 Cert){308204...A6C40A},
CERTREQ[25](X.509 Cert){5E9E50...677198},
IDr[78](DN){CN=IKE Interop Test Server,O=ELVIS-PLUS,C=RU},
AUTH[149](Sig){id-tc26-signwithdigest-gost3410-12-512[12]:
6A3E59...58A820},
N[8](INITIAL_CONTACT),
N[12](SET_WINDOW_SIZE){4},
CP[16](REQUEST){IP4.Address[0], IP4.DNS[0]},
SA[56]{
P[52](#1:ESP:6C0CA570:5#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
ENCR_MAGMA_MGM_KTREE,
ENCR_KUZNYECHIK_MGM_MAC_KTREE,
ENCR_MAGMA_MGM_MAC_KTREE,
ESN=Off}},
TSi[40](2#){10.111.10.171:icmp:8.0, 0.0.0.0-255.255.255.255},
TSr[40](2#){10.0.0.2:icmp:8.0, 10.0.0.0-10.0.0.255},
N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
N[8](NON_FIRST_FRAGMENTS_ALSO)}
Smyslov Expires 9 June 2023 [Page 86]
Internet-Draft GOST algorithms in IKEv2 December 2022
(41) Composes MGM nonce (fragment 1)
00000000: 00 00 00 00 b4 e1 3e 23
(42) Composes AAD (fragment 1)
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 08 00 00 00 01 00 00 02 20 23 00 02 04
00000020: 00 01 00 04
(43) Composes plaintext (fragment 1)
00000000: 25 00 00 4e 09 00 00 00 30 44 31 20 30 1e 06 03
00000010: 55 04 03 13 17 49 4b 45 20 49 6e 74 65 72 6f 70
00000020: 20 54 65 73 74 20 43 6c 69 65 6e 74 31 13 30 11
00000030: 06 03 55 04 0a 13 0a 45 4c 56 49 53 2d 50 4c 55
00000040: 53 31 0b 30 09 06 03 55 04 06 13 02 52 55 26 00
00000050: 05 00 04 30 82 04 f7 30 82 04 a4 a0 03 02 01 02
00000060: 02 13 7c 00 03 da a8 9e 1e ff 9e 79 05 fb bb 00
00000070: 01 00 03 da a8 30 0a 06 08 2a 85 03 07 01 01 03
00000080: 02 30 82 01 0a 31 18 30 16 06 05 2a 85 03 64 01
00000090: 12 0d 31 32 33 34 35 36 37 38 39 30 31 32 33 31
000000A0: 1a 30 18 06 08 2a 85 03 03 81 03 01 01 12 0c 30
000000B0: 30 31 32 33 34 35 36 37 38 39 30 31 2f 30 2d 06
000000C0: 03 55 04 09 0c 26 d1 83 d0 bb 2e 20 d0 a1 d1 83
000000D0: d1 89 d1 91 d0 b2 d1 81 d0 ba d0 b8 d0 b9 20 d0
000000E0: b2 d0 b0 d0 bb 20 d0 b4 2e 20 31 38 31 0b 30 09
000000F0: 06 03 55 04 06 13 02 52 55 31 19 30 17 06 03 55
00000100: 04 08 0c 10 d0 b3 2e 20 d0 9c d0 be d1 81 d0 ba
00000110: d0 b2 d0 b0 31 15 30 13 06 03 55 04 07 0c 0c d0
00000120: 9c d0 be d1 81 d0 ba d0 b2 d0 b0 31 25 30 23 06
00000130: 03 55 04 0a 0c 1c d0 9e d0 9e d0 9e 20 22 d0 9a
00000140: d0 a0 d0 98 d0 9f d0 a2 d0 9e 2d d0 9f d0 a0 d0
00000150: 9e 22 31 3b 30 39 06 03 55 04 03 0c 32 d0 a2 d0
00000160: b5 d1 81 d1 82 d0 be d0 b2 d1 8b d0 b9 20 d0 a3
00000170: d0 a6 20 d0 9e d0 9e d0 9e 20 22 d0 9a d0 a0 d0
00000180: 98 d0 9f d0 a2 d0 9e 2d d0 9f d0 a0 d0 9e 22 30
00000190: 1e 17 0d 32 31 31 30 30 31 30 36 31 30 31 30 5a
000001A0: 17 0d 32 32 30 31 30 31 30 36 32 30 31 30 5a 30
000001B0: 44 31 20 30 1e 06 03 55 04 03 13 17 49 4b 45 20
000001C0: 49 6e 74 65 72 6f 70 20 54 65 73 74 20 43 6c 69
000001D0: 65 6e 74 31 13 30 11 06 03 55 04 0a 13 0a 45 4c
000001E0: 56 49 53 2d 50 4c 55 53 31 0b 30 00
(44) Encrypts plaintext using K3i as K_msg, resulted in ciphertext
(fragment 1)
Smyslov Expires 9 June 2023 [Page 87]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 03 45 60 11 15 25 f5 45 bb 0e f4 25 26 e2 14 8c
00000010: a7 01 82 f6 9c 6e 42 f1 a3 9b 9e ac a6 dd 0d 9c
00000020: ff 79 15 ed b9 0c 81 a0 b4 29 61 fb 55 1b c1 73
00000030: 4d de 1f b2 5f 1f cb 84 5d 12 24 85 52 c4 f2 1d
00000040: 01 a7 92 ad 55 4d 90 d0 58 d2 1a 5e f6 dc 4e 73
00000050: d4 9b 08 66 d7 64 de 10 e6 75 69 20 e3 7b 6c f0
00000060: 4b 8b ff 60 39 f1 19 31 72 dd c1 09 33 5b 1d 56
00000070: ee 0c 1c 42 d7 f3 04 d3 5b 9a 6e cf 7f b3 1f ac
00000080: 34 a6 ee e0 ac 87 b8 88 99 75 a6 ae dc b5 30 38
00000090: eb 3d 48 fd cc 69 64 f8 c6 61 ce e9 e1 24 ba aa
000000A0: 25 5e e6 ea 8b 0c ef 20 31 bf a9 ae 6d e2 82 d4
000000B0: ab 2c d7 af ca 62 fe bd 7c 8f a9 dc d3 63 05 d7
000000C0: ba 92 56 66 44 ad 5d 9d 1e 9a 27 2e 22 6e 5b 0c
000000D0: af 84 6b c6 a7 cf ca 72 f8 8e d3 a1 bc d4 7c 5b
000000E0: 7e 26 7f b3 05 d8 62 ef ad d6 07 70 d7 4b 33 e4
000000F0: 26 84 e6 eb 5b 65 5c a7 71 29 45 15 d9 b0 83 6a
00000100: 52 5f a9 d8 dd f1 d8 62 c7 d7 3d e9 69 0e c5 b1
00000110: e1 de 20 6c 3d 5f f7 f7 9f f6 a5 7b 4d a5 4e e9
00000120: b4 c4 c2 7d cc 43 62 77 57 37 d3 40 48 b2 c0 5b
00000130: 48 ab d0 94 79 ef 3d 04 e3 d8 6d 42 56 ed cd 94
00000140: b4 23 2c fa f0 6b 39 ad 41 a3 b3 8f ec b8 6c ef
00000150: e1 98 3a b2 fb a8 fd 21 96 8a bf 3a 65 47 8a e9
00000160: 69 60 44 02 2c ec 7a 86 74 fe 1d 9b 08 5e b8 5e
00000170: f8 ca 37 20 5f a7 74 8c 12 88 f2 d8 9e d4 94 29
00000180: c2 db f9 fb 35 a0 cf 21 2b da 8b 9e cc 52 84 eb
00000190: c4 12 39 3e e6 18 fb f7 57 6c b5 1e 10 3d 11 9c
000001A0: 29 9c 41 73 69 d8 d0 9d 71 2b 77 66 87 65 51 19
000001B0: db 27 a0 dd aa 64 ba fd c0 5f e1 4e da 7c 20 fc
000001C0: 8c 13 ab 2d c2 9c 37 9d 7e 51 cb 29 03 10 52 dc
000001D0: f8 09 61 cc 12 9a a0 8e 1b e4 52 f8 72 bd 7a 86
000001E0: db 93 7c 55 b8 1e 7f 21 d4 e6 02 f2
(45) Computes ICV using K3i as K_msg (fragment 1)
00000000: b1 51 cd e6 dc 64 12 1c
(46) Composes IV (fragment 1)
00000000: 00 00 00 00 00 00 00 00
(47) Composes MGM nonce (fragment 2)
00000000: 00 00 00 01 b4 e1 3e 23
(48) Composes AAD (fragment 2)
Smyslov Expires 9 June 2023 [Page 88]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 08 00 00 00 01 00 00 02 20 00 00 02 04
00000020: 00 02 00 04
(49) Composes plaintext (fragment 2)
00000000: 09 06 03 55 04 06 13 02 52 55 30 81 aa 30 21 06
00000010: 08 2a 85 03 07 01 01 01 02 30 15 06 09 2a 85 03
00000020: 07 01 02 01 02 01 06 08 2a 85 03 07 01 01 02 03
00000030: 03 81 84 00 04 81 80 ee 2f 0a 0e 09 1e 7e 04 ef
00000040: ba 5b 62 a2 52 86 e1 9c 24 50 30 50 b0 b4 8a 37
00000050: 35 b5 fc af 28 94 ec b5 9b 92 41 5b 69 e2 c9 ba
00000060: 24 de 6a 72 c4 ef 44 bb 89 a1 05 14 1b 87 3d 6a
00000070: a3 72 3e 17 ca 7f 39 28 ce 16 8b dd 07 52 87 6a
00000080: 0d 77 42 6d 99 2b 46 2c fd 4b b2 7c d7 c7 17 08
00000090: 12 54 63 47 9d 14 3d 61 ed f2 95 ab 11 80 69 02
000000A0: a7 66 60 50 7e a4 53 6d ad 01 49 b2 16 8a 95 1d
000000B0: cf 1a 57 93 56 14 5e a3 82 02 59 30 82 02 55 30
000000C0: 0e 06 03 55 1d 0f 01 01 ff 04 04 03 02 05 a0 30
000000D0: 13 06 03 55 1d 25 04 0c 30 0a 06 08 2b 06 01 05
000000E0: 05 07 03 11 30 1d 06 03 55 1d 0e 04 16 04 14 40
000000F0: 81 b1 d1 18 75 f0 da 6b 3c 50 5f cd 73 1d d9 77
00000100: f2 d7 c1 30 1f 06 03 55 1d 23 04 18 30 16 80 14
00000110: 9b 85 5e fb 81 dc 4d 59 07 51 63 cf be df da 2c
00000120: 7f c9 44 3c 30 82 01 0f 06 03 55 1d 1f 04 82 01
00000130: 06 30 82 01 02 30 81 ff a0 81 fc a0 81 f9 86 81
00000140: b5 68 74 74 70 3a 2f 2f 74 65 73 74 67 6f 73 74
00000150: 32 30 31 32 2e 63 72 79 70 74 6f 70 72 6f 2e 72
00000160: 75 2f 43 65 72 74 45 6e 72 6f 6c 6c 2f 21 30 34
00000170: 32 32 21 30 34 33 35 21 30 34 34 31 21 30 34 34
00000180: 32 21 30 34 33 65 21 30 34 33 32 21 30 34 34 62
00000190: 21 30 34 33 39 25 32 30 21 30 34 32 33 21 30 34
000001A0: 32 36 25 32 30 21 30 34 31 65 21 30 34 31 65 21
000001B0: 30 34 31 65 25 32 30 21 30 30 32 32 21 30 34 31
000001C0: 61 21 30 34 32 30 21 30 34 31 38 21 30 34 31 66
000001D0: 21 30 34 32 32 21 30 34 31 65 2d 21 30 34 31 66
000001E0: 21 30 34 32 30 21 30 34 31 65 21 00
(50) Encrypts plaintext using K3i as K_msg, resulted in ciphertext
(fragment 2)
Smyslov Expires 9 June 2023 [Page 89]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 3c b1 b4 aa 04 56 27 1b 45 04 f7 70 1b 17 16 16
00000010: 85 16 ee b3 88 7d 08 64 2d 24 b8 1d 7e ac c9 72
00000020: 73 07 d3 d9 ef 5d 08 8b 47 97 5a 98 53 00 ec 13
00000030: cc 5a 46 7b 16 a2 14 6a f1 ea 17 71 9b 75 1d 46
00000040: 9d 6d 8c 3a a2 b2 75 c5 c9 4c 16 56 73 03 16 40
00000050: 42 fe a2 5a cc c7 ed 37 91 b1 eb e5 56 2a 01 bc
00000060: a2 83 ac 05 f1 a7 56 e5 f2 bb f4 18 7f 05 82 14
00000070: 70 de af 44 d4 cc a9 0a 95 6d c1 96 11 3d cf e1
00000080: aa 27 f1 87 60 d2 32 c1 1e 91 bf 60 00 5f d3 fb
00000090: a4 55 2e f0 0b 08 14 ed a3 63 54 4c b8 7b 5c 71
000000A0: 69 d1 3b 0c 6c 93 f3 99 2e fe 36 98 90 a1 05 ee
000000B0: 35 d2 da f8 81 59 f5 17 23 33 40 99 99 42 37 b0
000000C0: 0d 94 0a bd 00 cf 1c be 0e d0 13 93 e2 27 5a a5
000000D0: c5 e8 a0 25 5a 2d ad 6c b4 bc 64 37 05 ac cd 22
000000E0: 92 13 83 ab e8 87 93 29 82 dc 47 b4 1c 92 4d 36
000000F0: ef ba 10 3d 42 2d d6 2c d5 6b 95 99 2d 17 61 c4
00000100: c5 13 ed 55 a5 e5 b2 65 ac 25 24 21 c4 25 7f 6f
00000110: 68 fb ce 8f 17 60 e9 ac 9c 52 9f d5 d4 a7 14 35
00000120: 89 a4 1f de 21 a9 51 3c 1d 73 00 10 ba a6 7c 24
00000130: fb b9 20 21 5e df 63 8a c8 1f b1 55 05 5a 70 a8
00000140: b5 f4 23 9e 22 c0 2a 7c a5 11 01 c3 5e 3d 52 2a
00000150: b8 1d c5 19 b5 55 cc 8e f0 8d 6e 93 36 10 cd e3
00000160: c8 a5 a6 2e 90 53 fa 92 64 16 6c 4f da 9b e5 f8
00000170: 91 c5 ea b4 60 64 db ed d5 bc fc 3a 73 62 ce b2
00000180: ff 7a 15 95 0d 77 00 ee 5c a8 c5 89 2f 39 13 59
00000190: dd 52 ea 11 ae 28 82 36 be aa 29 68 4c f6 63 d5
000001A0: 93 a5 54 3d 8f 13 26 0a 87 34 b9 81 1c 2c cd d5
000001B0: 79 3a 65 6d 1c 6e 32 be b0 77 b7 b3 e4 ae b8 72
000001C0: f9 44 59 e9 14 46 67 56 93 ca 70 d1 ac 25 05 62
000001D0: f7 55 c2 9e 2e 11 a7 29 01 24 77 4a 6f 1c ba f6
000001E0: 4a 4f 83 75 29 1e c7 a9 68 29 02 d0
(51) Computes ICV using K3i as K_msg (fragment 2)
00000000: b4 68 c7 4d eb dd bd 92
(52) Composes IV (fragment 2)
00000000: 00 00 00 00 00 00 00 01
(53) Composes MGM nonce (fragment 3)
00000000: 00 00 00 02 b4 e1 3e 23
(54) Composes AAD (fragment 3)
Smyslov Expires 9 June 2023 [Page 90]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 08 00 00 00 01 00 00 02 20 00 00 02 04
00000020: 00 03 00 04
(55) Composes plaintext (fragment 3)
00000000: 30 30 32 32 28 31 29 2e 63 72 6c 86 3f 68 74 74
00000010: 70 3a 2f 2f 74 65 73 74 67 6f 73 74 32 30 31 32
00000020: 2e 63 72 79 70 74 6f 70 72 6f 2e 72 75 2f 43 65
00000030: 72 74 45 6e 72 6f 6c 6c 2f 74 65 73 74 67 6f 73
00000040: 74 32 30 31 32 28 31 29 2e 63 72 6c 30 81 da 06
00000050: 08 2b 06 01 05 05 07 01 01 04 81 cd 30 81 ca 30
00000060: 44 06 08 2b 06 01 05 05 07 30 02 86 38 68 74 74
00000070: 70 3a 2f 2f 74 65 73 74 67 6f 73 74 32 30 31 32
00000080: 2e 63 72 79 70 74 6f 70 72 6f 2e 72 75 2f 43 65
00000090: 72 74 45 6e 72 6f 6c 6c 2f 72 6f 6f 74 32 30 31
000000A0: 38 2e 63 72 74 30 3f 06 08 2b 06 01 05 05 07 30
000000B0: 01 86 33 68 74 74 70 3a 2f 2f 74 65 73 74 67 6f
000000C0: 73 74 32 30 31 32 2e 63 72 79 70 74 6f 70 72 6f
000000D0: 2e 72 75 2f 6f 63 73 70 32 30 31 32 67 2f 6f 63
000000E0: 73 70 2e 73 72 66 30 41 06 08 2b 06 01 05 05 07
000000F0: 30 01 86 35 68 74 74 70 3a 2f 2f 74 65 73 74 67
00000100: 6f 73 74 32 30 31 32 2e 63 72 79 70 74 6f 70 72
00000110: 6f 2e 72 75 2f 6f 63 73 70 32 30 31 32 67 73 74
00000120: 2f 6f 63 73 70 2e 73 72 66 30 0a 06 08 2a 85 03
00000130: 07 01 01 03 02 03 41 00 21 ee 3b e1 fd 0f 36 90
00000140: 92 c4 a2 35 26 e8 dc 4e b8 ef 89 40 70 d2 91 39
00000150: bc 79 a6 e2 f7 c1 06 bd d5 d6 ff 72 a5 6c f2 c0
00000160: c3 75 e9 ca 67 81 c1 93 96 b4 bd 18 12 4c 37 f7
00000170: d9 73 d6 4c 8a a6 c4 0a 24 00 00 19 04 5e 9e 50
00000180: 5f 58 b0 a5 7a 33 45 83 49 66 0f 1c 3c 7a 67 71
00000190: 98 27 00 00 4e 09 00 00 00 30 44 31 20 30 1e 06
000001A0: 03 55 04 03 13 17 49 4b 45 20 49 6e 74 65 72 6f
000001B0: 70 20 54 65 73 74 20 53 65 72 76 65 72 31 13 30
000001C0: 11 06 03 55 04 0a 13 0a 45 4c 56 49 53 2d 50 4c
000001D0: 55 53 31 0b 30 09 06 03 55 04 06 13 02 52 55 29
000001E0: 00 00 95 0e 00 00 00 0c 30 0a 06 00
(56) Encrypts plaintext using K3i as K_msg, resulted in ciphertext
(fragment 3)
Smyslov Expires 9 June 2023 [Page 91]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: e7 72 d9 51 90 b1 a2 bc 81 8d d6 56 bf 7a 81 e0
00000010: 1a a1 70 8b 35 a0 7e 5f e8 df 58 3d 75 5d d2 4c
00000020: 4c ce 17 77 3f 28 9c ca 7a a4 23 23 f0 c7 ff ff
00000030: 98 ee e3 1a 27 39 4d 90 1a b7 5b 44 11 16 11 3a
00000040: ea bf 83 66 da 92 2a 3a 3d bd b5 40 c8 bc f6 ed
00000050: cb 1d 5a 8e 30 f0 06 72 dc 6c da c1 45 7b e8 25
00000060: ca 93 2a b2 fe 4a db 00 90 e3 31 78 26 8d ae c8
00000070: 39 66 80 7d e5 01 5f 21 d6 c3 40 46 19 e4 43 9d
00000080: 23 c6 c1 18 06 49 bd f5 dc 8c 1b 19 b0 60 0c a3
00000090: ad f5 5c 57 e8 8e 37 e6 ea b6 79 11 b8 f1 16 ba
000000A0: a6 d9 09 1f 0d e0 3c 07 b8 ce 9d 11 a3 c6 f7 e4
000000B0: 62 e8 94 7b ad b9 8a 6b 9c f1 f8 43 cf 7e fc 5e
000000C0: 44 ab bf b1 88 f5 67 1e 84 5f 82 63 f3 13 89 55
000000D0: f5 ef 86 c3 db 48 37 f8 26 3c c4 6d a5 fc b5 69
000000E0: 56 0d 2d f3 c0 98 dd e7 53 da 0a 28 87 2f 38 ab
000000F0: a9 ec 60 a6 c4 54 c6 68 e7 6b e3 4b 54 bf b5 82
00000100: 44 c9 b9 45 bc 9e f5 58 d8 76 63 92 cd 52 ec 82
00000110: 80 d6 43 86 10 16 eb 7b 32 e4 ee ba ec 09 b6 4f
00000120: 35 1a bf da d7 de 40 fa b5 d2 40 f2 73 09 2d 52
00000130: 83 bd 56 a6 6b d3 9f 8a c2 c5 66 c6 6b 22 fb 6a
00000140: 00 b2 8a ac 9d 8b fc 8d 41 af 80 92 16 51 e2 cb
00000150: 89 62 9b 77 2b 1e 38 01 df fc 1f 81 2d 95 8b 9e
00000160: 1d 1e ad 9c c0 0d fc 77 6e 35 13 16 26 28 1a 29
00000170: 19 7f f8 08 5a 0f 09 4f 6f ba 7f 4c 5b cd 0c c2
00000180: 71 ab ea 82 a2 d2 d1 1b 17 fd dc c3 54 03 85 14
00000190: f4 90 47 2e 67 d7 93 c3 67 7e 8a f7 43 1a b3 41
000001A0: 32 f7 b0 58 38 6e 24 c8 96 d9 94 d3 54 89 2d 61
000001B0: 10 a9 9c 22 51 52 02 c9 b7 8d cc 5b 28 6d cb 55
000001C0: 5d 2f 97 8a 8f 3f 27 56 73 eb ec 5d e4 64 91 49
000001D0: 3b 88 f2 0a fc ed a5 67 a9 e3 71 ef 31 ce a0 33
000001E0: fc d8 ea 4d 1e 3f dc 89 c8 89 e2 c3
(57) Computes ICV using K3i as K_msg (fragment 3)
00000000: 54 4f 9b aa dd af bd ca
(58) Composes IV (fragment 3)
00000000: 00 00 00 00 00 00 00 02
(59) Composes MGM nonce (fragment 4)
00000000: 00 00 00 03 b4 e1 3e 23
(60) Composes AAD (fragment 4)
Smyslov Expires 9 June 2023 [Page 92]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 08 00 00 00 01 00 00 01 7a 00 00 01 5e
00000020: 00 04 00 04
(61) Composes plaintext (fragment 4)
00000000: 08 2a 85 03 07 01 01 03 03 6a 3e 59 0d 72 1e 55
00000010: a3 c0 d1 2f 8a 9b 4e 44 10 58 59 bd 62 9e e7 12
00000020: 31 e5 7d 01 53 f3 84 40 dd ac 73 ed 09 3a 10 d9
00000030: 6e 7f eb 80 6c 11 9e 91 f3 7c 3c b0 55 f7 4b ec
00000040: 0e 78 36 10 95 02 09 86 b3 27 04 2a 83 3c 89 36
00000050: 1b 73 cf 7b c9 e0 df a2 07 12 1e 69 52 4d 89 1b
00000060: de 6e 48 d1 34 fa 21 78 22 88 2e 30 86 c0 80 0a
00000070: 2d 74 af 08 ff 35 75 a5 79 e3 85 40 22 6b a8 42
00000080: f6 72 24 bf 29 87 58 a8 20 29 00 00 08 00 00 40
00000090: 00 2f 00 00 0c 00 00 40 01 00 00 00 04 21 00 00
000000A0: 10 01 00 00 00 00 01 00 00 00 03 00 00 2c 00 00
000000B0: 38 00 00 00 34 01 03 04 05 6c 0c a5 70 03 00 00
000000C0: 08 01 00 00 20 03 00 00 08 01 00 00 21 03 00 00
000000D0: 08 01 00 00 22 03 00 00 08 01 00 00 23 00 00 00
000000E0: 08 05 00 00 00 2d 00 00 28 02 00 00 00 07 01 00
000000F0: 10 08 00 08 00 0a 6f 0a ab 0a 6f 0a ab 07 00 00
00000100: 10 00 00 ff ff 00 00 00 00 ff ff ff ff 29 00 00
00000110: 28 02 00 00 00 07 01 00 10 08 00 08 00 0a 00 00
00000120: 02 0a 00 00 02 07 00 00 10 00 00 ff ff 0a 00 00
00000130: 00 0a 00 00 ff 29 00 00 08 00 00 40 0a 00 00 00
00000140: 08 00 00 40 0b 00
(62) Encrypts plaintext using K3i as K_msg, resulted in ciphertext
(fragment 4)
Smyslov Expires 9 June 2023 [Page 93]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: e0 8a 0b 04 ee f8 47 c2 52 96 71 9f 9d 39 0c 91
00000010: ea 6a 16 7c 80 31 a0 fd 76 cc c4 f1 8f 1a d3 be
00000020: fa 78 6b df c1 c6 73 83 be 36 69 c4 8a 87 ed 11
00000030: 90 31 a8 fd f9 0a 5c e4 d4 23 c9 e6 b3 96 ac b6
00000040: 8e bd fc 27 58 79 9f cc 8b ac 6b 59 e4 70 4b 05
00000050: 23 16 ed 49 25 f3 de 02 2e ce ae 86 e8 b4 ca b4
00000060: 96 ad 5b f6 2b c2 47 33 6f da f3 97 3c 13 ed 1f
00000070: 7a da 93 b5 69 6a b5 10 93 38 75 ea b7 34 a3 87
00000080: b6 83 c7 da 8a a1 d9 2a 0b 22 e2 ab 63 2b 57 2b
00000090: 88 e3 ea be 7b fc dc 26 ac b8 bb 15 96 f9 c2 f4
000000A0: 60 17 e4 09 18 ae 78 b8 73 02 6b 0e 20 cc b1 cd
000000B0: b4 4d 94 7f f3 16 28 9a d2 bd 26 77 4b a5 85 56
000000C0: b1 81 8b 9c c3 0a 7f 67 fe 6a 61 15 f1 45 66 f3
000000D0: 36 fc a5 bb 1f d7 6d e7 1d 9f 3f b5 cc 60 19 48
000000E0: 17 f7 08 28 1c 58 9f 2b 7a 0b b9 50 bd 02 ea b8
000000F0: 1e 03 1f 52 6a 7a fc e5 b4 6b 00 cf 0d 83 1f d2
00000100: 3f f2 ad 43 d4 86 6e c1 88 d2 87 d6 1f ac a3 30
00000110: 7b c1 5b 6a 3d 4c 20 72 5d 2c ca bf 87 a2 ce 1d
00000120: b3 fa c7 7c 22 cd 66 fc be 49 22 32 17 ee 6e 5e
00000130: 62 c1 ca 12 2b 5d 3d 7b ae b5 3e 53 c5 98 05 1f
00000140: 42 53 49 d1 2c c2
(63) Computes ICV using K3i as K_msg (fragment 4)
00000000: d2 25 f1 d0 38 65 b7 b6
(64) Composes IV (fragment 4)
00000000: 00 00 00 00 00 00 00 03
(65) Sends message fragment (1) , peer receives message fragment (1)
Smyslov Expires 9 June 2023 [Page 94]
Internet-Draft GOST algorithms in IKEv2 December 2022
10.111.10.171:54295->10.111.15.45:4500 [548]
00000000: 00 00 00 00 92 80 e0 82 2e 75 87 78 db 57 8d 97
00000010: de 11 9d 1e 35 20 23 08 00 00 00 01 00 00 02 20
00000020: 23 00 02 04 00 01 00 04 00 00 00 00 00 00 00 00
00000030: 03 45 60 11 15 25 f5 45 bb 0e f4 25 26 e2 14 8c
00000040: a7 01 82 f6 9c 6e 42 f1 a3 9b 9e ac a6 dd 0d 9c
00000050: ff 79 15 ed b9 0c 81 a0 b4 29 61 fb 55 1b c1 73
00000060: 4d de 1f b2 5f 1f cb 84 5d 12 24 85 52 c4 f2 1d
00000070: 01 a7 92 ad 55 4d 90 d0 58 d2 1a 5e f6 dc 4e 73
00000080: d4 9b 08 66 d7 64 de 10 e6 75 69 20 e3 7b 6c f0
00000090: 4b 8b ff 60 39 f1 19 31 72 dd c1 09 33 5b 1d 56
000000A0: ee 0c 1c 42 d7 f3 04 d3 5b 9a 6e cf 7f b3 1f ac
000000B0: 34 a6 ee e0 ac 87 b8 88 99 75 a6 ae dc b5 30 38
000000C0: eb 3d 48 fd cc 69 64 f8 c6 61 ce e9 e1 24 ba aa
000000D0: 25 5e e6 ea 8b 0c ef 20 31 bf a9 ae 6d e2 82 d4
000000E0: ab 2c d7 af ca 62 fe bd 7c 8f a9 dc d3 63 05 d7
000000F0: ba 92 56 66 44 ad 5d 9d 1e 9a 27 2e 22 6e 5b 0c
00000100: af 84 6b c6 a7 cf ca 72 f8 8e d3 a1 bc d4 7c 5b
00000110: 7e 26 7f b3 05 d8 62 ef ad d6 07 70 d7 4b 33 e4
00000120: 26 84 e6 eb 5b 65 5c a7 71 29 45 15 d9 b0 83 6a
00000130: 52 5f a9 d8 dd f1 d8 62 c7 d7 3d e9 69 0e c5 b1
00000140: e1 de 20 6c 3d 5f f7 f7 9f f6 a5 7b 4d a5 4e e9
00000150: b4 c4 c2 7d cc 43 62 77 57 37 d3 40 48 b2 c0 5b
00000160: 48 ab d0 94 79 ef 3d 04 e3 d8 6d 42 56 ed cd 94
00000170: b4 23 2c fa f0 6b 39 ad 41 a3 b3 8f ec b8 6c ef
00000180: e1 98 3a b2 fb a8 fd 21 96 8a bf 3a 65 47 8a e9
00000190: 69 60 44 02 2c ec 7a 86 74 fe 1d 9b 08 5e b8 5e
000001A0: f8 ca 37 20 5f a7 74 8c 12 88 f2 d8 9e d4 94 29
000001B0: c2 db f9 fb 35 a0 cf 21 2b da 8b 9e cc 52 84 eb
000001C0: c4 12 39 3e e6 18 fb f7 57 6c b5 1e 10 3d 11 9c
000001D0: 29 9c 41 73 69 d8 d0 9d 71 2b 77 66 87 65 51 19
000001E0: db 27 a0 dd aa 64 ba fd c0 5f e1 4e da 7c 20 fc
000001F0: 8c 13 ab 2d c2 9c 37 9d 7e 51 cb 29 03 10 52 dc
00000200: f8 09 61 cc 12 9a a0 8e 1b e4 52 f8 72 bd 7a 86
00000210: db 93 7c 55 b8 1e 7f 21 d4 e6 02 f2 b1 51 cd e6
00000220: dc 64 12 1c
(66) Sends message fragment (2) , peer receives message fragment (2)
Smyslov Expires 9 June 2023 [Page 95]
Internet-Draft GOST algorithms in IKEv2 December 2022
10.111.10.171:54295->10.111.15.45:4500 [548]
00000000: 00 00 00 00 92 80 e0 82 2e 75 87 78 db 57 8d 97
00000010: de 11 9d 1e 35 20 23 08 00 00 00 01 00 00 02 20
00000020: 00 00 02 04 00 02 00 04 00 00 00 00 00 00 00 01
00000030: 3c b1 b4 aa 04 56 27 1b 45 04 f7 70 1b 17 16 16
00000040: 85 16 ee b3 88 7d 08 64 2d 24 b8 1d 7e ac c9 72
00000050: 73 07 d3 d9 ef 5d 08 8b 47 97 5a 98 53 00 ec 13
00000060: cc 5a 46 7b 16 a2 14 6a f1 ea 17 71 9b 75 1d 46
00000070: 9d 6d 8c 3a a2 b2 75 c5 c9 4c 16 56 73 03 16 40
00000080: 42 fe a2 5a cc c7 ed 37 91 b1 eb e5 56 2a 01 bc
00000090: a2 83 ac 05 f1 a7 56 e5 f2 bb f4 18 7f 05 82 14
000000A0: 70 de af 44 d4 cc a9 0a 95 6d c1 96 11 3d cf e1
000000B0: aa 27 f1 87 60 d2 32 c1 1e 91 bf 60 00 5f d3 fb
000000C0: a4 55 2e f0 0b 08 14 ed a3 63 54 4c b8 7b 5c 71
000000D0: 69 d1 3b 0c 6c 93 f3 99 2e fe 36 98 90 a1 05 ee
000000E0: 35 d2 da f8 81 59 f5 17 23 33 40 99 99 42 37 b0
000000F0: 0d 94 0a bd 00 cf 1c be 0e d0 13 93 e2 27 5a a5
00000100: c5 e8 a0 25 5a 2d ad 6c b4 bc 64 37 05 ac cd 22
00000110: 92 13 83 ab e8 87 93 29 82 dc 47 b4 1c 92 4d 36
00000120: ef ba 10 3d 42 2d d6 2c d5 6b 95 99 2d 17 61 c4
00000130: c5 13 ed 55 a5 e5 b2 65 ac 25 24 21 c4 25 7f 6f
00000140: 68 fb ce 8f 17 60 e9 ac 9c 52 9f d5 d4 a7 14 35
00000150: 89 a4 1f de 21 a9 51 3c 1d 73 00 10 ba a6 7c 24
00000160: fb b9 20 21 5e df 63 8a c8 1f b1 55 05 5a 70 a8
00000170: b5 f4 23 9e 22 c0 2a 7c a5 11 01 c3 5e 3d 52 2a
00000180: b8 1d c5 19 b5 55 cc 8e f0 8d 6e 93 36 10 cd e3
00000190: c8 a5 a6 2e 90 53 fa 92 64 16 6c 4f da 9b e5 f8
000001A0: 91 c5 ea b4 60 64 db ed d5 bc fc 3a 73 62 ce b2
000001B0: ff 7a 15 95 0d 77 00 ee 5c a8 c5 89 2f 39 13 59
000001C0: dd 52 ea 11 ae 28 82 36 be aa 29 68 4c f6 63 d5
000001D0: 93 a5 54 3d 8f 13 26 0a 87 34 b9 81 1c 2c cd d5
000001E0: 79 3a 65 6d 1c 6e 32 be b0 77 b7 b3 e4 ae b8 72
000001F0: f9 44 59 e9 14 46 67 56 93 ca 70 d1 ac 25 05 62
00000200: f7 55 c2 9e 2e 11 a7 29 01 24 77 4a 6f 1c ba f6
00000210: 4a 4f 83 75 29 1e c7 a9 68 29 02 d0 b4 68 c7 4d
00000220: eb dd bd 92
(67) Sends message fragment (3) , peer receives message fragment (3)
Smyslov Expires 9 June 2023 [Page 96]
Internet-Draft GOST algorithms in IKEv2 December 2022
10.111.10.171:54295->10.111.15.45:4500 [548]
00000000: 00 00 00 00 92 80 e0 82 2e 75 87 78 db 57 8d 97
00000010: de 11 9d 1e 35 20 23 08 00 00 00 01 00 00 02 20
00000020: 00 00 02 04 00 03 00 04 00 00 00 00 00 00 00 02
00000030: e7 72 d9 51 90 b1 a2 bc 81 8d d6 56 bf 7a 81 e0
00000040: 1a a1 70 8b 35 a0 7e 5f e8 df 58 3d 75 5d d2 4c
00000050: 4c ce 17 77 3f 28 9c ca 7a a4 23 23 f0 c7 ff ff
00000060: 98 ee e3 1a 27 39 4d 90 1a b7 5b 44 11 16 11 3a
00000070: ea bf 83 66 da 92 2a 3a 3d bd b5 40 c8 bc f6 ed
00000080: cb 1d 5a 8e 30 f0 06 72 dc 6c da c1 45 7b e8 25
00000090: ca 93 2a b2 fe 4a db 00 90 e3 31 78 26 8d ae c8
000000A0: 39 66 80 7d e5 01 5f 21 d6 c3 40 46 19 e4 43 9d
000000B0: 23 c6 c1 18 06 49 bd f5 dc 8c 1b 19 b0 60 0c a3
000000C0: ad f5 5c 57 e8 8e 37 e6 ea b6 79 11 b8 f1 16 ba
000000D0: a6 d9 09 1f 0d e0 3c 07 b8 ce 9d 11 a3 c6 f7 e4
000000E0: 62 e8 94 7b ad b9 8a 6b 9c f1 f8 43 cf 7e fc 5e
000000F0: 44 ab bf b1 88 f5 67 1e 84 5f 82 63 f3 13 89 55
00000100: f5 ef 86 c3 db 48 37 f8 26 3c c4 6d a5 fc b5 69
00000110: 56 0d 2d f3 c0 98 dd e7 53 da 0a 28 87 2f 38 ab
00000120: a9 ec 60 a6 c4 54 c6 68 e7 6b e3 4b 54 bf b5 82
00000130: 44 c9 b9 45 bc 9e f5 58 d8 76 63 92 cd 52 ec 82
00000140: 80 d6 43 86 10 16 eb 7b 32 e4 ee ba ec 09 b6 4f
00000150: 35 1a bf da d7 de 40 fa b5 d2 40 f2 73 09 2d 52
00000160: 83 bd 56 a6 6b d3 9f 8a c2 c5 66 c6 6b 22 fb 6a
00000170: 00 b2 8a ac 9d 8b fc 8d 41 af 80 92 16 51 e2 cb
00000180: 89 62 9b 77 2b 1e 38 01 df fc 1f 81 2d 95 8b 9e
00000190: 1d 1e ad 9c c0 0d fc 77 6e 35 13 16 26 28 1a 29
000001A0: 19 7f f8 08 5a 0f 09 4f 6f ba 7f 4c 5b cd 0c c2
000001B0: 71 ab ea 82 a2 d2 d1 1b 17 fd dc c3 54 03 85 14
000001C0: f4 90 47 2e 67 d7 93 c3 67 7e 8a f7 43 1a b3 41
000001D0: 32 f7 b0 58 38 6e 24 c8 96 d9 94 d3 54 89 2d 61
000001E0: 10 a9 9c 22 51 52 02 c9 b7 8d cc 5b 28 6d cb 55
000001F0: 5d 2f 97 8a 8f 3f 27 56 73 eb ec 5d e4 64 91 49
00000200: 3b 88 f2 0a fc ed a5 67 a9 e3 71 ef 31 ce a0 33
00000210: fc d8 ea 4d 1e 3f dc 89 c8 89 e2 c3 54 4f 9b aa
00000220: dd af bd ca
(68) Sends message fragment (4) , peer receives message fragment (4)
Smyslov Expires 9 June 2023 [Page 97]
Internet-Draft GOST algorithms in IKEv2 December 2022
10.111.10.171:54295->10.111.15.45:4500 [382]
00000000: 00 00 00 00 92 80 e0 82 2e 75 87 78 db 57 8d 97
00000010: de 11 9d 1e 35 20 23 08 00 00 00 01 00 00 01 7a
00000020: 00 00 01 5e 00 04 00 04 00 00 00 00 00 00 00 03
00000030: e0 8a 0b 04 ee f8 47 c2 52 96 71 9f 9d 39 0c 91
00000040: ea 6a 16 7c 80 31 a0 fd 76 cc c4 f1 8f 1a d3 be
00000050: fa 78 6b df c1 c6 73 83 be 36 69 c4 8a 87 ed 11
00000060: 90 31 a8 fd f9 0a 5c e4 d4 23 c9 e6 b3 96 ac b6
00000070: 8e bd fc 27 58 79 9f cc 8b ac 6b 59 e4 70 4b 05
00000080: 23 16 ed 49 25 f3 de 02 2e ce ae 86 e8 b4 ca b4
00000090: 96 ad 5b f6 2b c2 47 33 6f da f3 97 3c 13 ed 1f
000000A0: 7a da 93 b5 69 6a b5 10 93 38 75 ea b7 34 a3 87
000000B0: b6 83 c7 da 8a a1 d9 2a 0b 22 e2 ab 63 2b 57 2b
000000C0: 88 e3 ea be 7b fc dc 26 ac b8 bb 15 96 f9 c2 f4
000000D0: 60 17 e4 09 18 ae 78 b8 73 02 6b 0e 20 cc b1 cd
000000E0: b4 4d 94 7f f3 16 28 9a d2 bd 26 77 4b a5 85 56
000000F0: b1 81 8b 9c c3 0a 7f 67 fe 6a 61 15 f1 45 66 f3
00000100: 36 fc a5 bb 1f d7 6d e7 1d 9f 3f b5 cc 60 19 48
00000110: 17 f7 08 28 1c 58 9f 2b 7a 0b b9 50 bd 02 ea b8
00000120: 1e 03 1f 52 6a 7a fc e5 b4 6b 00 cf 0d 83 1f d2
00000130: 3f f2 ad 43 d4 86 6e c1 88 d2 87 d6 1f ac a3 30
00000140: 7b c1 5b 6a 3d 4c 20 72 5d 2c ca bf 87 a2 ce 1d
00000150: b3 fa c7 7c 22 cd 66 fc be 49 22 32 17 ee 6e 5e
00000160: 62 c1 ca 12 2b 5d 3d 7b ae b5 3e 53 c5 98 05 1f
00000170: 42 53 49 d1 2c c2 d2 25 f1 d0 38 65 b7 b6
Responder's actions:
(69) Computes shared key
00000000: bd 04 9d 0f 9c 5f 58 af c7 e4 01 bc 18 59 01 7c
00000010: 88 28 f9 f2 9f 33 01 5d 49 9a 7d 14 74 d4 31 ac
(70) Computes SKEYSEED
00000000: 9b ed 6c 79 64 b3 de 3a e4 9e dd 62 04 5a f0 8b
00000010: 43 88 33 d4 e6 9e 73 16 a1 1a 9e b2 b4 19 13 c5
00000020: d0 6d fb 86 40 11 c3 02 bb e5 a3 b5 e4 4a c4 c0
00000030: 9d 18 c6 94 de c3 c5 14 82 e7 a2 51 fe c4 98 ca
(71) Computes SK_d
00000000: c2 21 15 fd d3 99 3b 2a 43 60 c4 59 34 b0 be 3f
00000010: 53 ef 6e b1 dd 88 ad 72 55 dd 83 22 5c 6f e1 d6
00000020: 1f 1e ab 06 f9 41 cb c8 ea f9 dc fc 19 a0 2d bf
00000030: 9a 0a 3f 3a 9a 45 1f 08 b6 a9 2c 62 52 b7 26 34
Smyslov Expires 9 June 2023 [Page 98]
Internet-Draft GOST algorithms in IKEv2 December 2022
(72) Computes SK_ei
00000000: 18 4e 4e 0f 36 28 bf 3c 9c 04 8e 93 bf a0 77 53
00000010: 91 34 12 81 42 e6 4e 62 7f db a5 ed 98 60 50 ff
00000020: b4 e1 3e 23
(73) Computes SK_er
00000000: e9 27 59 2f 09 49 68 1e 0e 62 db c6 19 06 73 13
00000010: cf da 5c 02 27 3e 4a b4 78 98 b4 86 d0 e9 34 f4
00000020: a5 bb 18 2f
(74) Computes SK_pi
00000000: 30 2c 10 8d 0f 61 47 00 f1 40 4f a9 4f af b5 30
00000010: 11 ba 5f 24 39 32 85 12 4e 7e 71 75 50 15 a6 93
00000020: c3 d0 5e 40 2e 21 8e b1 59 09 cd a4 eb b4 91 68
00000030: 29 42 fe e2 d8 76 8f a6 96 55 1f ab 6c 9b 00 f8
(75) Computes SK_pr
00000000: 6f 81 72 cb 96 58 fb 0e 17 70 b6 b9 1f a9 69 a9
00000010: fc c7 27 4f b4 e1 85 90 a0 c7 9f f9 72 11 61 2a
00000020: 35 b7 b7 96 d3 6a bb a5 aa b1 b8 34 8d 99 c6 f3
00000030: 2b fc 32 56 c1 94 71 04 55 bd 89 6a bf c3 8b fe
(76) Extracts IV from message (fragment 1)
00000000: 00 00 00 00 00 00 00 00
(77) Computes K1i (i1 = 0)
00000000: 3c 57 d7 c8 9f 50 98 fc 86 81 d6 8a 4e 5d 83 c6
00000010: 1e 42 e6 e7 60 67 05 8d f5 2e 10 13 12 15 32 58
(78) Computes K2i (i2 = 0)
00000000: 0b 88 0a 1b c8 3e 61 79 82 08 db 13 31 08 63 3c
00000010: 17 62 17 cb 7d 18 ce 70 37 84 85 f4 89 49 d0 06
(79) Computes K3i (i3 = 0)
00000000: 18 63 41 67 49 6e cf 48 56 71 4d aa 42 63 5c 11
00000010: 2e 26 5b e2 7b c7 53 a4 09 82 e5 5a 7e f4 65 4d
(80) Composes MGM nonce (fragment 1)
00000000: 00 00 00 00 b4 e1 3e 23
Smyslov Expires 9 June 2023 [Page 99]
Internet-Draft GOST algorithms in IKEv2 December 2022
(81) Extracts ICV from message (fragment 1)
00000000: b1 51 cd e6 dc 64 12 1c
(82) Extracts AAD from message (fragment 1)
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 08 00 00 00 01 00 00 02 20 23 00 02 04
00000020: 00 01 00 04
(83) Extracts ciphertext from message (fragment 1)
00000000: 03 45 60 11 15 25 f5 45 bb 0e f4 25 26 e2 14 8c
00000010: a7 01 82 f6 9c 6e 42 f1 a3 9b 9e ac a6 dd 0d 9c
00000020: ff 79 15 ed b9 0c 81 a0 b4 29 61 fb 55 1b c1 73
00000030: 4d de 1f b2 5f 1f cb 84 5d 12 24 85 52 c4 f2 1d
00000040: 01 a7 92 ad 55 4d 90 d0 58 d2 1a 5e f6 dc 4e 73
00000050: d4 9b 08 66 d7 64 de 10 e6 75 69 20 e3 7b 6c f0
00000060: 4b 8b ff 60 39 f1 19 31 72 dd c1 09 33 5b 1d 56
00000070: ee 0c 1c 42 d7 f3 04 d3 5b 9a 6e cf 7f b3 1f ac
00000080: 34 a6 ee e0 ac 87 b8 88 99 75 a6 ae dc b5 30 38
00000090: eb 3d 48 fd cc 69 64 f8 c6 61 ce e9 e1 24 ba aa
000000A0: 25 5e e6 ea 8b 0c ef 20 31 bf a9 ae 6d e2 82 d4
000000B0: ab 2c d7 af ca 62 fe bd 7c 8f a9 dc d3 63 05 d7
000000C0: ba 92 56 66 44 ad 5d 9d 1e 9a 27 2e 22 6e 5b 0c
000000D0: af 84 6b c6 a7 cf ca 72 f8 8e d3 a1 bc d4 7c 5b
000000E0: 7e 26 7f b3 05 d8 62 ef ad d6 07 70 d7 4b 33 e4
000000F0: 26 84 e6 eb 5b 65 5c a7 71 29 45 15 d9 b0 83 6a
00000100: 52 5f a9 d8 dd f1 d8 62 c7 d7 3d e9 69 0e c5 b1
00000110: e1 de 20 6c 3d 5f f7 f7 9f f6 a5 7b 4d a5 4e e9
00000120: b4 c4 c2 7d cc 43 62 77 57 37 d3 40 48 b2 c0 5b
00000130: 48 ab d0 94 79 ef 3d 04 e3 d8 6d 42 56 ed cd 94
00000140: b4 23 2c fa f0 6b 39 ad 41 a3 b3 8f ec b8 6c ef
00000150: e1 98 3a b2 fb a8 fd 21 96 8a bf 3a 65 47 8a e9
00000160: 69 60 44 02 2c ec 7a 86 74 fe 1d 9b 08 5e b8 5e
00000170: f8 ca 37 20 5f a7 74 8c 12 88 f2 d8 9e d4 94 29
00000180: c2 db f9 fb 35 a0 cf 21 2b da 8b 9e cc 52 84 eb
00000190: c4 12 39 3e e6 18 fb f7 57 6c b5 1e 10 3d 11 9c
000001A0: 29 9c 41 73 69 d8 d0 9d 71 2b 77 66 87 65 51 19
000001B0: db 27 a0 dd aa 64 ba fd c0 5f e1 4e da 7c 20 fc
000001C0: 8c 13 ab 2d c2 9c 37 9d 7e 51 cb 29 03 10 52 dc
000001D0: f8 09 61 cc 12 9a a0 8e 1b e4 52 f8 72 bd 7a 86
000001E0: db 93 7c 55 b8 1e 7f 21 d4 e6 02 f2
(84) Decrypts ciphertext and verifies ICV using K3i as K_msg,
resulted in plaintext (fragment 1)
Smyslov Expires 9 June 2023 [Page 100]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 25 00 00 4e 09 00 00 00 30 44 31 20 30 1e 06 03
00000010: 55 04 03 13 17 49 4b 45 20 49 6e 74 65 72 6f 70
00000020: 20 54 65 73 74 20 43 6c 69 65 6e 74 31 13 30 11
00000030: 06 03 55 04 0a 13 0a 45 4c 56 49 53 2d 50 4c 55
00000040: 53 31 0b 30 09 06 03 55 04 06 13 02 52 55 26 00
00000050: 05 00 04 30 82 04 f7 30 82 04 a4 a0 03 02 01 02
00000060: 02 13 7c 00 03 da a8 9e 1e ff 9e 79 05 fb bb 00
00000070: 01 00 03 da a8 30 0a 06 08 2a 85 03 07 01 01 03
00000080: 02 30 82 01 0a 31 18 30 16 06 05 2a 85 03 64 01
00000090: 12 0d 31 32 33 34 35 36 37 38 39 30 31 32 33 31
000000A0: 1a 30 18 06 08 2a 85 03 03 81 03 01 01 12 0c 30
000000B0: 30 31 32 33 34 35 36 37 38 39 30 31 2f 30 2d 06
000000C0: 03 55 04 09 0c 26 d1 83 d0 bb 2e 20 d0 a1 d1 83
000000D0: d1 89 d1 91 d0 b2 d1 81 d0 ba d0 b8 d0 b9 20 d0
000000E0: b2 d0 b0 d0 bb 20 d0 b4 2e 20 31 38 31 0b 30 09
000000F0: 06 03 55 04 06 13 02 52 55 31 19 30 17 06 03 55
00000100: 04 08 0c 10 d0 b3 2e 20 d0 9c d0 be d1 81 d0 ba
00000110: d0 b2 d0 b0 31 15 30 13 06 03 55 04 07 0c 0c d0
00000120: 9c d0 be d1 81 d0 ba d0 b2 d0 b0 31 25 30 23 06
00000130: 03 55 04 0a 0c 1c d0 9e d0 9e d0 9e 20 22 d0 9a
00000140: d0 a0 d0 98 d0 9f d0 a2 d0 9e 2d d0 9f d0 a0 d0
00000150: 9e 22 31 3b 30 39 06 03 55 04 03 0c 32 d0 a2 d0
00000160: b5 d1 81 d1 82 d0 be d0 b2 d1 8b d0 b9 20 d0 a3
00000170: d0 a6 20 d0 9e d0 9e d0 9e 20 22 d0 9a d0 a0 d0
00000180: 98 d0 9f d0 a2 d0 9e 2d d0 9f d0 a0 d0 9e 22 30
00000190: 1e 17 0d 32 31 31 30 30 31 30 36 31 30 31 30 5a
000001A0: 17 0d 32 32 30 31 30 31 30 36 32 30 31 30 5a 30
000001B0: 44 31 20 30 1e 06 03 55 04 03 13 17 49 4b 45 20
000001C0: 49 6e 74 65 72 6f 70 20 54 65 73 74 20 43 6c 69
000001D0: 65 6e 74 31 13 30 11 06 03 55 04 0a 13 0a 45 4c
000001E0: 56 49 53 2d 50 4c 55 53 31 0b 30 00
(85) Extracts IV from message (fragment 2)
00000000: 00 00 00 00 00 00 00 01
(86) Uses previously computed key K3i
00000000: 18 63 41 67 49 6e cf 48 56 71 4d aa 42 63 5c 11
00000010: 2e 26 5b e2 7b c7 53 a4 09 82 e5 5a 7e f4 65 4d
(87) Composes MGM nonce (fragment 2)
00000000: 00 00 00 01 b4 e1 3e 23
(88) Extracts ICV from message (fragment 2)
00000000: b4 68 c7 4d eb dd bd 92
Smyslov Expires 9 June 2023 [Page 101]
Internet-Draft GOST algorithms in IKEv2 December 2022
(89) Extracts AAD from message (fragment 2)
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 08 00 00 00 01 00 00 02 20 00 00 02 04
00000020: 00 02 00 04
(90) Extracts ciphertext from message (fragment 2)
00000000: 3c b1 b4 aa 04 56 27 1b 45 04 f7 70 1b 17 16 16
00000010: 85 16 ee b3 88 7d 08 64 2d 24 b8 1d 7e ac c9 72
00000020: 73 07 d3 d9 ef 5d 08 8b 47 97 5a 98 53 00 ec 13
00000030: cc 5a 46 7b 16 a2 14 6a f1 ea 17 71 9b 75 1d 46
00000040: 9d 6d 8c 3a a2 b2 75 c5 c9 4c 16 56 73 03 16 40
00000050: 42 fe a2 5a cc c7 ed 37 91 b1 eb e5 56 2a 01 bc
00000060: a2 83 ac 05 f1 a7 56 e5 f2 bb f4 18 7f 05 82 14
00000070: 70 de af 44 d4 cc a9 0a 95 6d c1 96 11 3d cf e1
00000080: aa 27 f1 87 60 d2 32 c1 1e 91 bf 60 00 5f d3 fb
00000090: a4 55 2e f0 0b 08 14 ed a3 63 54 4c b8 7b 5c 71
000000A0: 69 d1 3b 0c 6c 93 f3 99 2e fe 36 98 90 a1 05 ee
000000B0: 35 d2 da f8 81 59 f5 17 23 33 40 99 99 42 37 b0
000000C0: 0d 94 0a bd 00 cf 1c be 0e d0 13 93 e2 27 5a a5
000000D0: c5 e8 a0 25 5a 2d ad 6c b4 bc 64 37 05 ac cd 22
000000E0: 92 13 83 ab e8 87 93 29 82 dc 47 b4 1c 92 4d 36
000000F0: ef ba 10 3d 42 2d d6 2c d5 6b 95 99 2d 17 61 c4
00000100: c5 13 ed 55 a5 e5 b2 65 ac 25 24 21 c4 25 7f 6f
00000110: 68 fb ce 8f 17 60 e9 ac 9c 52 9f d5 d4 a7 14 35
00000120: 89 a4 1f de 21 a9 51 3c 1d 73 00 10 ba a6 7c 24
00000130: fb b9 20 21 5e df 63 8a c8 1f b1 55 05 5a 70 a8
00000140: b5 f4 23 9e 22 c0 2a 7c a5 11 01 c3 5e 3d 52 2a
00000150: b8 1d c5 19 b5 55 cc 8e f0 8d 6e 93 36 10 cd e3
00000160: c8 a5 a6 2e 90 53 fa 92 64 16 6c 4f da 9b e5 f8
00000170: 91 c5 ea b4 60 64 db ed d5 bc fc 3a 73 62 ce b2
00000180: ff 7a 15 95 0d 77 00 ee 5c a8 c5 89 2f 39 13 59
00000190: dd 52 ea 11 ae 28 82 36 be aa 29 68 4c f6 63 d5
000001A0: 93 a5 54 3d 8f 13 26 0a 87 34 b9 81 1c 2c cd d5
000001B0: 79 3a 65 6d 1c 6e 32 be b0 77 b7 b3 e4 ae b8 72
000001C0: f9 44 59 e9 14 46 67 56 93 ca 70 d1 ac 25 05 62
000001D0: f7 55 c2 9e 2e 11 a7 29 01 24 77 4a 6f 1c ba f6
000001E0: 4a 4f 83 75 29 1e c7 a9 68 29 02 d0
(91) Decrypts ciphertext and verifies ICV using K3i as K_msg,
resulted in plaintext (fragment 2)
Smyslov Expires 9 June 2023 [Page 102]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 09 06 03 55 04 06 13 02 52 55 30 81 aa 30 21 06
00000010: 08 2a 85 03 07 01 01 01 02 30 15 06 09 2a 85 03
00000020: 07 01 02 01 02 01 06 08 2a 85 03 07 01 01 02 03
00000030: 03 81 84 00 04 81 80 ee 2f 0a 0e 09 1e 7e 04 ef
00000040: ba 5b 62 a2 52 86 e1 9c 24 50 30 50 b0 b4 8a 37
00000050: 35 b5 fc af 28 94 ec b5 9b 92 41 5b 69 e2 c9 ba
00000060: 24 de 6a 72 c4 ef 44 bb 89 a1 05 14 1b 87 3d 6a
00000070: a3 72 3e 17 ca 7f 39 28 ce 16 8b dd 07 52 87 6a
00000080: 0d 77 42 6d 99 2b 46 2c fd 4b b2 7c d7 c7 17 08
00000090: 12 54 63 47 9d 14 3d 61 ed f2 95 ab 11 80 69 02
000000A0: a7 66 60 50 7e a4 53 6d ad 01 49 b2 16 8a 95 1d
000000B0: cf 1a 57 93 56 14 5e a3 82 02 59 30 82 02 55 30
000000C0: 0e 06 03 55 1d 0f 01 01 ff 04 04 03 02 05 a0 30
000000D0: 13 06 03 55 1d 25 04 0c 30 0a 06 08 2b 06 01 05
000000E0: 05 07 03 11 30 1d 06 03 55 1d 0e 04 16 04 14 40
000000F0: 81 b1 d1 18 75 f0 da 6b 3c 50 5f cd 73 1d d9 77
00000100: f2 d7 c1 30 1f 06 03 55 1d 23 04 18 30 16 80 14
00000110: 9b 85 5e fb 81 dc 4d 59 07 51 63 cf be df da 2c
00000120: 7f c9 44 3c 30 82 01 0f 06 03 55 1d 1f 04 82 01
00000130: 06 30 82 01 02 30 81 ff a0 81 fc a0 81 f9 86 81
00000140: b5 68 74 74 70 3a 2f 2f 74 65 73 74 67 6f 73 74
00000150: 32 30 31 32 2e 63 72 79 70 74 6f 70 72 6f 2e 72
00000160: 75 2f 43 65 72 74 45 6e 72 6f 6c 6c 2f 21 30 34
00000170: 32 32 21 30 34 33 35 21 30 34 34 31 21 30 34 34
00000180: 32 21 30 34 33 65 21 30 34 33 32 21 30 34 34 62
00000190: 21 30 34 33 39 25 32 30 21 30 34 32 33 21 30 34
000001A0: 32 36 25 32 30 21 30 34 31 65 21 30 34 31 65 21
000001B0: 30 34 31 65 25 32 30 21 30 30 32 32 21 30 34 31
000001C0: 61 21 30 34 32 30 21 30 34 31 38 21 30 34 31 66
000001D0: 21 30 34 32 32 21 30 34 31 65 2d 21 30 34 31 66
000001E0: 21 30 34 32 30 21 30 34 31 65 21 00
(92) Extracts IV from message (fragment 3)
00000000: 00 00 00 00 00 00 00 02
(93) Uses previously computed key K3i
00000000: 18 63 41 67 49 6e cf 48 56 71 4d aa 42 63 5c 11
00000010: 2e 26 5b e2 7b c7 53 a4 09 82 e5 5a 7e f4 65 4d
(94) Composes MGM nonce (fragment 3)
00000000: 00 00 00 02 b4 e1 3e 23
(95) Extracts ICV from message (fragment 3)
00000000: 54 4f 9b aa dd af bd ca
Smyslov Expires 9 June 2023 [Page 103]
Internet-Draft GOST algorithms in IKEv2 December 2022
(96) Extracts AAD from message (fragment 3)
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 08 00 00 00 01 00 00 02 20 00 00 02 04
00000020: 00 03 00 04
(97) Extracts ciphertext from message (fragment 3)
00000000: e7 72 d9 51 90 b1 a2 bc 81 8d d6 56 bf 7a 81 e0
00000010: 1a a1 70 8b 35 a0 7e 5f e8 df 58 3d 75 5d d2 4c
00000020: 4c ce 17 77 3f 28 9c ca 7a a4 23 23 f0 c7 ff ff
00000030: 98 ee e3 1a 27 39 4d 90 1a b7 5b 44 11 16 11 3a
00000040: ea bf 83 66 da 92 2a 3a 3d bd b5 40 c8 bc f6 ed
00000050: cb 1d 5a 8e 30 f0 06 72 dc 6c da c1 45 7b e8 25
00000060: ca 93 2a b2 fe 4a db 00 90 e3 31 78 26 8d ae c8
00000070: 39 66 80 7d e5 01 5f 21 d6 c3 40 46 19 e4 43 9d
00000080: 23 c6 c1 18 06 49 bd f5 dc 8c 1b 19 b0 60 0c a3
00000090: ad f5 5c 57 e8 8e 37 e6 ea b6 79 11 b8 f1 16 ba
000000A0: a6 d9 09 1f 0d e0 3c 07 b8 ce 9d 11 a3 c6 f7 e4
000000B0: 62 e8 94 7b ad b9 8a 6b 9c f1 f8 43 cf 7e fc 5e
000000C0: 44 ab bf b1 88 f5 67 1e 84 5f 82 63 f3 13 89 55
000000D0: f5 ef 86 c3 db 48 37 f8 26 3c c4 6d a5 fc b5 69
000000E0: 56 0d 2d f3 c0 98 dd e7 53 da 0a 28 87 2f 38 ab
000000F0: a9 ec 60 a6 c4 54 c6 68 e7 6b e3 4b 54 bf b5 82
00000100: 44 c9 b9 45 bc 9e f5 58 d8 76 63 92 cd 52 ec 82
00000110: 80 d6 43 86 10 16 eb 7b 32 e4 ee ba ec 09 b6 4f
00000120: 35 1a bf da d7 de 40 fa b5 d2 40 f2 73 09 2d 52
00000130: 83 bd 56 a6 6b d3 9f 8a c2 c5 66 c6 6b 22 fb 6a
00000140: 00 b2 8a ac 9d 8b fc 8d 41 af 80 92 16 51 e2 cb
00000150: 89 62 9b 77 2b 1e 38 01 df fc 1f 81 2d 95 8b 9e
00000160: 1d 1e ad 9c c0 0d fc 77 6e 35 13 16 26 28 1a 29
00000170: 19 7f f8 08 5a 0f 09 4f 6f ba 7f 4c 5b cd 0c c2
00000180: 71 ab ea 82 a2 d2 d1 1b 17 fd dc c3 54 03 85 14
00000190: f4 90 47 2e 67 d7 93 c3 67 7e 8a f7 43 1a b3 41
000001A0: 32 f7 b0 58 38 6e 24 c8 96 d9 94 d3 54 89 2d 61
000001B0: 10 a9 9c 22 51 52 02 c9 b7 8d cc 5b 28 6d cb 55
000001C0: 5d 2f 97 8a 8f 3f 27 56 73 eb ec 5d e4 64 91 49
000001D0: 3b 88 f2 0a fc ed a5 67 a9 e3 71 ef 31 ce a0 33
000001E0: fc d8 ea 4d 1e 3f dc 89 c8 89 e2 c3
(98) Decrypts ciphertext and verifies ICV using K3i as K_msg,
resulted in plaintext (fragment 3)
Smyslov Expires 9 June 2023 [Page 104]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 30 30 32 32 28 31 29 2e 63 72 6c 86 3f 68 74 74
00000010: 70 3a 2f 2f 74 65 73 74 67 6f 73 74 32 30 31 32
00000020: 2e 63 72 79 70 74 6f 70 72 6f 2e 72 75 2f 43 65
00000030: 72 74 45 6e 72 6f 6c 6c 2f 74 65 73 74 67 6f 73
00000040: 74 32 30 31 32 28 31 29 2e 63 72 6c 30 81 da 06
00000050: 08 2b 06 01 05 05 07 01 01 04 81 cd 30 81 ca 30
00000060: 44 06 08 2b 06 01 05 05 07 30 02 86 38 68 74 74
00000070: 70 3a 2f 2f 74 65 73 74 67 6f 73 74 32 30 31 32
00000080: 2e 63 72 79 70 74 6f 70 72 6f 2e 72 75 2f 43 65
00000090: 72 74 45 6e 72 6f 6c 6c 2f 72 6f 6f 74 32 30 31
000000A0: 38 2e 63 72 74 30 3f 06 08 2b 06 01 05 05 07 30
000000B0: 01 86 33 68 74 74 70 3a 2f 2f 74 65 73 74 67 6f
000000C0: 73 74 32 30 31 32 2e 63 72 79 70 74 6f 70 72 6f
000000D0: 2e 72 75 2f 6f 63 73 70 32 30 31 32 67 2f 6f 63
000000E0: 73 70 2e 73 72 66 30 41 06 08 2b 06 01 05 05 07
000000F0: 30 01 86 35 68 74 74 70 3a 2f 2f 74 65 73 74 67
00000100: 6f 73 74 32 30 31 32 2e 63 72 79 70 74 6f 70 72
00000110: 6f 2e 72 75 2f 6f 63 73 70 32 30 31 32 67 73 74
00000120: 2f 6f 63 73 70 2e 73 72 66 30 0a 06 08 2a 85 03
00000130: 07 01 01 03 02 03 41 00 21 ee 3b e1 fd 0f 36 90
00000140: 92 c4 a2 35 26 e8 dc 4e b8 ef 89 40 70 d2 91 39
00000150: bc 79 a6 e2 f7 c1 06 bd d5 d6 ff 72 a5 6c f2 c0
00000160: c3 75 e9 ca 67 81 c1 93 96 b4 bd 18 12 4c 37 f7
00000170: d9 73 d6 4c 8a a6 c4 0a 24 00 00 19 04 5e 9e 50
00000180: 5f 58 b0 a5 7a 33 45 83 49 66 0f 1c 3c 7a 67 71
00000190: 98 27 00 00 4e 09 00 00 00 30 44 31 20 30 1e 06
000001A0: 03 55 04 03 13 17 49 4b 45 20 49 6e 74 65 72 6f
000001B0: 70 20 54 65 73 74 20 53 65 72 76 65 72 31 13 30
000001C0: 11 06 03 55 04 0a 13 0a 45 4c 56 49 53 2d 50 4c
000001D0: 55 53 31 0b 30 09 06 03 55 04 06 13 02 52 55 29
000001E0: 00 00 95 0e 00 00 00 0c 30 0a 06 00
(99) Extracts IV from message (fragment 4)
00000000: 00 00 00 00 00 00 00 03
(100) Uses previously computed key K3i
00000000: 18 63 41 67 49 6e cf 48 56 71 4d aa 42 63 5c 11
00000010: 2e 26 5b e2 7b c7 53 a4 09 82 e5 5a 7e f4 65 4d
(101) Composes MGM nonce (fragment 4)
00000000: 00 00 00 03 b4 e1 3e 23
(102) Extracts ICV from message (fragment 4)
00000000: d2 25 f1 d0 38 65 b7 b6
Smyslov Expires 9 June 2023 [Page 105]
Internet-Draft GOST algorithms in IKEv2 December 2022
(103) Extracts AAD from message (fragment 4)
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 08 00 00 00 01 00 00 01 7a 00 00 01 5e
00000020: 00 04 00 04
(104) Extracts ciphertext from message (fragment 4)
00000000: e0 8a 0b 04 ee f8 47 c2 52 96 71 9f 9d 39 0c 91
00000010: ea 6a 16 7c 80 31 a0 fd 76 cc c4 f1 8f 1a d3 be
00000020: fa 78 6b df c1 c6 73 83 be 36 69 c4 8a 87 ed 11
00000030: 90 31 a8 fd f9 0a 5c e4 d4 23 c9 e6 b3 96 ac b6
00000040: 8e bd fc 27 58 79 9f cc 8b ac 6b 59 e4 70 4b 05
00000050: 23 16 ed 49 25 f3 de 02 2e ce ae 86 e8 b4 ca b4
00000060: 96 ad 5b f6 2b c2 47 33 6f da f3 97 3c 13 ed 1f
00000070: 7a da 93 b5 69 6a b5 10 93 38 75 ea b7 34 a3 87
00000080: b6 83 c7 da 8a a1 d9 2a 0b 22 e2 ab 63 2b 57 2b
00000090: 88 e3 ea be 7b fc dc 26 ac b8 bb 15 96 f9 c2 f4
000000A0: 60 17 e4 09 18 ae 78 b8 73 02 6b 0e 20 cc b1 cd
000000B0: b4 4d 94 7f f3 16 28 9a d2 bd 26 77 4b a5 85 56
000000C0: b1 81 8b 9c c3 0a 7f 67 fe 6a 61 15 f1 45 66 f3
000000D0: 36 fc a5 bb 1f d7 6d e7 1d 9f 3f b5 cc 60 19 48
000000E0: 17 f7 08 28 1c 58 9f 2b 7a 0b b9 50 bd 02 ea b8
000000F0: 1e 03 1f 52 6a 7a fc e5 b4 6b 00 cf 0d 83 1f d2
00000100: 3f f2 ad 43 d4 86 6e c1 88 d2 87 d6 1f ac a3 30
00000110: 7b c1 5b 6a 3d 4c 20 72 5d 2c ca bf 87 a2 ce 1d
00000120: b3 fa c7 7c 22 cd 66 fc be 49 22 32 17 ee 6e 5e
00000130: 62 c1 ca 12 2b 5d 3d 7b ae b5 3e 53 c5 98 05 1f
00000140: 42 53 49 d1 2c c2
(105) Decrypts ciphertext and verifies ICV using K3i as K_msg,
resulted in plaintext (fragment 4)
Smyslov Expires 9 June 2023 [Page 106]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 08 2a 85 03 07 01 01 03 03 6a 3e 59 0d 72 1e 55
00000010: a3 c0 d1 2f 8a 9b 4e 44 10 58 59 bd 62 9e e7 12
00000020: 31 e5 7d 01 53 f3 84 40 dd ac 73 ed 09 3a 10 d9
00000030: 6e 7f eb 80 6c 11 9e 91 f3 7c 3c b0 55 f7 4b ec
00000040: 0e 78 36 10 95 02 09 86 b3 27 04 2a 83 3c 89 36
00000050: 1b 73 cf 7b c9 e0 df a2 07 12 1e 69 52 4d 89 1b
00000060: de 6e 48 d1 34 fa 21 78 22 88 2e 30 86 c0 80 0a
00000070: 2d 74 af 08 ff 35 75 a5 79 e3 85 40 22 6b a8 42
00000080: f6 72 24 bf 29 87 58 a8 20 29 00 00 08 00 00 40
00000090: 00 2f 00 00 0c 00 00 40 01 00 00 00 04 21 00 00
000000A0: 10 01 00 00 00 00 01 00 00 00 03 00 00 2c 00 00
000000B0: 38 00 00 00 34 01 03 04 05 6c 0c a5 70 03 00 00
000000C0: 08 01 00 00 20 03 00 00 08 01 00 00 21 03 00 00
000000D0: 08 01 00 00 22 03 00 00 08 01 00 00 23 00 00 00
000000E0: 08 05 00 00 00 2d 00 00 28 02 00 00 00 07 01 00
000000F0: 10 08 00 08 00 0a 6f 0a ab 0a 6f 0a ab 07 00 00
00000100: 10 00 00 ff ff 00 00 00 00 ff ff ff ff 29 00 00
00000110: 28 02 00 00 00 07 01 00 10 08 00 08 00 0a 00 00
00000120: 02 0a 00 00 02 07 00 00 10 00 00 ff ff 0a 00 00
00000130: 00 0a 00 00 ff 29 00 00 08 00 00 40 0a 00 00 00
00000140: 08 00 00 40 0b 00
(106) Reassembles message from received fragments and parses it
IKE SA Auth
#9280E0822E758778.DB578D97DE119D1E.00000001 IKEv2 I->R[1847]
4*EF[...]->E[1819]{
IDi[78](DN){CN=IKE Interop Test Client,O=ELVIS-PLUS,C=RU},
CERT[1280](X.509 Cert){308204...A6C40A},
CERTREQ[25](X.509 Cert){5E9E50...677198},
IDr[78](DN){CN=IKE Interop Test Server,O=ELVIS-PLUS,C=RU},
AUTH[149](Sig){id-tc26-signwithdigest-gost3410-12-512[12]:
6A3E59...58A820},
N[8](INITIAL_CONTACT),
N[12](SET_WINDOW_SIZE){4},
CP[16](REQUEST){IP4.Address[0], IP4.DNS[0]},
SA[56]{
P[52](#1:ESP:6C0CA570:5#){
Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
ENCR_MAGMA_MGM_KTREE,
ENCR_KUZNYECHIK_MGM_MAC_KTREE,
ENCR_MAGMA_MGM_MAC_KTREE,
ESN=Off}},
TSi[40](2#){10.111.10.171:icmp:8.0, 0.0.0.0-255.255.255.255},
TSr[40](2#){10.0.0.2:icmp:8.0, 10.0.0.0-10.0.0.255},
N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
N[8](NON_FIRST_FRAGMENTS_ALSO)}
Smyslov Expires 9 June 2023 [Page 107]
Internet-Draft GOST algorithms in IKEv2 December 2022
(107) Computes prf(SK_pi, IDi)
00000000: ce e8 8b d1 7e 3c 83 32 eb d1 29 08 de dc 71 f4
00000010: 8f ba 09 b8 ca 5b 10 e2 f4 44 29 5c 97 7b 26 01
00000020: a4 ba 83 c8 ea 40 92 0f 88 18 bd e7 e1 c9 45 cf
00000030: ff 99 48 05 0d f4 93 a6 cd 54 46 d7 eb 7a 52 94
(108) Uses initiator's public key
00000010: EE 2F 0A 0E 09 1E 7E 04 EF BA 5B 62 A2 52 86 E1
00000020: 9C 24 50 30 50 B0 B4 8A 37 35 B5 FC AF 28 94 EC
00000030: B5 9B 92 41 5B 69 E2 C9 BA 24 DE 6A 72 C4 EF 44
00000040: BB 89 A1 05 14 1B 87 3D 6A A3 72 3E 17 CA 7F 39
00000050: 28 CE 16 8B DD 07 52 87 6A 0D 77 42 6D 99 2B 46
00000060: 2C FD 4B B2 7C D7 C7 17 08 12 54 63 47 9D 14 3D
00000070: 61 ED F2 95 AB 11 80 69 02 A7 66 60 50 7E A4 53
00000080: 6D AD 01 49 B2 16 8A 95 1D CF 1A 57 93 56 14 5E
(109) Verifies signature from AUTH payload using algorithm id-tc26-
signwithdigest-gost3410-12-512
00000000: 6a 3e 59 0d 72 1e 55 a3 c0 d1 2f 8a 9b 4e 44 10
00000010: 58 59 bd 62 9e e7 12 31 e5 7d 01 53 f3 84 40 dd
00000020: ac 73 ed 09 3a 10 d9 6e 7f eb 80 6c 11 9e 91 f3
00000030: 7c 3c b0 55 f7 4b ec 0e 78 36 10 95 02 09 86 b3
00000040: 27 04 2a 83 3c 89 36 1b 73 cf 7b c9 e0 df a2 07
00000050: 12 1e 69 52 4d 89 1b de 6e 48 d1 34 fa 21 78 22
00000060: 88 2e 30 86 c0 80 0a 2d 74 af 08 ff 35 75 a5 79
00000070: e3 85 40 22 6b a8 42 f6 72 24 bf 29 87 58 a8 20
(110) Computes keys for ESP SAs
00000000: 98 ab 7e db 78 03 a1 e6 c7 21 43 ee b9 7f 5f 56
00000010: 45 bb 51 cd 0b b7 09 a1 af 34 02 87 69 4d 7b a0
00000020: 1d 14 a0 cc
00000000: 70 31 4d 57 94 8b 7e 5c 6f 29 d5 68 1b fd 43 2b
00000010: 19 4e 64 6d 8f 8a 8d 1e ba 72 24 59 c7 0c de 81
00000020: e2 04 84 af
(111) Computes prf(SK_pr,IDr)
00000000: 7d c8 6a 33 12 02 5c 21 1f ab dc 83 0b 01 a5 27
00000010: 82 a2 f2 1f 64 c6 e9 5e 0e c0 4c e5 d9 11 8d 8e
00000020: b9 5c ef fa b0 a3 37 75 94 20 7c e4 60 60 ed 9d
00000030: fa 5e cb 7e e7 79 05 ab fb 51 1b 03 a8 2c c5 6a
(112) Uses private key for signing (little endian)
Smyslov Expires 9 June 2023 [Page 108]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: CB 73 0C 81 6F AC 6D 81 9F 82 AE 15 A9 08 12 17
00000010: D3 1B 97 64 B7 1C 34 0D D3 DD 90 1F 15 8C 9B 06
(113) Uses random number for signing
00000000: 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
00000010: 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
(114) Computes signature using algorithm id-tc26-signwithdigest-
gost3410-12-256
00000000: c8 40 af f7 46 6f 7b eb d2 b9 1c 5a 80 d0 00 93
00000010: c2 5e 44 16 40 47 f7 8e 61 9c da a5 16 94 83 c5
00000020: 68 5f e8 4d 03 e7 c2 cd 08 07 b8 f3 46 66 6d 05
00000030: 76 c0 d5 e7 60 1d 59 49 09 45 52 c4 95 a7 5a d3
(115) Computes K1r (i1 = 0)
00000000: 35 e4 d1 65 2e ec 24 89 e4 c9 58 b1 b9 05 1b 83
00000010: 62 5e 65 d7 61 73 d9 1c cf 84 60 64 b9 f2 e7 51
(116) Computes K2r (i2 = 0)
00000000: 86 8c 89 42 41 d7 30 da 1a 4a 67 69 3a 32 4d 38
00000010: f3 54 02 9f f7 7d b7 bc 5a ee 3b 60 2b 3f 05 56
(117) Computes K3r (i3 = 0)
00000000: 31 95 e8 c6 67 af 42 d8 ce f1 e8 99 c6 8b 2a c2
00000010: 29 aa 3d c0 ff 18 5f 3d 79 4a 14 6b 9f ac d0 bb
(118) Selects SPI for incoming ESP SA
00000000: 34 ff 8a 25
(119) Creates message splitting it into 4 fragments
Smyslov Expires 9 June 2023 [Page 109]
Internet-Draft GOST algorithms in IKEv2 December 2022
IKE SA Auth
#9280E0822E758778.DB578D97DE119D1E.00000001 IKEv2 I<=R[1563]
E[1535]->4*EF[...]{
IDr[78](DN){CN=IKE Interop Test Server,O=ELVIS-PLUS,C=RU},
CERT[1211](X.509 Cert){308204...FB346D},
AUTH[85](Sig){id-tc26-signwithdigest-gost3410-12-256[12]:
C840AF...A75AD3},
N[8](INITIAL_CONTACT),
N[12](SET_WINDOW_SIZE){64},
CP[16](REPLY){IP4.Address[4]=10.1.1.3},
SA[32]{
P[28](#1:ESP:34FF8A25:2#){
Encryption=ENCR_MAGMA_MGM_KTREE,
ESN=Off}},
TSi[24](1#){10.1.1.3},
TSr[24](1#){10.0.0.0-10.0.0.255},
N[8](ADDITIONAL_TS_POSSIBLE),
N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
N[8](NON_FIRST_FRAGMENTS_ALSO)}
(120) Composes MGM nonce (fragment 1)
00000000: 00 00 00 00 a5 bb 18 2f
(121) Composes AAD (fragment 1)
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 20 00 00 00 01 00 00 02 20 24 00 02 04
00000020: 00 01 00 04
(122) Composes plaintext (fragment 1)
Smyslov Expires 9 June 2023 [Page 110]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 25 00 00 4e 09 00 00 00 30 44 31 20 30 1e 06 03
00000010: 55 04 03 13 17 49 4b 45 20 49 6e 74 65 72 6f 70
00000020: 20 54 65 73 74 20 53 65 72 76 65 72 31 13 30 11
00000030: 06 03 55 04 0a 13 0a 45 4c 56 49 53 2d 50 4c 55
00000040: 53 31 0b 30 09 06 03 55 04 06 13 02 52 55 27 00
00000050: 04 bb 04 30 82 04 b2 30 82 04 5f a0 03 02 01 02
00000060: 02 13 7c 00 03 d9 02 ec f9 34 3e c8 aa d6 59 00
00000070: 01 00 03 d9 02 30 0a 06 08 2a 85 03 07 01 01 03
00000080: 02 30 82 01 0a 31 18 30 16 06 05 2a 85 03 64 01
00000090: 12 0d 31 32 33 34 35 36 37 38 39 30 31 32 33 31
000000A0: 1a 30 18 06 08 2a 85 03 03 81 03 01 01 12 0c 30
000000B0: 30 31 32 33 34 35 36 37 38 39 30 31 2f 30 2d 06
000000C0: 03 55 04 09 0c 26 d1 83 d0 bb 2e 20 d0 a1 d1 83
000000D0: d1 89 d1 91 d0 b2 d1 81 d0 ba d0 b8 d0 b9 20 d0
000000E0: b2 d0 b0 d0 bb 20 d0 b4 2e 20 31 38 31 0b 30 09
000000F0: 06 03 55 04 06 13 02 52 55 31 19 30 17 06 03 55
00000100: 04 08 0c 10 d0 b3 2e 20 d0 9c d0 be d1 81 d0 ba
00000110: d0 b2 d0 b0 31 15 30 13 06 03 55 04 07 0c 0c d0
00000120: 9c d0 be d1 81 d0 ba d0 b2 d0 b0 31 25 30 23 06
00000130: 03 55 04 0a 0c 1c d0 9e d0 9e d0 9e 20 22 d0 9a
00000140: d0 a0 d0 98 d0 9f d0 a2 d0 9e 2d d0 9f d0 a0 d0
00000150: 9e 22 31 3b 30 39 06 03 55 04 03 0c 32 d0 a2 d0
00000160: b5 d1 81 d1 82 d0 be d0 b2 d1 8b d0 b9 20 d0 a3
00000170: d0 a6 20 d0 9e d0 9e d0 9e 20 22 d0 9a d0 a0 d0
00000180: 98 d0 9f d0 a2 d0 9e 2d d0 9f d0 a0 d0 9e 22 30
00000190: 1e 17 0d 32 31 30 39 33 30 31 33 32 34 30 36 5a
000001A0: 17 0d 32 31 31 32 33 30 31 33 33 34 30 36 5a 30
000001B0: 44 31 20 30 1e 06 03 55 04 03 13 17 49 4b 45 20
000001C0: 49 6e 74 65 72 6f 70 20 54 65 73 74 20 53 65 72
000001D0: 76 65 72 31 13 30 11 06 03 55 04 0a 13 0a 45 4c
000001E0: 56 49 53 2d 50 4c 55 53 31 0b 30 00
(123) Encrypts plaintext using K3r as K_msg, resulted in ciphertext
(fragment 1)
Smyslov Expires 9 June 2023 [Page 111]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 73 f2 45 3e fb 6a 26 28 67 7d 14 e3 bf 0a 90 74
00000010: c9 95 6a 40 d5 4e a6 77 cf 58 2e b8 ae 52 f4 25
00000020: f7 82 bc d9 f0 74 4e 38 51 90 07 70 27 f8 01 27
00000030: 17 da f4 ba bc 1e 02 0b 73 ec cc 7b f8 b3 68 64
00000040: f3 48 65 33 3b ab ac 19 11 d3 f7 78 b4 f8 d1 3f
00000050: 6d 46 93 37 a6 58 48 3a 7d d0 8a 9c 84 ab de eb
00000060: 0d d4 8d ab 75 20 18 27 42 fe 24 ee ba c4 a4 6e
00000070: db 80 68 3c 84 7e d6 36 50 d4 1b 1c bc c5 9f 18
00000080: 41 af 48 52 c1 7e a2 f0 e4 bc 0a 3c 64 34 81 ca
00000090: df 96 ba 51 91 f1 06 13 b2 04 23 c8 70 3a ea 64
000000A0: e9 ea ce c2 db aa 12 90 28 0c 9d f9 89 02 a8 5e
000000B0: 66 f5 6e ce dd e7 2c 4a 45 54 de 5e b8 76 73 67
000000C0: 2d a3 a0 52 91 74 ff b7 eb e4 ea d1 2b 04 76 f7
000000D0: ff 4b 1c b8 45 7e 8a 60 e7 1e ec 13 3e c1 d8 d0
000000E0: 78 be f4 79 77 06 ce 76 04 64 ad e7 10 19 65 2b
000000F0: 45 66 23 3d 34 7a 40 6c 36 c0 20 73 47 d8 7a b6
00000100: 2b 0f 56 04 7a c0 41 ab 18 23 11 78 7f 4f d4 f5
00000110: 7d 2e 06 a5 15 ee de 84 9f c2 0a f6 c8 1e a4 30
00000120: 70 42 07 c8 5e 97 08 69 12 27 58 c3 c7 b7 db 7a
00000130: 8c 50 3a 3a 5c bf 3a a7 73 40 8f 9c 18 f6 13 77
00000140: 63 c1 60 06 36 a1 43 ab 88 08 c9 cc ad f2 88 ca
00000150: 84 bd 45 e0 8e d9 27 a3 07 f2 63 79 b0 a8 62 9f
00000160: 5f ba dc a7 f5 54 b8 4f 4f bb 1e a2 16 4b 4f 2d
00000170: d4 08 4e 45 c2 c0 60 3b 73 df 6b 35 3a fe 38 2e
00000180: 25 75 fc be 89 4c d2 7a 9c 1f b4 41 a6 31 d3 3d
00000190: 39 a6 d1 c4 47 94 44 30 3a 2b 23 22 ba c0 a9 df
000001A0: dc 1c 90 8d d1 e8 13 f9 08 68 5a 94 98 c7 3f 47
000001B0: 77 79 b5 bb fb 22 56 4b 38 55 48 e8 14 d4 01 eb
000001C0: 63 e9 17 da 24 69 9a 6d dc 1e 25 06 ef 77 10 46
000001D0: ad 99 ad 9c 54 4f d4 68 64 ea 05 1d ef 29 ea 0e
000001E0: 3c 1c 7e 27 cf 59 76 42 5b 02 04 b8
(124) Computes ICV using K3r as K_msg (fragment 1)
00000000: 96 08 17 ed ef 01 4d a0
(125) Composes IV (fragment 1)
00000000: 00 00 00 00 00 00 00 00
(126) Composes MGM nonce (fragment 2)
00000000: 00 00 00 01 a5 bb 18 2f
(127) Composes AAD (fragment 2)
Smyslov Expires 9 June 2023 [Page 112]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 20 00 00 00 01 00 00 02 20 00 00 02 04
00000020: 00 02 00 04
(128) Composes plaintext (fragment 2)
00000000: 09 06 03 55 04 06 13 02 52 55 30 66 30 1f 06 08
00000010: 2a 85 03 07 01 01 01 01 30 13 06 07 2a 85 03 02
00000020: 02 24 00 06 08 2a 85 03 07 01 01 02 02 03 43 00
00000030: 04 40 5b b3 14 3e f4 70 c1 70 d7 f3 27 25 d8 53
00000040: 7c e6 de 6d 8c 29 f6 b2 32 64 56 dc b1 77 f2 3d
00000050: fa f4 2a 5c f3 74 86 7f 04 72 51 c1 cf b3 43 36
00000060: f5 95 a2 af 05 47 57 1a 55 c0 78 a4 9d 64 26 b8
00000070: 61 14 a3 82 02 59 30 82 02 55 30 0e 06 03 55 1d
00000080: 0f 01 01 ff 04 04 03 02 05 a0 30 13 06 03 55 1d
00000090: 25 04 0c 30 0a 06 08 2b 06 01 05 05 07 03 11 30
000000A0: 1d 06 03 55 1d 0e 04 16 04 14 e0 d3 f0 09 ad ce
000000B0: 6c a5 47 ba 9b f7 a6 a5 1b 06 14 ba a5 43 30 1f
000000C0: 06 03 55 1d 23 04 18 30 16 80 14 9b 85 5e fb 81
000000D0: dc 4d 59 07 51 63 cf be df da 2c 7f c9 44 3c 30
000000E0: 82 01 0f 06 03 55 1d 1f 04 82 01 06 30 82 01 02
000000F0: 30 81 ff a0 81 fc a0 81 f9 86 81 b5 68 74 74 70
00000100: 3a 2f 2f 74 65 73 74 67 6f 73 74 32 30 31 32 2e
00000110: 63 72 79 70 74 6f 70 72 6f 2e 72 75 2f 43 65 72
00000120: 74 45 6e 72 6f 6c 6c 2f 21 30 34 32 32 21 30 34
00000130: 33 35 21 30 34 34 31 21 30 34 34 32 21 30 34 33
00000140: 65 21 30 34 33 32 21 30 34 34 62 21 30 34 33 39
00000150: 25 32 30 21 30 34 32 33 21 30 34 32 36 25 32 30
00000160: 21 30 34 31 65 21 30 34 31 65 21 30 34 31 65 25
00000170: 32 30 21 30 30 32 32 21 30 34 31 61 21 30 34 32
00000180: 30 21 30 34 31 38 21 30 34 31 66 21 30 34 32 32
00000190: 21 30 34 31 65 2d 21 30 34 31 66 21 30 34 32 30
000001A0: 21 30 34 31 65 21 30 30 32 32 28 31 29 2e 63 72
000001B0: 6c 86 3f 68 74 74 70 3a 2f 2f 74 65 73 74 67 6f
000001C0: 73 74 32 30 31 32 2e 63 72 79 70 74 6f 70 72 6f
000001D0: 2e 72 75 2f 43 65 72 74 45 6e 72 6f 6c 6c 2f 74
000001E0: 65 73 74 67 6f 73 74 32 30 31 32 00
(129) Encrypts plaintext using K3r as K_msg, resulted in ciphertext
(fragment 2)
Smyslov Expires 9 June 2023 [Page 113]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: b1 c8 8d ae d9 6f 91 7e 5a 6a 2d 8c e0 d6 28 3e
00000010: 10 59 46 12 a1 1e fa 53 c3 58 ec 4e a9 a5 92 0c
00000020: fa 5e cf a3 33 4a 8b b7 56 66 54 d9 9c 64 2e b6
00000030: 4d 03 3f 77 a8 17 88 f6 23 e0 2e 56 a6 a2 4c 4d
00000040: 6e e3 09 8a 2e 31 a1 85 1c cf ce 95 e7 73 93 8e
00000050: 9c 5a 7b 3b 49 75 96 69 d4 b0 46 f7 74 b0 0d 5d
00000060: 91 3b 6d 2b a4 46 cc 5c d9 a8 38 c0 6b ad 73 35
00000070: 09 aa c7 4c 91 8a 84 1c dd 3f e1 44 f7 c5 9c 61
00000080: 0e b7 03 6b 84 cc 8e 93 5b d5 f6 7e 71 3a f4 2c
00000090: 98 14 ad 47 e3 c3 70 dc e3 3e c0 a5 e0 e4 6d 01
000000A0: 44 78 7f e3 b7 6c cb 44 29 59 96 e9 84 6d 9d 18
000000B0: 89 66 16 07 46 a4 cd 72 a6 0e bd d2 a7 1c f7 21
000000C0: f0 d1 67 a9 0d 1c c4 c8 30 bd 26 1f 53 7d 61 8b
000000D0: ad 6f ef 3e 2c 6e 7e 69 b9 92 72 66 65 b6 06 22
000000E0: 49 a1 a8 f1 2f 02 dd 41 bf f5 d1 f6 7c 93 25 6e
000000F0: 52 8b a9 3f b5 40 97 02 bb 7c f5 33 a6 60 52 b8
00000100: 4f 3e 80 6c 38 cf e4 8b 15 fd d0 66 75 c1 bf bb
00000110: ac fc ac 01 c3 11 8e 0b 3e e9 2c 1b 5d b9 9f f6
00000120: 2f d7 e8 3c c7 a9 25 8b aa 6e c6 49 6d 6f df 42
00000130: 53 0e ba 70 54 d2 af c3 4d 02 e1 48 42 c5 45 53
00000140: 25 59 66 25 c7 3c c6 c2 e2 99 e2 bb 47 a4 a7 be
00000150: 6c 92 0d 3b 4c ab 6e d7 23 05 ea 73 07 62 e8 c0
00000160: e8 78 47 af 54 c8 67 8f dd 32 59 8d 87 ac 42 0e
00000170: 21 15 c4 f7 66 dc 02 cf 55 c2 e3 4d 8e 91 7a fd
00000180: d7 4d 20 b0 6f 67 78 58 08 9c ba 05 8b b0 9c 16
00000190: 20 51 75 12 96 e2 d5 28 ac 3e 50 26 04 6f 59 02
000001A0: 28 e0 ec 2c da 70 4a 9c 15 5a 2e 52 01 e6 4e 1e
000001B0: 10 6d 8d 5d 2a 81 69 0e 54 d0 5e 13 82 82 84 9a
000001C0: ac a6 0e 69 4e 17 5c c1 8a 71 f8 b4 80 3b 7a e5
000001D0: b8 1f 09 4a 02 14 24 07 af 6a 14 d9 52 8e da d3
000001E0: 58 23 68 71 27 b2 9a 03 09 f7 80 51
(130) Computes ICV using K3r as K_msg (fragment 2)
00000000: 89 bd 07 12 fc 3f 15 8d
(131) Composes IV (fragment 2)
00000000: 00 00 00 00 00 00 00 01
(132) Composes MGM nonce (fragment 3)
00000000: 00 00 00 02 a5 bb 18 2f
(133) Composes AAD (fragment 3)
Smyslov Expires 9 June 2023 [Page 114]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 20 00 00 00 01 00 00 02 20 00 00 02 04
00000020: 00 03 00 04
(134) Composes plaintext (fragment 3)
00000000: 28 31 29 2e 63 72 6c 30 81 da 06 08 2b 06 01 05
00000010: 05 07 01 01 04 81 cd 30 81 ca 30 44 06 08 2b 06
00000020: 01 05 05 07 30 02 86 38 68 74 74 70 3a 2f 2f 74
00000030: 65 73 74 67 6f 73 74 32 30 31 32 2e 63 72 79 70
00000040: 74 6f 70 72 6f 2e 72 75 2f 43 65 72 74 45 6e 72
00000050: 6f 6c 6c 2f 72 6f 6f 74 32 30 31 38 2e 63 72 74
00000060: 30 3f 06 08 2b 06 01 05 05 07 30 01 86 33 68 74
00000070: 74 70 3a 2f 2f 74 65 73 74 67 6f 73 74 32 30 31
00000080: 32 2e 63 72 79 70 74 6f 70 72 6f 2e 72 75 2f 6f
00000090: 63 73 70 32 30 31 32 67 2f 6f 63 73 70 2e 73 72
000000A0: 66 30 41 06 08 2b 06 01 05 05 07 30 01 86 35 68
000000B0: 74 74 70 3a 2f 2f 74 65 73 74 67 6f 73 74 32 30
000000C0: 31 32 2e 63 72 79 70 74 6f 70 72 6f 2e 72 75 2f
000000D0: 6f 63 73 70 32 30 31 32 67 73 74 2f 6f 63 73 70
000000E0: 2e 73 72 66 30 0a 06 08 2a 85 03 07 01 01 03 02
000000F0: 03 41 00 a5 39 5f ca 48 e1 c2 93 c1 e0 8a 64 74
00000100: 0f 6b 86 a2 15 9b 46 29 d0 42 71 4f ce e7 52 d7
00000110: d7 3d aa 47 ce cf 52 63 8f 26 b2 17 5f ad 96 57
00000120: 76 ea 5f d0 87 bb 12 29 e4 06 0e e1 5f fd 59 81
00000130: fb 34 6d 29 00 00 55 0e 00 00 00 0c 30 0a 06 08
00000140: 2a 85 03 07 01 01 03 02 c8 40 af f7 46 6f 7b eb
00000150: d2 b9 1c 5a 80 d0 00 93 c2 5e 44 16 40 47 f7 8e
00000160: 61 9c da a5 16 94 83 c5 68 5f e8 4d 03 e7 c2 cd
00000170: 08 07 b8 f3 46 66 6d 05 76 c0 d5 e7 60 1d 59 49
00000180: 09 45 52 c4 95 a7 5a d3 29 00 00 08 00 00 40 00
00000190: 2f 00 00 0c 00 00 40 01 00 00 00 40 21 00 00 10
000001A0: 02 00 00 00 00 01 00 04 0a 01 01 03 2c 00 00 20
000001B0: 00 00 00 1c 01 03 04 02 34 ff 8a 25 03 00 00 08
000001C0: 01 00 00 21 00 00 00 08 05 00 00 00 2d 00 00 18
000001D0: 01 00 00 00 07 00 00 10 00 00 ff ff 0a 01 01 03
000001E0: 0a 01 01 03 29 00 00 18 01 00 00 00
(135) Encrypts plaintext using K3r as K_msg, resulted in ciphertext
(fragment 3)
Smyslov Expires 9 June 2023 [Page 115]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 08 e0 86 04 1f 8a c9 b5 68 cd 96 10 ab 59 99 3a
00000010: 54 7b a9 fa d7 60 46 ec c3 bf bd 8f fa 03 ed 41
00000020: 49 13 ca 8c 9c b8 0c df 81 25 e2 30 ca cb 65 b9
00000030: 16 55 8e 67 f4 b3 7c b8 91 66 76 7c a4 15 98 a3
00000040: 3a c9 48 64 e4 ce 9f 64 67 5d bb 7c 03 23 9e c9
00000050: 81 3f da 48 ee a6 2a d8 fb ac 77 ce ed c2 a4 d9
00000060: 24 d3 71 99 fc 71 2b 6c 10 d3 c3 4b b5 37 e2 55
00000070: 5f d5 ee c0 d6 ff 66 15 8c e5 63 26 96 cd 3f 49
00000080: 2b da 51 94 55 6e 2e e5 2e d1 b4 91 81 50 85 8a
00000090: 84 bd fe 52 ec ce 1b 6b bd 7d 12 b4 de a5 88 c4
000000A0: b7 78 d3 3d 2d 46 ef dc 0f 91 43 be 08 7a ba fa
000000B0: b3 2a c2 17 30 99 79 ae 3a 00 f0 3f 47 4a 9b 11
000000C0: 4d 7b 1b 28 0a 44 5b 1a af 35 4d c3 2b 6b be 11
000000D0: 89 03 b9 de cf 37 57 53 1e a4 f3 3f ce 52 a6 d8
000000E0: 7e 9d d8 d4 2f 9f f5 8f 3c c6 cb 2f 56 e0 97 2d
000000F0: b2 0e 10 66 3b 3c ec 34 50 99 a3 7d 42 ec 96 eb
00000100: 87 48 72 2c 0a 6d af b9 4b 62 48 89 36 01 21 ab
00000110: 8e 79 10 54 9c 83 ab a9 8a 6c 37 c7 ac dc a1 7e
00000120: 41 0e 58 de da aa 95 71 fb 34 50 8a ef 37 0b c4
00000130: 56 ca 4b 2c 75 b7 c7 d9 74 22 c2 65 1a e4 4f 94
00000140: 20 f6 e9 44 f1 69 5e d2 18 d3 30 2e 85 74 25 be
00000150: 2a 88 e2 ce fe 75 ca fa 25 f9 2e 88 8c ed 6f dd
00000160: c3 c5 53 2e da 14 fd 96 28 4a b7 81 3a b3 d5 44
00000170: 26 e2 84 21 f2 5c 0a ed bf c4 34 1c a4 91 5e f3
00000180: 47 ef 0e 9e fb ee 34 95 5d 21 72 43 c9 63 af b4
00000190: f2 98 4a 36 57 77 fc e7 57 52 b2 4d bf 34 2a 98
000001A0: ea 70 cd d7 a9 da 4c 0d 19 05 d4 1e dd 36 c7 c4
000001B0: 31 54 18 2a ef 0e 30 44 97 31 15 57 cd d4 88 52
000001C0: 4e 42 c8 20 89 8d 35 7b 8e 03 96 b4 74 fb ec 3b
000001D0: 14 c2 64 49 92 f2 1f 3d ff 84 2d 92 4c b9 01 04
000001E0: 3d 0a 2a 28 33 de 43 44 6b cf 79 0e
(136) Computes ICV using K3r as K_msg (fragment 3)
00000000: 7d 7c 57 8f 91 d0 c9 eb
(137) Composes IV (fragment 3)
00000000: 00 00 00 00 00 00 00 02
(138) Composes MGM nonce (fragment 4)
00000000: 00 00 00 03 a5 bb 18 2f
(139) Composes AAD (fragment 4)
Smyslov Expires 9 June 2023 [Page 116]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 20 00 00 00 01 00 00 00 5e 00 00 00 42
00000020: 00 04 00 04
(140) Composes plaintext (fragment 4)
00000000: 00 07 00 00 10 00 00 ff ff 0a 00 00 00 0a 00 00
00000010: ff 29 00 00 08 00 00 40 02 29 00 00 08 00 00 40
00000020: 0a 00 00 00 08 00 00 40 0b 00
(141) Encrypts plaintext using K3r as K_msg, resulted in ciphertext
(fragment 4)
00000000: 81 fa 5d 7a 67 13 b7 93 f4 2c 01 b8 d1 02 8c ab
00000010: 8e 80 47 25 6e c5 69 e3 0c 84 cd 35 9a 0f 7a cc
00000020: 0a 92 7a 74 77 dc ba 60 ac 4a
(142) Computes ICV using K3r as K_msg (fragment 4)
00000000: 6c 27 70 e0 8a 82 bd 4b
(143) Composes IV (fragment 4)
00000000: 00 00 00 00 00 00 00 03
(144) Sends message fragment (1) , peer receives message fragment (1)
Smyslov Expires 9 June 2023 [Page 117]
Internet-Draft GOST algorithms in IKEv2 December 2022
10.111.10.171:54295<-10.111.15.45:4500 [548]
00000000: 00 00 00 00 92 80 e0 82 2e 75 87 78 db 57 8d 97
00000010: de 11 9d 1e 35 20 23 20 00 00 00 01 00 00 02 20
00000020: 24 00 02 04 00 01 00 04 00 00 00 00 00 00 00 00
00000030: 73 f2 45 3e fb 6a 26 28 67 7d 14 e3 bf 0a 90 74
00000040: c9 95 6a 40 d5 4e a6 77 cf 58 2e b8 ae 52 f4 25
00000050: f7 82 bc d9 f0 74 4e 38 51 90 07 70 27 f8 01 27
00000060: 17 da f4 ba bc 1e 02 0b 73 ec cc 7b f8 b3 68 64
00000070: f3 48 65 33 3b ab ac 19 11 d3 f7 78 b4 f8 d1 3f
00000080: 6d 46 93 37 a6 58 48 3a 7d d0 8a 9c 84 ab de eb
00000090: 0d d4 8d ab 75 20 18 27 42 fe 24 ee ba c4 a4 6e
000000A0: db 80 68 3c 84 7e d6 36 50 d4 1b 1c bc c5 9f 18
000000B0: 41 af 48 52 c1 7e a2 f0 e4 bc 0a 3c 64 34 81 ca
000000C0: df 96 ba 51 91 f1 06 13 b2 04 23 c8 70 3a ea 64
000000D0: e9 ea ce c2 db aa 12 90 28 0c 9d f9 89 02 a8 5e
000000E0: 66 f5 6e ce dd e7 2c 4a 45 54 de 5e b8 76 73 67
000000F0: 2d a3 a0 52 91 74 ff b7 eb e4 ea d1 2b 04 76 f7
00000100: ff 4b 1c b8 45 7e 8a 60 e7 1e ec 13 3e c1 d8 d0
00000110: 78 be f4 79 77 06 ce 76 04 64 ad e7 10 19 65 2b
00000120: 45 66 23 3d 34 7a 40 6c 36 c0 20 73 47 d8 7a b6
00000130: 2b 0f 56 04 7a c0 41 ab 18 23 11 78 7f 4f d4 f5
00000140: 7d 2e 06 a5 15 ee de 84 9f c2 0a f6 c8 1e a4 30
00000150: 70 42 07 c8 5e 97 08 69 12 27 58 c3 c7 b7 db 7a
00000160: 8c 50 3a 3a 5c bf 3a a7 73 40 8f 9c 18 f6 13 77
00000170: 63 c1 60 06 36 a1 43 ab 88 08 c9 cc ad f2 88 ca
00000180: 84 bd 45 e0 8e d9 27 a3 07 f2 63 79 b0 a8 62 9f
00000190: 5f ba dc a7 f5 54 b8 4f 4f bb 1e a2 16 4b 4f 2d
000001A0: d4 08 4e 45 c2 c0 60 3b 73 df 6b 35 3a fe 38 2e
000001B0: 25 75 fc be 89 4c d2 7a 9c 1f b4 41 a6 31 d3 3d
000001C0: 39 a6 d1 c4 47 94 44 30 3a 2b 23 22 ba c0 a9 df
000001D0: dc 1c 90 8d d1 e8 13 f9 08 68 5a 94 98 c7 3f 47
000001E0: 77 79 b5 bb fb 22 56 4b 38 55 48 e8 14 d4 01 eb
000001F0: 63 e9 17 da 24 69 9a 6d dc 1e 25 06 ef 77 10 46
00000200: ad 99 ad 9c 54 4f d4 68 64 ea 05 1d ef 29 ea 0e
00000210: 3c 1c 7e 27 cf 59 76 42 5b 02 04 b8 96 08 17 ed
00000220: ef 01 4d a0
(145) Sends message fragment (2) , peer receives message fragment (2)
Smyslov Expires 9 June 2023 [Page 118]
Internet-Draft GOST algorithms in IKEv2 December 2022
10.111.10.171:54295<-10.111.15.45:4500 [548]
00000000: 00 00 00 00 92 80 e0 82 2e 75 87 78 db 57 8d 97
00000010: de 11 9d 1e 35 20 23 20 00 00 00 01 00 00 02 20
00000020: 00 00 02 04 00 02 00 04 00 00 00 00 00 00 00 01
00000030: b1 c8 8d ae d9 6f 91 7e 5a 6a 2d 8c e0 d6 28 3e
00000040: 10 59 46 12 a1 1e fa 53 c3 58 ec 4e a9 a5 92 0c
00000050: fa 5e cf a3 33 4a 8b b7 56 66 54 d9 9c 64 2e b6
00000060: 4d 03 3f 77 a8 17 88 f6 23 e0 2e 56 a6 a2 4c 4d
00000070: 6e e3 09 8a 2e 31 a1 85 1c cf ce 95 e7 73 93 8e
00000080: 9c 5a 7b 3b 49 75 96 69 d4 b0 46 f7 74 b0 0d 5d
00000090: 91 3b 6d 2b a4 46 cc 5c d9 a8 38 c0 6b ad 73 35
000000A0: 09 aa c7 4c 91 8a 84 1c dd 3f e1 44 f7 c5 9c 61
000000B0: 0e b7 03 6b 84 cc 8e 93 5b d5 f6 7e 71 3a f4 2c
000000C0: 98 14 ad 47 e3 c3 70 dc e3 3e c0 a5 e0 e4 6d 01
000000D0: 44 78 7f e3 b7 6c cb 44 29 59 96 e9 84 6d 9d 18
000000E0: 89 66 16 07 46 a4 cd 72 a6 0e bd d2 a7 1c f7 21
000000F0: f0 d1 67 a9 0d 1c c4 c8 30 bd 26 1f 53 7d 61 8b
00000100: ad 6f ef 3e 2c 6e 7e 69 b9 92 72 66 65 b6 06 22
00000110: 49 a1 a8 f1 2f 02 dd 41 bf f5 d1 f6 7c 93 25 6e
00000120: 52 8b a9 3f b5 40 97 02 bb 7c f5 33 a6 60 52 b8
00000130: 4f 3e 80 6c 38 cf e4 8b 15 fd d0 66 75 c1 bf bb
00000140: ac fc ac 01 c3 11 8e 0b 3e e9 2c 1b 5d b9 9f f6
00000150: 2f d7 e8 3c c7 a9 25 8b aa 6e c6 49 6d 6f df 42
00000160: 53 0e ba 70 54 d2 af c3 4d 02 e1 48 42 c5 45 53
00000170: 25 59 66 25 c7 3c c6 c2 e2 99 e2 bb 47 a4 a7 be
00000180: 6c 92 0d 3b 4c ab 6e d7 23 05 ea 73 07 62 e8 c0
00000190: e8 78 47 af 54 c8 67 8f dd 32 59 8d 87 ac 42 0e
000001A0: 21 15 c4 f7 66 dc 02 cf 55 c2 e3 4d 8e 91 7a fd
000001B0: d7 4d 20 b0 6f 67 78 58 08 9c ba 05 8b b0 9c 16
000001C0: 20 51 75 12 96 e2 d5 28 ac 3e 50 26 04 6f 59 02
000001D0: 28 e0 ec 2c da 70 4a 9c 15 5a 2e 52 01 e6 4e 1e
000001E0: 10 6d 8d 5d 2a 81 69 0e 54 d0 5e 13 82 82 84 9a
000001F0: ac a6 0e 69 4e 17 5c c1 8a 71 f8 b4 80 3b 7a e5
00000200: b8 1f 09 4a 02 14 24 07 af 6a 14 d9 52 8e da d3
00000210: 58 23 68 71 27 b2 9a 03 09 f7 80 51 89 bd 07 12
00000220: fc 3f 15 8d
(146) Sends message fragment (3) , peer receives message fragment (3)
Smyslov Expires 9 June 2023 [Page 119]
Internet-Draft GOST algorithms in IKEv2 December 2022
10.111.10.171:54295<-10.111.15.45:4500 [548]
00000000: 00 00 00 00 92 80 e0 82 2e 75 87 78 db 57 8d 97
00000010: de 11 9d 1e 35 20 23 20 00 00 00 01 00 00 02 20
00000020: 00 00 02 04 00 03 00 04 00 00 00 00 00 00 00 02
00000030: 08 e0 86 04 1f 8a c9 b5 68 cd 96 10 ab 59 99 3a
00000040: 54 7b a9 fa d7 60 46 ec c3 bf bd 8f fa 03 ed 41
00000050: 49 13 ca 8c 9c b8 0c df 81 25 e2 30 ca cb 65 b9
00000060: 16 55 8e 67 f4 b3 7c b8 91 66 76 7c a4 15 98 a3
00000070: 3a c9 48 64 e4 ce 9f 64 67 5d bb 7c 03 23 9e c9
00000080: 81 3f da 48 ee a6 2a d8 fb ac 77 ce ed c2 a4 d9
00000090: 24 d3 71 99 fc 71 2b 6c 10 d3 c3 4b b5 37 e2 55
000000A0: 5f d5 ee c0 d6 ff 66 15 8c e5 63 26 96 cd 3f 49
000000B0: 2b da 51 94 55 6e 2e e5 2e d1 b4 91 81 50 85 8a
000000C0: 84 bd fe 52 ec ce 1b 6b bd 7d 12 b4 de a5 88 c4
000000D0: b7 78 d3 3d 2d 46 ef dc 0f 91 43 be 08 7a ba fa
000000E0: b3 2a c2 17 30 99 79 ae 3a 00 f0 3f 47 4a 9b 11
000000F0: 4d 7b 1b 28 0a 44 5b 1a af 35 4d c3 2b 6b be 11
00000100: 89 03 b9 de cf 37 57 53 1e a4 f3 3f ce 52 a6 d8
00000110: 7e 9d d8 d4 2f 9f f5 8f 3c c6 cb 2f 56 e0 97 2d
00000120: b2 0e 10 66 3b 3c ec 34 50 99 a3 7d 42 ec 96 eb
00000130: 87 48 72 2c 0a 6d af b9 4b 62 48 89 36 01 21 ab
00000140: 8e 79 10 54 9c 83 ab a9 8a 6c 37 c7 ac dc a1 7e
00000150: 41 0e 58 de da aa 95 71 fb 34 50 8a ef 37 0b c4
00000160: 56 ca 4b 2c 75 b7 c7 d9 74 22 c2 65 1a e4 4f 94
00000170: 20 f6 e9 44 f1 69 5e d2 18 d3 30 2e 85 74 25 be
00000180: 2a 88 e2 ce fe 75 ca fa 25 f9 2e 88 8c ed 6f dd
00000190: c3 c5 53 2e da 14 fd 96 28 4a b7 81 3a b3 d5 44
000001A0: 26 e2 84 21 f2 5c 0a ed bf c4 34 1c a4 91 5e f3
000001B0: 47 ef 0e 9e fb ee 34 95 5d 21 72 43 c9 63 af b4
000001C0: f2 98 4a 36 57 77 fc e7 57 52 b2 4d bf 34 2a 98
000001D0: ea 70 cd d7 a9 da 4c 0d 19 05 d4 1e dd 36 c7 c4
000001E0: 31 54 18 2a ef 0e 30 44 97 31 15 57 cd d4 88 52
000001F0: 4e 42 c8 20 89 8d 35 7b 8e 03 96 b4 74 fb ec 3b
00000200: 14 c2 64 49 92 f2 1f 3d ff 84 2d 92 4c b9 01 04
00000210: 3d 0a 2a 28 33 de 43 44 6b cf 79 0e 7d 7c 57 8f
00000220: 91 d0 c9 eb
(147) Sends message fragment (4) , peer receives message fragment (4)
Smyslov Expires 9 June 2023 [Page 120]
Internet-Draft GOST algorithms in IKEv2 December 2022
10.111.10.171:54295<-10.111.15.45:4500 [98]
00000000: 00 00 00 00 92 80 e0 82 2e 75 87 78 db 57 8d 97
00000010: de 11 9d 1e 35 20 23 20 00 00 00 01 00 00 00 5e
00000020: 00 00 00 42 00 04 00 04 00 00 00 00 00 00 00 03
00000030: 81 fa 5d 7a 67 13 b7 93 f4 2c 01 b8 d1 02 8c ab
00000040: 8e 80 47 25 6e c5 69 e3 0c 84 cd 35 9a 0f 7a cc
00000050: 0a 92 7a 74 77 dc ba 60 ac 4a 6c 27 70 e0 8a 82
00000060: bd 4b
Initiator's actions:
(148) Extracts IV from message (fragment 1)
00000000: 00 00 00 00 00 00 00 00
(149) Computes K1r (i1 = 0)
00000000: 35 e4 d1 65 2e ec 24 89 e4 c9 58 b1 b9 05 1b 83
00000010: 62 5e 65 d7 61 73 d9 1c cf 84 60 64 b9 f2 e7 51
(150) Computes K2r (i2 = 0)
00000000: 86 8c 89 42 41 d7 30 da 1a 4a 67 69 3a 32 4d 38
00000010: f3 54 02 9f f7 7d b7 bc 5a ee 3b 60 2b 3f 05 56
(151) Computes K3r (i3 = 0)
00000000: 31 95 e8 c6 67 af 42 d8 ce f1 e8 99 c6 8b 2a c2
00000010: 29 aa 3d c0 ff 18 5f 3d 79 4a 14 6b 9f ac d0 bb
(152) Composes MGM nonce (fragment 1)
00000000: 00 00 00 00 a5 bb 18 2f
(153) Extracts ICV from message (fragment 1)
00000000: 96 08 17 ed ef 01 4d a0
(154) Extracts AAD from message (fragment 1)
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 20 00 00 00 01 00 00 02 20 24 00 02 04
00000020: 00 01 00 04
(155) Extracts ciphertext from message (fragment 1)
Smyslov Expires 9 June 2023 [Page 121]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 73 f2 45 3e fb 6a 26 28 67 7d 14 e3 bf 0a 90 74
00000010: c9 95 6a 40 d5 4e a6 77 cf 58 2e b8 ae 52 f4 25
00000020: f7 82 bc d9 f0 74 4e 38 51 90 07 70 27 f8 01 27
00000030: 17 da f4 ba bc 1e 02 0b 73 ec cc 7b f8 b3 68 64
00000040: f3 48 65 33 3b ab ac 19 11 d3 f7 78 b4 f8 d1 3f
00000050: 6d 46 93 37 a6 58 48 3a 7d d0 8a 9c 84 ab de eb
00000060: 0d d4 8d ab 75 20 18 27 42 fe 24 ee ba c4 a4 6e
00000070: db 80 68 3c 84 7e d6 36 50 d4 1b 1c bc c5 9f 18
00000080: 41 af 48 52 c1 7e a2 f0 e4 bc 0a 3c 64 34 81 ca
00000090: df 96 ba 51 91 f1 06 13 b2 04 23 c8 70 3a ea 64
000000A0: e9 ea ce c2 db aa 12 90 28 0c 9d f9 89 02 a8 5e
000000B0: 66 f5 6e ce dd e7 2c 4a 45 54 de 5e b8 76 73 67
000000C0: 2d a3 a0 52 91 74 ff b7 eb e4 ea d1 2b 04 76 f7
000000D0: ff 4b 1c b8 45 7e 8a 60 e7 1e ec 13 3e c1 d8 d0
000000E0: 78 be f4 79 77 06 ce 76 04 64 ad e7 10 19 65 2b
000000F0: 45 66 23 3d 34 7a 40 6c 36 c0 20 73 47 d8 7a b6
00000100: 2b 0f 56 04 7a c0 41 ab 18 23 11 78 7f 4f d4 f5
00000110: 7d 2e 06 a5 15 ee de 84 9f c2 0a f6 c8 1e a4 30
00000120: 70 42 07 c8 5e 97 08 69 12 27 58 c3 c7 b7 db 7a
00000130: 8c 50 3a 3a 5c bf 3a a7 73 40 8f 9c 18 f6 13 77
00000140: 63 c1 60 06 36 a1 43 ab 88 08 c9 cc ad f2 88 ca
00000150: 84 bd 45 e0 8e d9 27 a3 07 f2 63 79 b0 a8 62 9f
00000160: 5f ba dc a7 f5 54 b8 4f 4f bb 1e a2 16 4b 4f 2d
00000170: d4 08 4e 45 c2 c0 60 3b 73 df 6b 35 3a fe 38 2e
00000180: 25 75 fc be 89 4c d2 7a 9c 1f b4 41 a6 31 d3 3d
00000190: 39 a6 d1 c4 47 94 44 30 3a 2b 23 22 ba c0 a9 df
000001A0: dc 1c 90 8d d1 e8 13 f9 08 68 5a 94 98 c7 3f 47
000001B0: 77 79 b5 bb fb 22 56 4b 38 55 48 e8 14 d4 01 eb
000001C0: 63 e9 17 da 24 69 9a 6d dc 1e 25 06 ef 77 10 46
000001D0: ad 99 ad 9c 54 4f d4 68 64 ea 05 1d ef 29 ea 0e
000001E0: 3c 1c 7e 27 cf 59 76 42 5b 02 04 b8
(156) Decrypts ciphertext and verifies ICV using K3r as K_msg,
resulted in plaintext (fragment 1)
Smyslov Expires 9 June 2023 [Page 122]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 25 00 00 4e 09 00 00 00 30 44 31 20 30 1e 06 03
00000010: 55 04 03 13 17 49 4b 45 20 49 6e 74 65 72 6f 70
00000020: 20 54 65 73 74 20 53 65 72 76 65 72 31 13 30 11
00000030: 06 03 55 04 0a 13 0a 45 4c 56 49 53 2d 50 4c 55
00000040: 53 31 0b 30 09 06 03 55 04 06 13 02 52 55 27 00
00000050: 04 bb 04 30 82 04 b2 30 82 04 5f a0 03 02 01 02
00000060: 02 13 7c 00 03 d9 02 ec f9 34 3e c8 aa d6 59 00
00000070: 01 00 03 d9 02 30 0a 06 08 2a 85 03 07 01 01 03
00000080: 02 30 82 01 0a 31 18 30 16 06 05 2a 85 03 64 01
00000090: 12 0d 31 32 33 34 35 36 37 38 39 30 31 32 33 31
000000A0: 1a 30 18 06 08 2a 85 03 03 81 03 01 01 12 0c 30
000000B0: 30 31 32 33 34 35 36 37 38 39 30 31 2f 30 2d 06
000000C0: 03 55 04 09 0c 26 d1 83 d0 bb 2e 20 d0 a1 d1 83
000000D0: d1 89 d1 91 d0 b2 d1 81 d0 ba d0 b8 d0 b9 20 d0
000000E0: b2 d0 b0 d0 bb 20 d0 b4 2e 20 31 38 31 0b 30 09
000000F0: 06 03 55 04 06 13 02 52 55 31 19 30 17 06 03 55
00000100: 04 08 0c 10 d0 b3 2e 20 d0 9c d0 be d1 81 d0 ba
00000110: d0 b2 d0 b0 31 15 30 13 06 03 55 04 07 0c 0c d0
00000120: 9c d0 be d1 81 d0 ba d0 b2 d0 b0 31 25 30 23 06
00000130: 03 55 04 0a 0c 1c d0 9e d0 9e d0 9e 20 22 d0 9a
00000140: d0 a0 d0 98 d0 9f d0 a2 d0 9e 2d d0 9f d0 a0 d0
00000150: 9e 22 31 3b 30 39 06 03 55 04 03 0c 32 d0 a2 d0
00000160: b5 d1 81 d1 82 d0 be d0 b2 d1 8b d0 b9 20 d0 a3
00000170: d0 a6 20 d0 9e d0 9e d0 9e 20 22 d0 9a d0 a0 d0
00000180: 98 d0 9f d0 a2 d0 9e 2d d0 9f d0 a0 d0 9e 22 30
00000190: 1e 17 0d 32 31 30 39 33 30 31 33 32 34 30 36 5a
000001A0: 17 0d 32 31 31 32 33 30 31 33 33 34 30 36 5a 30
000001B0: 44 31 20 30 1e 06 03 55 04 03 13 17 49 4b 45 20
000001C0: 49 6e 74 65 72 6f 70 20 54 65 73 74 20 53 65 72
000001D0: 76 65 72 31 13 30 11 06 03 55 04 0a 13 0a 45 4c
000001E0: 56 49 53 2d 50 4c 55 53 31 0b 30 00
(157) Extracts IV from message (fragment 2)
00000000: 00 00 00 00 00 00 00 01
(158) Uses previously computed key K3r
00000000: 31 95 e8 c6 67 af 42 d8 ce f1 e8 99 c6 8b 2a c2
00000010: 29 aa 3d c0 ff 18 5f 3d 79 4a 14 6b 9f ac d0 bb
(159) Composes MGM nonce (fragment 2)
00000000: 00 00 00 01 a5 bb 18 2f
(160) Extracts ICV from message (fragment 2)
00000000: 89 bd 07 12 fc 3f 15 8d
Smyslov Expires 9 June 2023 [Page 123]
Internet-Draft GOST algorithms in IKEv2 December 2022
(161) Extracts AAD from message (fragment 2)
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 20 00 00 00 01 00 00 02 20 00 00 02 04
00000020: 00 02 00 04
(162) Extracts ciphertext from message (fragment 2)
00000000: b1 c8 8d ae d9 6f 91 7e 5a 6a 2d 8c e0 d6 28 3e
00000010: 10 59 46 12 a1 1e fa 53 c3 58 ec 4e a9 a5 92 0c
00000020: fa 5e cf a3 33 4a 8b b7 56 66 54 d9 9c 64 2e b6
00000030: 4d 03 3f 77 a8 17 88 f6 23 e0 2e 56 a6 a2 4c 4d
00000040: 6e e3 09 8a 2e 31 a1 85 1c cf ce 95 e7 73 93 8e
00000050: 9c 5a 7b 3b 49 75 96 69 d4 b0 46 f7 74 b0 0d 5d
00000060: 91 3b 6d 2b a4 46 cc 5c d9 a8 38 c0 6b ad 73 35
00000070: 09 aa c7 4c 91 8a 84 1c dd 3f e1 44 f7 c5 9c 61
00000080: 0e b7 03 6b 84 cc 8e 93 5b d5 f6 7e 71 3a f4 2c
00000090: 98 14 ad 47 e3 c3 70 dc e3 3e c0 a5 e0 e4 6d 01
000000A0: 44 78 7f e3 b7 6c cb 44 29 59 96 e9 84 6d 9d 18
000000B0: 89 66 16 07 46 a4 cd 72 a6 0e bd d2 a7 1c f7 21
000000C0: f0 d1 67 a9 0d 1c c4 c8 30 bd 26 1f 53 7d 61 8b
000000D0: ad 6f ef 3e 2c 6e 7e 69 b9 92 72 66 65 b6 06 22
000000E0: 49 a1 a8 f1 2f 02 dd 41 bf f5 d1 f6 7c 93 25 6e
000000F0: 52 8b a9 3f b5 40 97 02 bb 7c f5 33 a6 60 52 b8
00000100: 4f 3e 80 6c 38 cf e4 8b 15 fd d0 66 75 c1 bf bb
00000110: ac fc ac 01 c3 11 8e 0b 3e e9 2c 1b 5d b9 9f f6
00000120: 2f d7 e8 3c c7 a9 25 8b aa 6e c6 49 6d 6f df 42
00000130: 53 0e ba 70 54 d2 af c3 4d 02 e1 48 42 c5 45 53
00000140: 25 59 66 25 c7 3c c6 c2 e2 99 e2 bb 47 a4 a7 be
00000150: 6c 92 0d 3b 4c ab 6e d7 23 05 ea 73 07 62 e8 c0
00000160: e8 78 47 af 54 c8 67 8f dd 32 59 8d 87 ac 42 0e
00000170: 21 15 c4 f7 66 dc 02 cf 55 c2 e3 4d 8e 91 7a fd
00000180: d7 4d 20 b0 6f 67 78 58 08 9c ba 05 8b b0 9c 16
00000190: 20 51 75 12 96 e2 d5 28 ac 3e 50 26 04 6f 59 02
000001A0: 28 e0 ec 2c da 70 4a 9c 15 5a 2e 52 01 e6 4e 1e
000001B0: 10 6d 8d 5d 2a 81 69 0e 54 d0 5e 13 82 82 84 9a
000001C0: ac a6 0e 69 4e 17 5c c1 8a 71 f8 b4 80 3b 7a e5
000001D0: b8 1f 09 4a 02 14 24 07 af 6a 14 d9 52 8e da d3
000001E0: 58 23 68 71 27 b2 9a 03 09 f7 80 51
(163) Decrypts ciphertext and verifies ICV using K3r as K_msg,
resulted in plaintext (fragment 2)
Smyslov Expires 9 June 2023 [Page 124]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 09 06 03 55 04 06 13 02 52 55 30 66 30 1f 06 08
00000010: 2a 85 03 07 01 01 01 01 30 13 06 07 2a 85 03 02
00000020: 02 24 00 06 08 2a 85 03 07 01 01 02 02 03 43 00
00000030: 04 40 5b b3 14 3e f4 70 c1 70 d7 f3 27 25 d8 53
00000040: 7c e6 de 6d 8c 29 f6 b2 32 64 56 dc b1 77 f2 3d
00000050: fa f4 2a 5c f3 74 86 7f 04 72 51 c1 cf b3 43 36
00000060: f5 95 a2 af 05 47 57 1a 55 c0 78 a4 9d 64 26 b8
00000070: 61 14 a3 82 02 59 30 82 02 55 30 0e 06 03 55 1d
00000080: 0f 01 01 ff 04 04 03 02 05 a0 30 13 06 03 55 1d
00000090: 25 04 0c 30 0a 06 08 2b 06 01 05 05 07 03 11 30
000000A0: 1d 06 03 55 1d 0e 04 16 04 14 e0 d3 f0 09 ad ce
000000B0: 6c a5 47 ba 9b f7 a6 a5 1b 06 14 ba a5 43 30 1f
000000C0: 06 03 55 1d 23 04 18 30 16 80 14 9b 85 5e fb 81
000000D0: dc 4d 59 07 51 63 cf be df da 2c 7f c9 44 3c 30
000000E0: 82 01 0f 06 03 55 1d 1f 04 82 01 06 30 82 01 02
000000F0: 30 81 ff a0 81 fc a0 81 f9 86 81 b5 68 74 74 70
00000100: 3a 2f 2f 74 65 73 74 67 6f 73 74 32 30 31 32 2e
00000110: 63 72 79 70 74 6f 70 72 6f 2e 72 75 2f 43 65 72
00000120: 74 45 6e 72 6f 6c 6c 2f 21 30 34 32 32 21 30 34
00000130: 33 35 21 30 34 34 31 21 30 34 34 32 21 30 34 33
00000140: 65 21 30 34 33 32 21 30 34 34 62 21 30 34 33 39
00000150: 25 32 30 21 30 34 32 33 21 30 34 32 36 25 32 30
00000160: 21 30 34 31 65 21 30 34 31 65 21 30 34 31 65 25
00000170: 32 30 21 30 30 32 32 21 30 34 31 61 21 30 34 32
00000180: 30 21 30 34 31 38 21 30 34 31 66 21 30 34 32 32
00000190: 21 30 34 31 65 2d 21 30 34 31 66 21 30 34 32 30
000001A0: 21 30 34 31 65 21 30 30 32 32 28 31 29 2e 63 72
000001B0: 6c 86 3f 68 74 74 70 3a 2f 2f 74 65 73 74 67 6f
000001C0: 73 74 32 30 31 32 2e 63 72 79 70 74 6f 70 72 6f
000001D0: 2e 72 75 2f 43 65 72 74 45 6e 72 6f 6c 6c 2f 74
000001E0: 65 73 74 67 6f 73 74 32 30 31 32 00
(164) Extracts IV from message (fragment 3)
00000000: 00 00 00 00 00 00 00 02
(165) Uses previously computed key K3r
00000000: 31 95 e8 c6 67 af 42 d8 ce f1 e8 99 c6 8b 2a c2
00000010: 29 aa 3d c0 ff 18 5f 3d 79 4a 14 6b 9f ac d0 bb
(166) Composes MGM nonce (fragment 3)
00000000: 00 00 00 02 a5 bb 18 2f
(167) Extracts ICV from message (fragment 3)
00000000: 7d 7c 57 8f 91 d0 c9 eb
Smyslov Expires 9 June 2023 [Page 125]
Internet-Draft GOST algorithms in IKEv2 December 2022
(168) Extracts AAD from message (fragment 3)
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 20 00 00 00 01 00 00 02 20 00 00 02 04
00000020: 00 03 00 04
(169) Extracts ciphertext from message (fragment 3)
00000000: 08 e0 86 04 1f 8a c9 b5 68 cd 96 10 ab 59 99 3a
00000010: 54 7b a9 fa d7 60 46 ec c3 bf bd 8f fa 03 ed 41
00000020: 49 13 ca 8c 9c b8 0c df 81 25 e2 30 ca cb 65 b9
00000030: 16 55 8e 67 f4 b3 7c b8 91 66 76 7c a4 15 98 a3
00000040: 3a c9 48 64 e4 ce 9f 64 67 5d bb 7c 03 23 9e c9
00000050: 81 3f da 48 ee a6 2a d8 fb ac 77 ce ed c2 a4 d9
00000060: 24 d3 71 99 fc 71 2b 6c 10 d3 c3 4b b5 37 e2 55
00000070: 5f d5 ee c0 d6 ff 66 15 8c e5 63 26 96 cd 3f 49
00000080: 2b da 51 94 55 6e 2e e5 2e d1 b4 91 81 50 85 8a
00000090: 84 bd fe 52 ec ce 1b 6b bd 7d 12 b4 de a5 88 c4
000000A0: b7 78 d3 3d 2d 46 ef dc 0f 91 43 be 08 7a ba fa
000000B0: b3 2a c2 17 30 99 79 ae 3a 00 f0 3f 47 4a 9b 11
000000C0: 4d 7b 1b 28 0a 44 5b 1a af 35 4d c3 2b 6b be 11
000000D0: 89 03 b9 de cf 37 57 53 1e a4 f3 3f ce 52 a6 d8
000000E0: 7e 9d d8 d4 2f 9f f5 8f 3c c6 cb 2f 56 e0 97 2d
000000F0: b2 0e 10 66 3b 3c ec 34 50 99 a3 7d 42 ec 96 eb
00000100: 87 48 72 2c 0a 6d af b9 4b 62 48 89 36 01 21 ab
00000110: 8e 79 10 54 9c 83 ab a9 8a 6c 37 c7 ac dc a1 7e
00000120: 41 0e 58 de da aa 95 71 fb 34 50 8a ef 37 0b c4
00000130: 56 ca 4b 2c 75 b7 c7 d9 74 22 c2 65 1a e4 4f 94
00000140: 20 f6 e9 44 f1 69 5e d2 18 d3 30 2e 85 74 25 be
00000150: 2a 88 e2 ce fe 75 ca fa 25 f9 2e 88 8c ed 6f dd
00000160: c3 c5 53 2e da 14 fd 96 28 4a b7 81 3a b3 d5 44
00000170: 26 e2 84 21 f2 5c 0a ed bf c4 34 1c a4 91 5e f3
00000180: 47 ef 0e 9e fb ee 34 95 5d 21 72 43 c9 63 af b4
00000190: f2 98 4a 36 57 77 fc e7 57 52 b2 4d bf 34 2a 98
000001A0: ea 70 cd d7 a9 da 4c 0d 19 05 d4 1e dd 36 c7 c4
000001B0: 31 54 18 2a ef 0e 30 44 97 31 15 57 cd d4 88 52
000001C0: 4e 42 c8 20 89 8d 35 7b 8e 03 96 b4 74 fb ec 3b
000001D0: 14 c2 64 49 92 f2 1f 3d ff 84 2d 92 4c b9 01 04
000001E0: 3d 0a 2a 28 33 de 43 44 6b cf 79 0e
(170) Decrypts ciphertext and verifies ICV using K3r as K_msg,
resulted in plaintext (fragment 3)
Smyslov Expires 9 June 2023 [Page 126]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 28 31 29 2e 63 72 6c 30 81 da 06 08 2b 06 01 05
00000010: 05 07 01 01 04 81 cd 30 81 ca 30 44 06 08 2b 06
00000020: 01 05 05 07 30 02 86 38 68 74 74 70 3a 2f 2f 74
00000030: 65 73 74 67 6f 73 74 32 30 31 32 2e 63 72 79 70
00000040: 74 6f 70 72 6f 2e 72 75 2f 43 65 72 74 45 6e 72
00000050: 6f 6c 6c 2f 72 6f 6f 74 32 30 31 38 2e 63 72 74
00000060: 30 3f 06 08 2b 06 01 05 05 07 30 01 86 33 68 74
00000070: 74 70 3a 2f 2f 74 65 73 74 67 6f 73 74 32 30 31
00000080: 32 2e 63 72 79 70 74 6f 70 72 6f 2e 72 75 2f 6f
00000090: 63 73 70 32 30 31 32 67 2f 6f 63 73 70 2e 73 72
000000A0: 66 30 41 06 08 2b 06 01 05 05 07 30 01 86 35 68
000000B0: 74 74 70 3a 2f 2f 74 65 73 74 67 6f 73 74 32 30
000000C0: 31 32 2e 63 72 79 70 74 6f 70 72 6f 2e 72 75 2f
000000D0: 6f 63 73 70 32 30 31 32 67 73 74 2f 6f 63 73 70
000000E0: 2e 73 72 66 30 0a 06 08 2a 85 03 07 01 01 03 02
000000F0: 03 41 00 a5 39 5f ca 48 e1 c2 93 c1 e0 8a 64 74
00000100: 0f 6b 86 a2 15 9b 46 29 d0 42 71 4f ce e7 52 d7
00000110: d7 3d aa 47 ce cf 52 63 8f 26 b2 17 5f ad 96 57
00000120: 76 ea 5f d0 87 bb 12 29 e4 06 0e e1 5f fd 59 81
00000130: fb 34 6d 29 00 00 55 0e 00 00 00 0c 30 0a 06 08
00000140: 2a 85 03 07 01 01 03 02 c8 40 af f7 46 6f 7b eb
00000150: d2 b9 1c 5a 80 d0 00 93 c2 5e 44 16 40 47 f7 8e
00000160: 61 9c da a5 16 94 83 c5 68 5f e8 4d 03 e7 c2 cd
00000170: 08 07 b8 f3 46 66 6d 05 76 c0 d5 e7 60 1d 59 49
00000180: 09 45 52 c4 95 a7 5a d3 29 00 00 08 00 00 40 00
00000190: 2f 00 00 0c 00 00 40 01 00 00 00 40 21 00 00 10
000001A0: 02 00 00 00 00 01 00 04 0a 01 01 03 2c 00 00 20
000001B0: 00 00 00 1c 01 03 04 02 34 ff 8a 25 03 00 00 08
000001C0: 01 00 00 21 00 00 00 08 05 00 00 00 2d 00 00 18
000001D0: 01 00 00 00 07 00 00 10 00 00 ff ff 0a 01 01 03
000001E0: 0a 01 01 03 29 00 00 18 01 00 00 00
(171) Extracts IV from message (fragment 4)
00000000: 00 00 00 00 00 00 00 03
(172) Uses previously computed key K3r
00000000: 31 95 e8 c6 67 af 42 d8 ce f1 e8 99 c6 8b 2a c2
00000010: 29 aa 3d c0 ff 18 5f 3d 79 4a 14 6b 9f ac d0 bb
(173) Composes MGM nonce (fragment 4)
00000000: 00 00 00 03 a5 bb 18 2f
(174) Extracts ICV from message (fragment 4)
00000000: 6c 27 70 e0 8a 82 bd 4b
Smyslov Expires 9 June 2023 [Page 127]
Internet-Draft GOST algorithms in IKEv2 December 2022
(175) Extracts AAD from message (fragment 4)
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 20 00 00 00 01 00 00 00 5e 00 00 00 42
00000020: 00 04 00 04
(176) Extracts ciphertext from message (fragment 4)
00000000: 81 fa 5d 7a 67 13 b7 93 f4 2c 01 b8 d1 02 8c ab
00000010: 8e 80 47 25 6e c5 69 e3 0c 84 cd 35 9a 0f 7a cc
00000020: 0a 92 7a 74 77 dc ba 60 ac 4a
(177) Decrypts ciphertext and verifies ICV using K3r as K_msg,
resulted in plaintext (fragment 4)
00000000: 00 07 00 00 10 00 00 ff ff 0a 00 00 00 0a 00 00
00000010: ff 29 00 00 08 00 00 40 02 29 00 00 08 00 00 40
00000020: 0a 00 00 00 08 00 00 40 0b 00
(178) Reassembles message from received fragments and parses it
IKE SA Auth
#9280E0822E758778.DB578D97DE119D1E.00000001 IKEv2 R=>I[1563]
4*EF[...]->E[1535]{
IDr[78](DN){CN=IKE Interop Test Server,O=ELVIS-PLUS,C=RU},
CERT[1211](X.509 Cert){308204...FB346D},
AUTH[85](Sig){id-tc26-signwithdigest-gost3410-12-256[12]:
C840AF...A75AD3},
N[8](INITIAL_CONTACT),
N[12](SET_WINDOW_SIZE){64},
CP[16](REPLY){IP4.Address[4]=10.1.1.3},
SA[32]{
P[28](#1:ESP:34FF8A25:2#){
Encryption=ENCR_MAGMA_MGM_KTREE,
ESN=Off}},
TSi[24](1#){10.1.1.3},
TSr[24](1#){10.0.0.0-10.0.0.255},
N[8](ADDITIONAL_TS_POSSIBLE),
N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
N[8](NON_FIRST_FRAGMENTS_ALSO)}
(179) Computes prf(SK_pr, IDr)
00000000: 7d c8 6a 33 12 02 5c 21 1f ab dc 83 0b 01 a5 27
00000010: 82 a2 f2 1f 64 c6 e9 5e 0e c0 4c e5 d9 11 8d 8e
00000020: b9 5c ef fa b0 a3 37 75 94 20 7c e4 60 60 ed 9d
00000030: fa 5e cb 7e e7 79 05 ab fb 51 1b 03 a8 2c c5 6a
Smyslov Expires 9 June 2023 [Page 128]
Internet-Draft GOST algorithms in IKEv2 December 2022
(180) Uses responder's public key
00000000: 5B B3 14 3E F4 70 C1 70 D7 F3 27 25 D8 53 7C E6
00000010: DE 6D 8C 29 F6 B2 32 64 56 DC B1 77 F2 3D FA F4
00000020: 2A 5C F3 74 86 7F 04 72 51 C1 CF B3 43 36 F5 95
00000030: A2 AF 05 47 57 1A 55 C0 78 A4 9D 64 26 B8 61 14
(181) Verifies signature from AUTH payload using algorithm id-tc26-
signwithdigest-gost3410-12-256
00000000: c8 40 af f7 46 6f 7b eb d2 b9 1c 5a 80 d0 00 93
00000010: c2 5e 44 16 40 47 f7 8e 61 9c da a5 16 94 83 c5
00000020: 68 5f e8 4d 03 e7 c2 cd 08 07 b8 f3 46 66 6d 05
00000030: 76 c0 d5 e7 60 1d 59 49 09 45 52 c4 95 a7 5a d3
(182) Computes keys for ESP SAs
00000000: 98 ab 7e db 78 03 a1 e6 c7 21 43 ee b9 7f 5f 56
00000010: 45 bb 51 cd 0b b7 09 a1 af 34 02 87 69 4d 7b a0
00000020: 1d 14 a0 cc
00000000: 70 31 4d 57 94 8b 7e 5c 6f 29 d5 68 1b fd 43 2b
00000010: 19 4e 64 6d 8f 8a 8d 1e ba 72 24 59 c7 0c de 81
00000020: e2 04 84 af
Sub-scenario 2: IKE SA rekeying using the CREATE_CHILD_SA exchange.
Initiator Responder
HDR, SK {SAi, Ni, KEi [,N+]} --->
<--- HDR, SK {SAr, Nr, KEr [,N+]}
Initiator's actions:
(1) Generates random SPIi for new IKE SA
00000000: fd d9 35 89 50 d5 db 22
(2) Generates random IKE nonce Ni
00000000: 2e 98 99 76 4a 67 1e d9 17 27 32 f2 6d 3a 93 3c
00000010: 7f 21 2b 0e 59 90 cf 2a 7f 85 53 c5 ed 8a ec 37
(3) Generates ephemeral private key
Smyslov Expires 9 June 2023 [Page 129]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 29 2c 72 52 e0 6c fd 39 1d 55 04 e9 cf af 82 29
00000010: 89 09 ff 1c ab b2 dd a5 88 f0 34 fd 2c 57 d2 28
(4) Computes public key
00000000: 13 78 88 b1 0f 09 65 43 94 53 b7 26 5d 2a 8b 29
00000010: 5f a9 d6 73 a2 d0 64 6c 98 0f 02 44 d5 5a 1d 13
00000020: 7b b4 4d 18 81 c3 ee 48 35 18 a7 71 ce 4f fa 45
00000030: b0 e9 74 63 37 58 32 7c ff a5 e4 98 b5 02 d4 ef
(5) Creates message
Create Child SA
#9280E0822E758778.DB578D97DE119D1E.00000002 IKEv2 R<-I[213]
E[185]{
SA[44]{
P[40](#1:IKE:FDD9358950D5DB22:3#){
Encryption=ENCR_MAGMA_MGM_KTREE,
PRF=PRF_HMAC_STREEBOG_512,
KE=GOST3410_2012_256}},
NONCE[36]{2E9899...8AEC37},
KE[72](GOST3410_2012_256){137888...02D4EF},
N[12](SET_WINDOW_SIZE){4}}
(6) Computes K3i (i3 = 1)
00000000: da 26 f7 b5 4c 4c 97 23 3f e2 cb 53 23 82 1b 2a
00000010: 40 3c 95 e1 78 2a 8f 3d 1b 0f a4 d3 ab c3 98 3d
(7) Composes MGM nonce
00000000: 00 00 00 00 b4 e1 3e 23
(8) Composes AAD
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 2e 20 24 08 00 00 00 02 00 00 00 d5 21 00 00 b9
(9) Composes plaintext
Smyslov Expires 9 June 2023 [Page 130]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 28 00 00 2c 00 00 00 28 01 01 08 03 fd d9 35 89
00000010: 50 d5 db 22 03 00 00 08 01 00 00 21 03 00 00 08
00000020: 02 00 00 09 00 00 00 08 04 00 00 21 22 00 00 24
00000030: 2e 98 99 76 4a 67 1e d9 17 27 32 f2 6d 3a 93 3c
00000040: 7f 21 2b 0e 59 90 cf 2a 7f 85 53 c5 ed 8a ec 37
00000050: 29 00 00 48 00 21 00 00 13 78 88 b1 0f 09 65 43
00000060: 94 53 b7 26 5d 2a 8b 29 5f a9 d6 73 a2 d0 64 6c
00000070: 98 0f 02 44 d5 5a 1d 13 7b b4 4d 18 81 c3 ee 48
00000080: 35 18 a7 71 ce 4f fa 45 b0 e9 74 63 37 58 32 7c
00000090: ff a5 e4 98 b5 02 d4 ef 00 00 00 0c 00 00 40 01
000000A0: 00 00 00 04 00
(10) Encrypts plaintext using K3i as K_msg, resulted in ciphertext
00000000: f4 d1 2b 1e 51 65 d1 0b 7f 38 c6 16 3f 6e 5e f7
00000010: e0 48 24 15 6a 45 50 51 1a 6e fb 1c 1d b8 52 75
00000020: 80 56 e4 da fb e5 fe 42 08 71 79 99 ef 17 7a 03
00000030: fc c3 c6 b0 15 a5 72 a4 1b de e2 b5 e6 46 56 73
00000040: 3f 78 57 9e 6b b4 05 4c 86 91 c3 61 00 2d 9b 89
00000050: c0 0c 8b 11 0b 41 e7 92 16 7f f8 f6 5d ef f4 29
00000060: 27 ef ba 8c 5f 30 fd a9 12 4c 5f 8d e9 39 97 48
00000070: 9a e1 6a 91 01 c7 8c 94 aa 3b 89 bb 54 40 3b f1
00000080: 8d 2b 0e 75 d8 f6 98 d2 74 e4 b7 2f f5 ac a0 41
00000090: df 73 7f 1c 37 18 b9 79 8e 9d 6f ea e5 8a b6 9f
000000A0: 35 d9 d4 b3 cd
(11) Computes ICV using K3i as K_msg
00000000: 49 96 ac 4c 3f c4 fc 1d
(12) Composes IV
00000000: 00 00 00 00 01 00 00 00
(13) Sends message, peer receives message
Smyslov Expires 9 June 2023 [Page 131]
Internet-Draft GOST algorithms in IKEv2 December 2022
10.111.10.171:54295->10.111.15.45:4500 [217]
00000000: 00 00 00 00 92 80 e0 82 2e 75 87 78 db 57 8d 97
00000010: de 11 9d 1e 2e 20 24 08 00 00 00 02 00 00 00 d5
00000020: 21 00 00 b9 00 00 00 00 01 00 00 00 f4 d1 2b 1e
00000030: 51 65 d1 0b 7f 38 c6 16 3f 6e 5e f7 e0 48 24 15
00000040: 6a 45 50 51 1a 6e fb 1c 1d b8 52 75 80 56 e4 da
00000050: fb e5 fe 42 08 71 79 99 ef 17 7a 03 fc c3 c6 b0
00000060: 15 a5 72 a4 1b de e2 b5 e6 46 56 73 3f 78 57 9e
00000070: 6b b4 05 4c 86 91 c3 61 00 2d 9b 89 c0 0c 8b 11
00000080: 0b 41 e7 92 16 7f f8 f6 5d ef f4 29 27 ef ba 8c
00000090: 5f 30 fd a9 12 4c 5f 8d e9 39 97 48 9a e1 6a 91
000000A0: 01 c7 8c 94 aa 3b 89 bb 54 40 3b f1 8d 2b 0e 75
000000B0: d8 f6 98 d2 74 e4 b7 2f f5 ac a0 41 df 73 7f 1c
000000C0: 37 18 b9 79 8e 9d 6f ea e5 8a b6 9f 35 d9 d4 b3
000000D0: cd 49 96 ac 4c 3f c4 fc 1d
Responder's actions:
(14) Extracts IV from message
00000000: 00 00 00 00 01 00 00 00
(15) Computes K3i (I = 1)
00000000: da 26 f7 b5 4c 4c 97 23 3f e2 cb 53 23 82 1b 2a
00000010: 40 3c 95 e1 78 2a 8f 3d 1b 0f a4 d3 ab c3 98 3d
(16) Composes MGM nonce
00000000: 00 00 00 00 b4 e1 3e 23
(17) Extracts ICV from message
00000000: 49 96 ac 4c 3f c4 fc 1d
(18) Extracts AAD from message
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 2e 20 24 08 00 00 00 02 00 00 00 d5 21 00 00 b9
(19) Extracts ciphertext from message
Smyslov Expires 9 June 2023 [Page 132]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: f4 d1 2b 1e 51 65 d1 0b 7f 38 c6 16 3f 6e 5e f7
00000010: e0 48 24 15 6a 45 50 51 1a 6e fb 1c 1d b8 52 75
00000020: 80 56 e4 da fb e5 fe 42 08 71 79 99 ef 17 7a 03
00000030: fc c3 c6 b0 15 a5 72 a4 1b de e2 b5 e6 46 56 73
00000040: 3f 78 57 9e 6b b4 05 4c 86 91 c3 61 00 2d 9b 89
00000050: c0 0c 8b 11 0b 41 e7 92 16 7f f8 f6 5d ef f4 29
00000060: 27 ef ba 8c 5f 30 fd a9 12 4c 5f 8d e9 39 97 48
00000070: 9a e1 6a 91 01 c7 8c 94 aa 3b 89 bb 54 40 3b f1
00000080: 8d 2b 0e 75 d8 f6 98 d2 74 e4 b7 2f f5 ac a0 41
00000090: df 73 7f 1c 37 18 b9 79 8e 9d 6f ea e5 8a b6 9f
000000A0: 35 d9 d4 b3 cd
(20) Decrypts ciphertext and verifies ICV using K3i as K_msg,
resulted in plaintext
00000000: 28 00 00 2c 00 00 00 28 01 01 08 03 fd d9 35 89
00000010: 50 d5 db 22 03 00 00 08 01 00 00 21 03 00 00 08
00000020: 02 00 00 09 00 00 00 08 04 00 00 21 22 00 00 24
00000030: 2e 98 99 76 4a 67 1e d9 17 27 32 f2 6d 3a 93 3c
00000040: 7f 21 2b 0e 59 90 cf 2a 7f 85 53 c5 ed 8a ec 37
00000050: 29 00 00 48 00 21 00 00 13 78 88 b1 0f 09 65 43
00000060: 94 53 b7 26 5d 2a 8b 29 5f a9 d6 73 a2 d0 64 6c
00000070: 98 0f 02 44 d5 5a 1d 13 7b b4 4d 18 81 c3 ee 48
00000080: 35 18 a7 71 ce 4f fa 45 b0 e9 74 63 37 58 32 7c
00000090: ff a5 e4 98 b5 02 d4 ef 00 00 00 0c 00 00 40 01
000000A0: 00 00 00 04 00
(21) Parses received message
Create Child SA
#9280E0822E758778.DB578D97DE119D1E.00000002 IKEv2 I->R[213]
E[185]{
SA[44]{
P[40](#1:IKE:FDD9358950D5DB22:3#){
Encryption=ENCR_MAGMA_MGM_KTREE,
PRF=PRF_HMAC_STREEBOG_512,
KE=GOST3410_2012_256}},
NONCE[36]{2E9899...8AEC37},
KE[72](GOST3410_2012_256){137888...02D4EF},
N[12](SET_WINDOW_SIZE){4}}
(22) Generates random SPIr for new IKE SA
00000000: 81 27 5d a2 98 90 1a 06
(23) Generates random IKE nonce Nr
Smyslov Expires 9 June 2023 [Page 133]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: cf 8e 80 0f 84 c9 d8 50 06 a4 02 b5 19 2a 0f a0
00000010: d7 f4 db 70 ca f1 2b 9b 02 ce 92 8d 97 20 43 96
(24) Generates ephemeral private key
00000000: af 9a 62 7d d3 b8 23 d2 49 7f f9 0a 9d f2 55 8c
00000010: ae 9c 48 ad f5 a4 ee a5 f6 24 5f 48 3c f8 42 0d
(25) Computes public key
00000000: ba 9c bb 8d c4 51 68 1c 63 50 9c 5b 78 c2 93 be
00000010: 52 9b 7a a0 6b 14 1e 0f 52 d4 a3 0e 71 d7 5b 4c
00000020: aa 58 af 26 21 d9 b2 92 87 1c d9 7a 89 6f c2 7d
00000030: 7d 95 96 39 a2 36 37 8f f4 b9 1d 2f a8 b7 f5 c9
(26) Computes shared key
00000000: ae 27 a3 df af 7d bb ad f4 5c 19 64 c9 27 eb 41
00000010: 14 fc 1a f8 25 cc 93 50 a2 64 5f 04 67 0a 74 cb
(27) Computes SKEYSEED for new SA
00000000: 31 2b 7f 6a 24 23 8f ed b6 ac 40 a7 58 2e 28 54
00000010: 47 53 76 20 05 c7 00 c8 87 c1 51 68 93 40 7e 2d
00000020: ed 14 c4 78 9a f4 12 e7 f0 19 4d 4d 12 45 0d 42
00000030: e4 b2 29 e5 57 b4 90 cc cf d5 94 84 b4 59 5e b9
(28) Computes SK_d for new SA
00000000: 38 ec b5 1c 33 77 f8 62 29 9f 00 d9 98 5f a4 4c
00000010: ea c7 97 31 01 b9 39 ce 16 2c 1c 30 dd 53 d8 97
00000020: 48 49 cd ca 82 7b 57 55 e4 5a 33 1c 80 e6 b9 1f
00000030: 2c 80 b2 e5 48 8a 23 9d 8e 42 32 ed 4f 63 3a f1
(29) Computes SK_ei for new SA
00000000: 17 1c 7c 08 bd 1a 3d 50 58 e1 13 58 9d c4 21 c6
00000010: a3 44 e5 c1 f5 14 e8 22 ed 94 03 2e 76 47 b1 8d
00000020: 2b 3d 3b 2f
(30) Computes SK_er for new SA
00000000: 4a a9 b7 36 1d 2c e1 e0 dc 55 b6 45 0a 38 f1 9a
00000010: 83 cb 8f 79 57 5e df d8 5f 5e 22 a8 36 bd 3a 4a
00000020: d2 f6 27 21
(31) Creates message
Smyslov Expires 9 June 2023 [Page 134]
Internet-Draft GOST algorithms in IKEv2 December 2022
Create Child SA
#9280E0822E758778.DB578D97DE119D1E.00000002 IKEv2 I<=R[213]
E[185]{
SA[44]{
P[40](#1:IKE:81275DA298901A06:3#){
Encryption=ENCR_MAGMA_MGM_KTREE,
PRF=PRF_HMAC_STREEBOG_512,
KE=GOST3410_2012_256}},
NONCE[36]{CF8E80...204396},
KE[72](GOST3410_2012_256){BA9CBB...B7F5C9},
N[12](SET_WINDOW_SIZE){64}}
(32) Computes K3r (i3 = 1)
00000000: 9b 6c de 40 b4 63 c4 85 db 09 b7 24 f4 60 fa d0
00000010: 1f d3 f3 fa e9 f8 e9 03 0c 34 cb 51 52 51 5b 56
(33) Composes MGM nonce
00000000: 00 00 00 00 a5 bb 18 2f
(34) Composes AAD
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 2e 20 24 20 00 00 00 02 00 00 00 d5 21 00 00 b9
(35) Composes plaintext
00000000: 28 00 00 2c 00 00 00 28 01 01 08 03 81 27 5d a2
00000010: 98 90 1a 06 03 00 00 08 01 00 00 21 03 00 00 08
00000020: 02 00 00 09 00 00 00 08 04 00 00 21 22 00 00 24
00000030: cf 8e 80 0f 84 c9 d8 50 06 a4 02 b5 19 2a 0f a0
00000040: d7 f4 db 70 ca f1 2b 9b 02 ce 92 8d 97 20 43 96
00000050: 29 00 00 48 00 21 00 00 ba 9c bb 8d c4 51 68 1c
00000060: 63 50 9c 5b 78 c2 93 be 52 9b 7a a0 6b 14 1e 0f
00000070: 52 d4 a3 0e 71 d7 5b 4c aa 58 af 26 21 d9 b2 92
00000080: 87 1c d9 7a 89 6f c2 7d 7d 95 96 39 a2 36 37 8f
00000090: f4 b9 1d 2f a8 b7 f5 c9 00 00 00 0c 00 00 40 01
000000A0: 00 00 00 40 00
(36) Encrypts plaintext using K3r as K_msg, resulted in ciphertext
Smyslov Expires 9 June 2023 [Page 135]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 6e a0 bc 5e 58 16 91 db 1f e0 22 20 b6 75 fd e6
00000010: e0 01 a7 86 0c 9c a6 77 ef cd f6 be e4 c8 31 18
00000020: c7 7f 68 58 d8 85 75 6c 1d 4a 0e 66 09 86 7c 84
00000030: 30 a7 2e f0 26 2b 19 da c5 25 34 5b 19 f0 97 86
00000040: 54 ca 08 92 65 9c e3 92 4d ee 92 0a a0 86 d7 3f
00000050: 4d d9 f2 7e 32 48 b3 9f ea 54 d2 96 99 42 30 6b
00000060: b0 b4 fe 5d 4a fc 8c ff 54 f6 2f b7 ca 7b 83 01
00000070: 36 85 57 78 b3 74 84 72 9d 94 2f 6f ae 4e 26 bb
00000080: 6e 06 84 2b ac f8 99 29 31 ad 7b dc db c0 0f 19
00000090: 5f 06 42 2d 90 d2 6a 05 8a 41 ee 24 e2 49 a5 b6
000000A0: 61 e8 cb 46 3c
(37) Computes ICV using K3r as K_msg
00000000: dc c4 ca 6d 07 cf 31 a8
(38) Composes IV
00000000: 00 00 00 00 01 00 00 00
(39) Sends message, peer receives message
10.111.10.171:54295<-10.111.15.45:4500 [217]
00000000: 00 00 00 00 92 80 e0 82 2e 75 87 78 db 57 8d 97
00000010: de 11 9d 1e 2e 20 24 20 00 00 00 02 00 00 00 d5
00000020: 21 00 00 b9 00 00 00 00 01 00 00 00 6e a0 bc 5e
00000030: 58 16 91 db 1f e0 22 20 b6 75 fd e6 e0 01 a7 86
00000040: 0c 9c a6 77 ef cd f6 be e4 c8 31 18 c7 7f 68 58
00000050: d8 85 75 6c 1d 4a 0e 66 09 86 7c 84 30 a7 2e f0
00000060: 26 2b 19 da c5 25 34 5b 19 f0 97 86 54 ca 08 92
00000070: 65 9c e3 92 4d ee 92 0a a0 86 d7 3f 4d d9 f2 7e
00000080: 32 48 b3 9f ea 54 d2 96 99 42 30 6b b0 b4 fe 5d
00000090: 4a fc 8c ff 54 f6 2f b7 ca 7b 83 01 36 85 57 78
000000A0: b3 74 84 72 9d 94 2f 6f ae 4e 26 bb 6e 06 84 2b
000000B0: ac f8 99 29 31 ad 7b dc db c0 0f 19 5f 06 42 2d
000000C0: 90 d2 6a 05 8a 41 ee 24 e2 49 a5 b6 61 e8 cb 46
000000D0: 3c dc c4 ca 6d 07 cf 31 a8
Initiator's actions:
(40) Extracts IV from message
00000000: 00 00 00 00 01 00 00 00
(41) Computes K3r (i3 = 1)
Smyslov Expires 9 June 2023 [Page 136]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 9b 6c de 40 b4 63 c4 85 db 09 b7 24 f4 60 fa d0
00000010: 1f d3 f3 fa e9 f8 e9 03 0c 34 cb 51 52 51 5b 56
(42) Composes MGM nonce
00000000: 00 00 00 00 a5 bb 18 2f
(43) Extracts ICV from message
00000000: dc c4 ca 6d 07 cf 31 a8
(44) Extracts AAD from message
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 2e 20 24 20 00 00 00 02 00 00 00 d5 21 00 00 b9
(45) Extracts ciphertext from message
00000000: 6e a0 bc 5e 58 16 91 db 1f e0 22 20 b6 75 fd e6
00000010: e0 01 a7 86 0c 9c a6 77 ef cd f6 be e4 c8 31 18
00000020: c7 7f 68 58 d8 85 75 6c 1d 4a 0e 66 09 86 7c 84
00000030: 30 a7 2e f0 26 2b 19 da c5 25 34 5b 19 f0 97 86
00000040: 54 ca 08 92 65 9c e3 92 4d ee 92 0a a0 86 d7 3f
00000050: 4d d9 f2 7e 32 48 b3 9f ea 54 d2 96 99 42 30 6b
00000060: b0 b4 fe 5d 4a fc 8c ff 54 f6 2f b7 ca 7b 83 01
00000070: 36 85 57 78 b3 74 84 72 9d 94 2f 6f ae 4e 26 bb
00000080: 6e 06 84 2b ac f8 99 29 31 ad 7b dc db c0 0f 19
00000090: 5f 06 42 2d 90 d2 6a 05 8a 41 ee 24 e2 49 a5 b6
000000A0: 61 e8 cb 46 3c
(46) Decrypts ciphertext and verifies ICV using K3r as K_msg,
resulted in plaintext
00000000: 28 00 00 2c 00 00 00 28 01 01 08 03 81 27 5d a2
00000010: 98 90 1a 06 03 00 00 08 01 00 00 21 03 00 00 08
00000020: 02 00 00 09 00 00 00 08 04 00 00 21 22 00 00 24
00000030: cf 8e 80 0f 84 c9 d8 50 06 a4 02 b5 19 2a 0f a0
00000040: d7 f4 db 70 ca f1 2b 9b 02 ce 92 8d 97 20 43 96
00000050: 29 00 00 48 00 21 00 00 ba 9c bb 8d c4 51 68 1c
00000060: 63 50 9c 5b 78 c2 93 be 52 9b 7a a0 6b 14 1e 0f
00000070: 52 d4 a3 0e 71 d7 5b 4c aa 58 af 26 21 d9 b2 92
00000080: 87 1c d9 7a 89 6f c2 7d 7d 95 96 39 a2 36 37 8f
00000090: f4 b9 1d 2f a8 b7 f5 c9 00 00 00 0c 00 00 40 01
000000A0: 00 00 00 40 00
(47) Parses received message
Smyslov Expires 9 June 2023 [Page 137]
Internet-Draft GOST algorithms in IKEv2 December 2022
Create Child SA
#9280E0822E758778.DB578D97DE119D1E.00000002 IKEv2 R=>I[213]
E[185]{
SA[44]{
P[40](#1:IKE:81275DA298901A06:3#){
Encryption=ENCR_MAGMA_MGM_KTREE,
PRF=PRF_HMAC_STREEBOG_512,
KE=GOST3410_2012_256}},
NONCE[36]{CF8E80...204396},
KE[72](GOST3410_2012_256){BA9CBB...B7F5C9},
N[12](SET_WINDOW_SIZE){64}}
(48) Computes shared key
00000000: ae 27 a3 df af 7d bb ad f4 5c 19 64 c9 27 eb 41
00000010: 14 fc 1a f8 25 cc 93 50 a2 64 5f 04 67 0a 74 cb
(49) Computes SKEYSEED for new SA
00000000: 31 2b 7f 6a 24 23 8f ed b6 ac 40 a7 58 2e 28 54
00000010: 47 53 76 20 05 c7 00 c8 87 c1 51 68 93 40 7e 2d
00000020: ed 14 c4 78 9a f4 12 e7 f0 19 4d 4d 12 45 0d 42
00000030: e4 b2 29 e5 57 b4 90 cc cf d5 94 84 b4 59 5e b9
(50) Computes SK_d for new SA
00000000: 38 ec b5 1c 33 77 f8 62 29 9f 00 d9 98 5f a4 4c
00000010: ea c7 97 31 01 b9 39 ce 16 2c 1c 30 dd 53 d8 97
00000020: 48 49 cd ca 82 7b 57 55 e4 5a 33 1c 80 e6 b9 1f
00000030: 2c 80 b2 e5 48 8a 23 9d 8e 42 32 ed 4f 63 3a f1
(51) Computes SK_ei for new SA
00000000: 17 1c 7c 08 bd 1a 3d 50 58 e1 13 58 9d c4 21 c6
00000010: a3 44 e5 c1 f5 14 e8 22 ed 94 03 2e 76 47 b1 8d
00000020: 2b 3d 3b 2f
(52) Computes SK_er for new SA
00000000: 4a a9 b7 36 1d 2c e1 e0 dc 55 b6 45 0a 38 f1 9a
00000010: 83 cb 8f 79 57 5e df d8 5f 5e 22 a8 36 bd 3a 4a
00000020: d2 f6 27 21
Sub-scenario 3: ESP SAs rekeying without PFS using the
CREATE_CHILD_SA exchange.
Smyslov Expires 9 June 2023 [Page 138]
Internet-Draft GOST algorithms in IKEv2 December 2022
Initiator Responder
HDR, SK {N(REKEY_SA), SAi, Ni,
TSi, TSr [,N+]} --->
<--- HDR, SK {SAr, Nr,
TSi, TSr [,N+]}
Initiator's actions:
(1) Generates random IKE nonce Ni
00000000: b5 48 18 7d 30 d8 ea 49 20 d0 9d 42 de 9e 91 ce
00000010: b3 1c 41 85 37 66 d8 9e c6 a6 f8 08 93 f4 48 23
(2) Computes K1i (i1 = 0)
00000000: 28 b9 3c 93 ea db 74 38 64 87 8a 28 8d e0 38 5c
00000010: 14 cb ea 9f 67 58 a6 ee e2 2d c9 37 bb c8 41 69
(3) Computes K2i (i2 = 0)
00000000: 75 11 35 65 e6 29 70 2a d9 7d 38 a8 3a e3 aa 8a
00000010: 9e fb 80 af f5 52 71 be c9 c6 c3 4b 4b 40 96 44
(4) Computes K3i (i3 = 0)
00000000: 45 6f 03 f7 ad 75 eb e9 52 b8 8f 0d e8 36 47 69
00000010: 4d 2e f2 ba 15 e6 8c 89 1c 99 62 64 fb 0e 70 0a
(5) Selects SPI for new incoming ESP SA
00000000: 9a 8c 6a 9b
(6) Creates message
Create Child SA
#FDD9358950D5DB22.81275DA298901A06.00000000 IKEv2 R<-I[193]
E[165]{
N[12](ESP:6C0CA570:REKEY_SA),
SA[32]{
P[28](#1:ESP:9A8C6A9B:2#){
Encryption=ENCR_MAGMA_MGM_KTREE,
ESN=Off}},
NONCE[36]{B54818...F44823},
TSi[24](1#){10.1.1.3},
TSr[24](1#){10.0.0.0-10.0.0.255},
N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
N[8](NON_FIRST_FRAGMENTS_ALSO)}
Smyslov Expires 9 June 2023 [Page 139]
Internet-Draft GOST algorithms in IKEv2 December 2022
(7) Composes MGM nonce
00000000: 00 00 00 00 2b 3d 3b 2f
(8) Composes AAD
00000000: fd d9 35 89 50 d5 db 22 81 27 5d a2 98 90 1a 06
00000010: 2e 20 24 08 00 00 00 00 00 00 00 c1 29 00 00 a5
(9) Composes plaintext
00000000: 21 00 00 0c 03 04 40 09 6c 0c a5 70 28 00 00 20
00000010: 00 00 00 1c 01 03 04 02 9a 8c 6a 9b 03 00 00 08
00000020: 01 00 00 21 00 00 00 08 05 00 00 00 2c 00 00 24
00000030: b5 48 18 7d 30 d8 ea 49 20 d0 9d 42 de 9e 91 ce
00000040: b3 1c 41 85 37 66 d8 9e c6 a6 f8 08 93 f4 48 23
00000050: 2d 00 00 18 01 00 00 00 07 00 00 10 00 00 ff ff
00000060: 0a 01 01 03 0a 01 01 03 29 00 00 18 01 00 00 00
00000070: 07 00 00 10 00 00 ff ff 0a 00 00 00 0a 00 00 ff
00000080: 29 00 00 08 00 00 40 0a 00 00 00 08 00 00 40 0b
00000090: 00
(10) Encrypts plaintext using K3i as K_msg, resulted in ciphertext
00000000: 47 71 bb 57 2a 1a 58 a6 44 cb 60 d4 8e 5c cc 0a
00000010: b9 34 0f 34 80 cf a2 38 54 f6 70 3b 98 4e 8f 9f
00000020: 3b 5c 5a 04 06 dc e9 d4 d3 54 c6 4d 73 09 10 c5
00000030: 4e 26 c4 27 fd cb 54 e1 cf e0 fd b4 9f f8 00 41
00000040: 41 c8 58 b2 c9 3a d8 e0 19 40 a3 89 ee 26 d4 84
00000050: 69 e9 52 68 d5 e1 ee f0 89 6e d3 95 34 62 ad 2e
00000060: e6 77 17 b8 6c 25 52 7f d8 70 9c 36 0b c8 1d 1a
00000070: 43 50 82 2a be b6 31 ff 2f 43 11 f7 d0 60 bf 62
00000080: b9 08 c3 09 a3 78 fb 5e 76 57 91 5d 48 1c aa d2
00000090: a3
(11) Computes ICV using K3i as K_msg
00000000: b3 05 bd 43 2f 87 0c 3f
(12) Composes IV
00000000: 00 00 00 00 00 00 00 00
(13) Sends message, peer receives message
Smyslov Expires 9 June 2023 [Page 140]
Internet-Draft GOST algorithms in IKEv2 December 2022
10.111.10.171:54295->10.111.15.45:4500 [197]
00000000: 00 00 00 00 fd d9 35 89 50 d5 db 22 81 27 5d a2
00000010: 98 90 1a 06 2e 20 24 08 00 00 00 00 00 00 00 c1
00000020: 29 00 00 a5 00 00 00 00 00 00 00 00 47 71 bb 57
00000030: 2a 1a 58 a6 44 cb 60 d4 8e 5c cc 0a b9 34 0f 34
00000040: 80 cf a2 38 54 f6 70 3b 98 4e 8f 9f 3b 5c 5a 04
00000050: 06 dc e9 d4 d3 54 c6 4d 73 09 10 c5 4e 26 c4 27
00000060: fd cb 54 e1 cf e0 fd b4 9f f8 00 41 41 c8 58 b2
00000070: c9 3a d8 e0 19 40 a3 89 ee 26 d4 84 69 e9 52 68
00000080: d5 e1 ee f0 89 6e d3 95 34 62 ad 2e e6 77 17 b8
00000090: 6c 25 52 7f d8 70 9c 36 0b c8 1d 1a 43 50 82 2a
000000A0: be b6 31 ff 2f 43 11 f7 d0 60 bf 62 b9 08 c3 09
000000B0: a3 78 fb 5e 76 57 91 5d 48 1c aa d2 a3 b3 05 bd
000000C0: 43 2f 87 0c 3f
Responder's actions:
(14) Extracts IV from message
00000000: 00 00 00 00 00 00 00 00
(15) Computes K1i (i1 = 0)
00000000: 28 b9 3c 93 ea db 74 38 64 87 8a 28 8d e0 38 5c
00000010: 14 cb ea 9f 67 58 a6 ee e2 2d c9 37 bb c8 41 69
(16) Computes K2i (i2 = 0)
00000000: 75 11 35 65 e6 29 70 2a d9 7d 38 a8 3a e3 aa 8a
00000010: 9e fb 80 af f5 52 71 be c9 c6 c3 4b 4b 40 96 44
(17) Computes K3i (i3 = 0)
00000000: 45 6f 03 f7 ad 75 eb e9 52 b8 8f 0d e8 36 47 69
00000010: 4d 2e f2 ba 15 e6 8c 89 1c 99 62 64 fb 0e 70 0a
(18) Composes MGM nonce
00000000: 00 00 00 00 2b 3d 3b 2f
(19) Extracts ICV from message
00000000: b3 05 bd 43 2f 87 0c 3f
(20) Extracts AAD from message
Smyslov Expires 9 June 2023 [Page 141]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: fd d9 35 89 50 d5 db 22 81 27 5d a2 98 90 1a 06
00000010: 2e 20 24 08 00 00 00 00 00 00 00 c1 29 00 00 a5
(21) Extracts ciphertext from message
00000000: 47 71 bb 57 2a 1a 58 a6 44 cb 60 d4 8e 5c cc 0a
00000010: b9 34 0f 34 80 cf a2 38 54 f6 70 3b 98 4e 8f 9f
00000020: 3b 5c 5a 04 06 dc e9 d4 d3 54 c6 4d 73 09 10 c5
00000030: 4e 26 c4 27 fd cb 54 e1 cf e0 fd b4 9f f8 00 41
00000040: 41 c8 58 b2 c9 3a d8 e0 19 40 a3 89 ee 26 d4 84
00000050: 69 e9 52 68 d5 e1 ee f0 89 6e d3 95 34 62 ad 2e
00000060: e6 77 17 b8 6c 25 52 7f d8 70 9c 36 0b c8 1d 1a
00000070: 43 50 82 2a be b6 31 ff 2f 43 11 f7 d0 60 bf 62
00000080: b9 08 c3 09 a3 78 fb 5e 76 57 91 5d 48 1c aa d2
00000090: a3
(22) Decrypts ciphertext and verifies ICV using K3i as K_msg,
resulted in plaintext
00000000: 21 00 00 0c 03 04 40 09 6c 0c a5 70 28 00 00 20
00000010: 00 00 00 1c 01 03 04 02 9a 8c 6a 9b 03 00 00 08
00000020: 01 00 00 21 00 00 00 08 05 00 00 00 2c 00 00 24
00000030: b5 48 18 7d 30 d8 ea 49 20 d0 9d 42 de 9e 91 ce
00000040: b3 1c 41 85 37 66 d8 9e c6 a6 f8 08 93 f4 48 23
00000050: 2d 00 00 18 01 00 00 00 07 00 00 10 00 00 ff ff
00000060: 0a 01 01 03 0a 01 01 03 29 00 00 18 01 00 00 00
00000070: 07 00 00 10 00 00 ff ff 0a 00 00 00 0a 00 00 ff
00000080: 29 00 00 08 00 00 40 0a 00 00 00 08 00 00 40 0b
00000090: 00
(23) Parses received message
Create Child SA
#FDD9358950D5DB22.81275DA298901A06.00000000 IKEv2 I->R[193]
E[165]{
N[12](ESP:6C0CA570:REKEY_SA),
SA[32]{
P[28](#1:ESP:9A8C6A9B:2#){
Encryption=ENCR_MAGMA_MGM_KTREE,
ESN=Off}},
NONCE[36]{B54818...F44823},
TSi[24](1#){10.1.1.3},
TSr[24](1#){10.0.0.0-10.0.0.255},
N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
N[8](NON_FIRST_FRAGMENTS_ALSO)}
(24) Generates random IKE nonce Nr
Smyslov Expires 9 June 2023 [Page 142]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 41 5e a7 ed 7e 65 d3 ff d3 df ed 5f b5 c8 5c 60
00000010: 2b 9c 15 14 eb 52 97 b7 fc aa 33 c4 64 f3 58 06
(25) Selects SPI for new incoming ESP SA
00000000: 15 4f 35 39
(26) Computes keys for new ESP SAs
00000000: 6a b6 a0 e7 05 d3 51 16 6f 4f b9 d6 59 0c c8 69
00000010: 43 70 cf 6f 0d 32 c3 7d 92 75 00 4b 0a 76 35 67
00000020: 64 0e 3a fe
00000000: 65 56 1c 79 27 cb c6 d6 8c b8 69 0f 40 00 d2 0a
00000010: c1 49 1c d1 86 88 db 88 ae f3 be 82 0c 71 b7 c9
00000020: 6c cf a3 64
(27) Creates message
Create Child SA
#FDD9358950D5DB22.81275DA298901A06.00000000 IKEv2 I<=R[189]
E[161]{
SA[32]{
P[28](#1:ESP:154F3539:2#){
Encryption=ENCR_MAGMA_MGM_KTREE,
ESN=Off}},
NONCE[36]{415EA7...F35806},
TSi[24](1#){10.1.1.3},
TSr[24](1#){10.0.0.0-10.0.0.255},
N[8](ADDITIONAL_TS_POSSIBLE),
N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
N[8](NON_FIRST_FRAGMENTS_ALSO)}
(28) Computes K1r (i1 = 0)
00000000: 51 49 d5 41 33 91 45 dd ff 04 f5 05 e5 21 39 f2
00000010: 3a 71 1c 18 ef 39 94 1e dd 0c 70 e5 14 12 43 0a
(29) Computes K2r (i2 = 0)
00000000: 0e 8f 21 54 2e fc 81 79 57 c4 c9 0b e0 25 9a 59
00000010: 29 26 0e 86 20 bf d4 e6 00 32 23 43 ae f0 11 52
(30) Computes K3r (i3 = 0)
00000000: 92 b8 b2 d6 7a 2d e1 db 5f e1 39 d2 57 c8 24 5f
00000010: f6 22 54 de fc 35 35 c9 24 cf a5 4a e1 5d 75 71
(31) Composes MGM nonce
Smyslov Expires 9 June 2023 [Page 143]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 00 00 00 00 d2 f6 27 21
(32) Composes AAD
00000000: fd d9 35 89 50 d5 db 22 81 27 5d a2 98 90 1a 06
00000010: 2e 20 24 20 00 00 00 00 00 00 00 bd 21 00 00 a1
(33) Composes plaintext
00000000: 28 00 00 20 00 00 00 1c 01 03 04 02 15 4f 35 39
00000010: 03 00 00 08 01 00 00 21 00 00 00 08 05 00 00 00
00000020: 2c 00 00 24 41 5e a7 ed 7e 65 d3 ff d3 df ed 5f
00000030: b5 c8 5c 60 2b 9c 15 14 eb 52 97 b7 fc aa 33 c4
00000040: 64 f3 58 06 2d 00 00 18 01 00 00 00 07 00 00 10
00000050: 00 00 ff ff 0a 01 01 03 0a 01 01 03 29 00 00 18
00000060: 01 00 00 00 07 00 00 10 00 00 ff ff 0a 00 00 00
00000070: 0a 00 00 ff 29 00 00 08 00 00 40 02 29 00 00 08
00000080: 00 00 40 0a 00 00 00 08 00 00 40 0b 00
(34) Encrypts plaintext using K3r as K_msg, resulted in ciphertext
00000000: 2e c7 13 73 4c cc f8 f3 51 71 ac d9 7a 6e 20 2c
00000010: 68 70 bb 8f 82 42 2a 14 e3 8d b8 25 10 9a 1f b6
00000020: 51 ef c5 35 50 bf df 8e 96 bc 94 5a e5 4d 9d 99
00000030: 9a 14 36 d1 4b 61 e1 de 3b 0d 12 94 e5 72 60 00
00000040: 0f 9d dd 2b e1 97 25 4c 5c ee 48 2e 9b f7 d8 9e
00000050: 01 6b 1d 92 b7 c1 7f 16 81 0f e2 e3 14 1c 27 c7
00000060: 35 e9 e3 fd b8 fc 5d fb a2 ee 2f f9 b0 17 39 ca
00000070: f1 2e b1 13 99 e0 da 10 1a 29 74 26 a3 63 ce 09
00000080: 6a f9 1b 67 4a f2 fb 0f 17 5e 48 1a 93
(35) Computes ICV using K3r as K_msg
00000000: 57 b4 30 41 07 50 b1 cc
(36) Composes IV
00000000: 00 00 00 00 00 00 00 00
(37) Sends message, peer receives message
Smyslov Expires 9 June 2023 [Page 144]
Internet-Draft GOST algorithms in IKEv2 December 2022
10.111.10.171:54295<-10.111.15.45:4500 [193]
00000000: 00 00 00 00 fd d9 35 89 50 d5 db 22 81 27 5d a2
00000010: 98 90 1a 06 2e 20 24 20 00 00 00 00 00 00 00 bd
00000020: 21 00 00 a1 00 00 00 00 00 00 00 00 2e c7 13 73
00000030: 4c cc f8 f3 51 71 ac d9 7a 6e 20 2c 68 70 bb 8f
00000040: 82 42 2a 14 e3 8d b8 25 10 9a 1f b6 51 ef c5 35
00000050: 50 bf df 8e 96 bc 94 5a e5 4d 9d 99 9a 14 36 d1
00000060: 4b 61 e1 de 3b 0d 12 94 e5 72 60 00 0f 9d dd 2b
00000070: e1 97 25 4c 5c ee 48 2e 9b f7 d8 9e 01 6b 1d 92
00000080: b7 c1 7f 16 81 0f e2 e3 14 1c 27 c7 35 e9 e3 fd
00000090: b8 fc 5d fb a2 ee 2f f9 b0 17 39 ca f1 2e b1 13
000000A0: 99 e0 da 10 1a 29 74 26 a3 63 ce 09 6a f9 1b 67
000000B0: 4a f2 fb 0f 17 5e 48 1a 93 57 b4 30 41 07 50 b1
000000C0: cc
Initiator's actions:
(38) Extracts IV from message
00000000: 00 00 00 00 00 00 00 00
(39) Computes K1r (i1 = 0)
00000000: 51 49 d5 41 33 91 45 dd ff 04 f5 05 e5 21 39 f2
00000010: 3a 71 1c 18 ef 39 94 1e dd 0c 70 e5 14 12 43 0a
(40) Computes K2r (i2 = 0)
00000000: 0e 8f 21 54 2e fc 81 79 57 c4 c9 0b e0 25 9a 59
00000010: 29 26 0e 86 20 bf d4 e6 00 32 23 43 ae f0 11 52
(41) Computes K3r (i3 = 0)
00000000: 92 b8 b2 d6 7a 2d e1 db 5f e1 39 d2 57 c8 24 5f
00000010: f6 22 54 de fc 35 35 c9 24 cf a5 4a e1 5d 75 71
(42) Composes MGM nonce
00000000: 00 00 00 00 d2 f6 27 21
(43) Extracts ICV from message
00000000: 57 b4 30 41 07 50 b1 cc
(44) Extracts AAD from message
Smyslov Expires 9 June 2023 [Page 145]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: fd d9 35 89 50 d5 db 22 81 27 5d a2 98 90 1a 06
00000010: 2e 20 24 20 00 00 00 00 00 00 00 bd 21 00 00 a1
(45) Extracts ciphertext from message
00000000: 2e c7 13 73 4c cc f8 f3 51 71 ac d9 7a 6e 20 2c
00000010: 68 70 bb 8f 82 42 2a 14 e3 8d b8 25 10 9a 1f b6
00000020: 51 ef c5 35 50 bf df 8e 96 bc 94 5a e5 4d 9d 99
00000030: 9a 14 36 d1 4b 61 e1 de 3b 0d 12 94 e5 72 60 00
00000040: 0f 9d dd 2b e1 97 25 4c 5c ee 48 2e 9b f7 d8 9e
00000050: 01 6b 1d 92 b7 c1 7f 16 81 0f e2 e3 14 1c 27 c7
00000060: 35 e9 e3 fd b8 fc 5d fb a2 ee 2f f9 b0 17 39 ca
00000070: f1 2e b1 13 99 e0 da 10 1a 29 74 26 a3 63 ce 09
00000080: 6a f9 1b 67 4a f2 fb 0f 17 5e 48 1a 93
(46) Decrypts ciphertext and verifies ICV using K3r as K_msg,
resulted in plaintext
00000000: 28 00 00 20 00 00 00 1c 01 03 04 02 15 4f 35 39
00000010: 03 00 00 08 01 00 00 21 00 00 00 08 05 00 00 00
00000020: 2c 00 00 24 41 5e a7 ed 7e 65 d3 ff d3 df ed 5f
00000030: b5 c8 5c 60 2b 9c 15 14 eb 52 97 b7 fc aa 33 c4
00000040: 64 f3 58 06 2d 00 00 18 01 00 00 00 07 00 00 10
00000050: 00 00 ff ff 0a 01 01 03 0a 01 01 03 29 00 00 18
00000060: 01 00 00 00 07 00 00 10 00 00 ff ff 0a 00 00 00
00000070: 0a 00 00 ff 29 00 00 08 00 00 40 02 29 00 00 08
00000080: 00 00 40 0a 00 00 00 08 00 00 40 0b 00
(47) Parses received message
Create Child SA
#FDD9358950D5DB22.81275DA298901A06.00000000 IKEv2 R=>I[189]
E[161]{
SA[32]{
P[28](#1:ESP:154F3539:2#){
Encryption=ENCR_MAGMA_MGM_KTREE,
ESN=Off}},
NONCE[36]{415EA7...F35806},
TSi[24](1#){10.1.1.3},
TSr[24](1#){10.0.0.0-10.0.0.255},
N[8](ADDITIONAL_TS_POSSIBLE),
N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
N[8](NON_FIRST_FRAGMENTS_ALSO)}
(48) Computes keys for new ESP SAs
Smyslov Expires 9 June 2023 [Page 146]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 6a b6 a0 e7 05 d3 51 16 6f 4f b9 d6 59 0c c8 69
00000010: 43 70 cf 6f 0d 32 c3 7d 92 75 00 4b 0a 76 35 67
00000020: 64 0e 3a fe
00000000: 65 56 1c 79 27 cb c6 d6 8c b8 69 0f 40 00 d2 0a
00000010: c1 49 1c d1 86 88 db 88 ae f3 be 82 0c 71 b7 c9
00000020: 6c cf a3 64
Sub-scenario 4: IKE SA deletion using the INFORMATIONAL exchange.
Initiator Responder
HDR, SK {D} --->
<--- HDR, SK { }
Initiator's actions:
(1) Creates message
Informational
#FDD9358950D5DB22.81275DA298901A06.00000003 IKEv2 R<-I[57]
E[29]{
D[8](IKE)}
(2) Uses previously computed key K3i
00000000: 45 6f 03 f7 ad 75 eb e9 52 b8 8f 0d e8 36 47 69
00000010: 4d 2e f2 ba 15 e6 8c 89 1c 99 62 64 fb 0e 70 0a
(3) Composes MGM nonce
00000000: 00 00 00 03 2b 3d 3b 2f
(4) Composes AAD
00000000: fd d9 35 89 50 d5 db 22 81 27 5d a2 98 90 1a 06
00000010: 2e 20 25 08 00 00 00 03 00 00 00 39 2a 00 00 1d
(5) Composes plaintext
00000000: 00 00 00 08 01 00 00 00 00
(6) Encrypts plaintext using K3i as K_msg, resulted in ciphertext
00000000: 4f ff 67 66 41 9c d3 ec 8e
Smyslov Expires 9 June 2023 [Page 147]
Internet-Draft GOST algorithms in IKEv2 December 2022
(7) Computes ICV using K3i as K_msg
00000000: d2 bf 0e b7 8f c5 53 03
(8) Composes IV
00000000: 00 00 00 00 00 00 00 03
(9) Sends message, peer receives message
10.111.10.171:54295->10.111.15.45:4500 [61]
00000000: 00 00 00 00 fd d9 35 89 50 d5 db 22 81 27 5d a2
00000010: 98 90 1a 06 2e 20 25 08 00 00 00 03 00 00 00 39
00000020: 2a 00 00 1d 00 00 00 00 00 00 00 03 4f ff 67 66
00000030: 41 9c d3 ec 8e d2 bf 0e b7 8f c5 53 03
Responder's actions:
(10) Extracts IV from message
00000000: 00 00 00 00 00 00 00 03
(11) Uses previously computed key K3i
00000000: 45 6f 03 f7 ad 75 eb e9 52 b8 8f 0d e8 36 47 69
00000010: 4d 2e f2 ba 15 e6 8c 89 1c 99 62 64 fb 0e 70 0a
(12) Composes MGM nonce
00000000: 00 00 00 03 2b 3d 3b 2f
(13) Extracts ICV from message
00000000: d2 bf 0e b7 8f c5 53 03
(14) Extracts AAD from message
00000000: fd d9 35 89 50 d5 db 22 81 27 5d a2 98 90 1a 06
00000010: 2e 20 25 08 00 00 00 03 00 00 00 39 2a 00 00 1d
(15) Extracts ciphertext from message
00000000: 4f ff 67 66 41 9c d3 ec 8e
(16) Decrypts ciphertext and verifies ICV using K3i as K_msg,
resulted in plaintext
Smyslov Expires 9 June 2023 [Page 148]
Internet-Draft GOST algorithms in IKEv2 December 2022
00000000: 00 00 00 08 01 00 00 00 00
(17) Parses received message
Informational
#FDD9358950D5DB22.81275DA298901A06.00000003 IKEv2 I->R[57]
E[29]{
D[8](IKE)}
(18) Creates message
Informational
#FDD9358950D5DB22.81275DA298901A06.00000003 IKEv2 I<=R[49]
E[21]{}
(19) Uses previously computed key K3r
00000000: 92 b8 b2 d6 7a 2d e1 db 5f e1 39 d2 57 c8 24 5f
00000010: f6 22 54 de fc 35 35 c9 24 cf a5 4a e1 5d 75 71
(20) Composes MGM nonce
00000000: 00 00 00 03 d2 f6 27 21
(21) Composes AAD
00000000: fd d9 35 89 50 d5 db 22 81 27 5d a2 98 90 1a 06
00000010: 2e 20 25 20 00 00 00 03 00 00 00 31 00 00 00 15
(22) Composes plaintext
00000000: 00
(23) Encrypts plaintext using K3r as K_msg, resulted in ciphertext
00000000: a8
(24) Computes ICV using K3r as K_msg
00000000: ef 77 21 c9 8b c1 eb 98
(25) Composes IV
00000000: 00 00 00 00 00 00 00 03
(26) Sends message, peer receives message
Smyslov Expires 9 June 2023 [Page 149]
Internet-Draft GOST algorithms in IKEv2 December 2022
10.111.10.171:54295<-10.111.15.45:4500 [53]
00000000: 00 00 00 00 fd d9 35 89 50 d5 db 22 81 27 5d a2
00000010: 98 90 1a 06 2e 20 25 20 00 00 00 03 00 00 00 31
00000020: 00 00 00 15 00 00 00 00 00 00 00 03 a8 ef 77 21
00000030: c9 8b c1 eb 98
Initiator's actions:
(27) Extracts IV from message
00000000: 00 00 00 00 00 00 00 03
(28) Uses previously computed key K3r
00000000: 92 b8 b2 d6 7a 2d e1 db 5f e1 39 d2 57 c8 24 5f
00000010: f6 22 54 de fc 35 35 c9 24 cf a5 4a e1 5d 75 71
(29) Composes MGM nonce
00000000: 00 00 00 03 d2 f6 27 21
(30) Extracts ICV from message
00000000: ef 77 21 c9 8b c1 eb 98
(31) Extracts AAD from message
00000000: fd d9 35 89 50 d5 db 22 81 27 5d a2 98 90 1a 06
00000010: 2e 20 25 20 00 00 00 03 00 00 00 31 00 00 00 15
(32) Extracts ciphertext from message
00000000: a8
(33) Decrypts ciphertext and verifies ICV using K3r as K_msg,
resulted in plaintext
00000000: 00
(34) Parses received message
Informational
#FDD9358950D5DB22.81275DA298901A06.00000003 IKEv2 R=>I[49]
E[21]{}
Author's Address
Smyslov Expires 9 June 2023 [Page 150]
Internet-Draft GOST algorithms in IKEv2 December 2022
Valery Smyslov
ELVIS-PLUS
PO Box 81
Moscow (Zelenograd)
124460
Russian Federation
Phone: +7 495 276 0211
Email: svan@elvis.ru
Smyslov Expires 9 June 2023 [Page 151]