From a3183fb91c12c72d91e1b9f6ed1cd0968c238ea9aca50126fa75a2a1f7917679 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Mon, 21 Apr 2025 10:14:04 +0300 Subject: [PATCH] Excess kexp15 --- spec/cm/kem-gost3410-hkdf.texi | 7 +++---- tcl/schemas/encrypted.tcl | 2 +- ...{kem-gost3410-hkdf-kexp15.tcl => kem-gost3410-hkdf.tcl} | 4 ++-- 3 files changed, 6 insertions(+), 7 deletions(-) rename tcl/schemas/{kem-gost3410-hkdf-kexp15.tcl => kem-gost3410-hkdf.tcl} (76%) diff --git a/spec/cm/kem-gost3410-hkdf.texi b/spec/cm/kem-gost3410-hkdf.texi index 6db2006..e9e3057 100644 --- a/spec/cm/kem-gost3410-hkdf.texi +++ b/spec/cm/kem-gost3410-hkdf.texi @@ -3,16 +3,15 @@ @nodedescription GOST R 34.10+HKDF KEM @subsubsection GOST R 34.10+HKDF KEM -@verbatiminclude ../tcl/schemas/kem-gost3410-hkdf-kexp15.tcl +@verbatiminclude ../tcl/schemas/kem-gost3410-hkdf.tcl GOST R 34.10-2012 VKO parameter set A/C ("gost3410-256A", "gost3410-512C") must be used for DH operation, with UKM taken from the structure. VKO's -output is 512- or 1024-bit @code{BE(X)||BE(Y)} point. It is used in HKDF -and KExp15 (Р 1323565.1.017) key wrapping algorithm: +output is 512- or 1024-bit @code{BE(X)||BE(Y)} point, used in HKDF below: @verbatim PRK = HKDF-Extract(Streebog-512, salt="", ikm=VKO(..., ukm=UKM)) -KEK= HKDF-Expand(Streebog-512, prk=PRK, info="cm/encrypted/gost3410-hkdf" || /id) +KEK = HKDF-Expand(Streebog-512, prk=PRK, info="cm/encrypted/gost3410-hkdf" || /id) @end verbatim @code{/kem/*/cek} is wrapped with @ref{keywrap-kexp15} mechanism. diff --git a/tcl/schemas/encrypted.tcl b/tcl/schemas/encrypted.tcl index 7a91171..d4833e5 100644 --- a/tcl/schemas/encrypted.tcl +++ b/tcl/schemas/encrypted.tcl @@ -18,6 +18,6 @@ kem { schema-include fpr.tcl schema-include kem-with-encap.tcl -schema-include kem-gost3410-hkdf-kexp15.tcl +schema-include kem-gost3410-hkdf.tcl schema-include kem-balloon-blake2b-hkdf.tcl schema-include kem-pbkdf2.tcl diff --git a/tcl/schemas/kem-gost3410-hkdf-kexp15.tcl b/tcl/schemas/kem-gost3410-hkdf.tcl similarity index 76% rename from tcl/schemas/kem-gost3410-hkdf-kexp15.tcl rename to tcl/schemas/kem-gost3410-hkdf.tcl index 08268b2..8cce4ec 100644 --- a/tcl/schemas/kem-gost3410-hkdf-kexp15.tcl +++ b/tcl/schemas/kem-gost3410-hkdf.tcl @@ -1,5 +1,5 @@ -kem-gost3410-hkdf-kexp15 { - {field a {str} =gost3410-hkdf-kexp15} +kem-gost3410-hkdf { + {field a {str} =gost3410-hkdf} {field cek {bin} >0} {# wrapped CEK} {field ukm {bin} len=16} {# additional keying material} {field pub {bin} >0} {# sender's ephemeral public key} -- 2.48.1