[CFRG] Re: I-D Action: draft-irtf-cfrg-kemeleon-01.txt

Dan Harkins <dharkins@lounge.org> Tue, 27 January 2026 21:23 UTC

Return-Path: <dharkins@lounge.org>
X-Original-To: cfrg@mail2.ietf.org
Delivered-To: cfrg@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 559E4ADF22DB; Tue, 27 Jan 2026 13:23:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -4.198
X-Spam-Level:
X-Spam-Status: No, score=-4.198 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ay-1gt6RSDNV; Tue, 27 Jan 2026 13:23:39 -0800 (PST)
Received: from www.goatley.com (www.goatley.com [198.137.202.94]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 89142ADF22CD; Tue, 27 Jan 2026 13:23:36 -0800 (PST)
Received: from kitty.bergandi.net (syn-076-176-014-122.res.spectrum.com [76.176.14.122]) by wwwlocal.goatley.com (PMDF V6.8 #2433) with ESMTPS id <0T9J0LW7WKR571@wwwlocal.goatley.com>; Tue, 27 Jan 2026 16:23:29 -0500 (EST)
Received: from [192.168.1.39] (customer.snjecax1.isp.starlink.com [98.97.27.119]) by kitty.bergandi.net (PMDF V6.8 #2433) with ESMTPSA id <0T9J00N2XKR4TN@kitty.bergandi.net>; Tue, 27 Jan 2026 13:23:29 -0800 (PST)
Received: from customer.snjecax1.isp.starlink.com ([98.97.27.119] EXTERNAL) (EHLO [192.168.1.39]) with TLS/SSL by kitty.bergandi.net ([10.0.42.19]) (PreciseMail V3.4); Tue, 27 Jan 2026 13:23:29 -0800
Date: Tue, 27 Jan 2026 13:23:27 -0800
From: Dan Harkins <dharkins@lounge.org>
In-reply-to: <176855842741.584.12446527348203605625@dt-datatracker-865585c994-4fgh4>
To: cfrg@ietf.org
Message-id: <5185492f-8505-4b2b-bc7b-9e14565ed10e@lounge.org>
MIME-version: 1.0
Content-type: text/plain; charset="UTF-8"; format="flowed"
Content-language: en-US
Content-transfer-encoding: 8bit
User-Agent: Mozilla Thunderbird
X-PMAS-SPF: SPF check skipped for authenticated session (recv=kitty.bergandi.net, send-ip=98.97.27.119)
X-PMAS-External-Auth: customer.snjecax1.isp.starlink.com [98.97.27.119] (EHLO [192.168.1.39])
References: <176855842741.584.12446527348203605625@dt-datatracker-865585c994-4fgh4>
X-PMAS-Software: PreciseMail V3.4 [260127] (kitty.bergandi.net)
X-PMAS-Allowed: system rule (rule allow header:X-PMAS-External noexists)
Message-ID-Hash: REX2K64SO5UCDVZLEAXNAD45O6LPBBZT
X-Message-ID-Hash: REX2K64SO5UCDVZLEAXNAD45O6LPBBZT
X-MailFrom: dharkins@lounge.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-cfrg.irtf.org-0; header-match-cfrg.irtf.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: draft-irtf-cfrg-kemeleon.authors@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [CFRG] Re: I-D Action: draft-irtf-cfrg-kemeleon-01.txt
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cfrg/Qs3AhkjQ4MI2JOELmFVQ1nh0DOA>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cfrg>
List-Help: <mailto:cfrg-request@irtf.org?subject=help>
List-Owner: <mailto:cfrg-owner@irtf.org>
List-Post: <mailto:cfrg@irtf.org>
List-Subscribe: <mailto:cfrg-join@irtf.org>
List-Unsubscribe: <mailto:cfrg-leave@irtf.org>

   Hello,

   I implemented the non-rejection encoding from draft-veitch-kemeleon
(as part of my OQUAKE implementation) and now that that encoding has
changed in -01 of this draft I'm trying to update things. A couple comments
and a question:

   comment 1: t is a security parameter in VectorEncode(), It has a 
detailed
         description in the common functions section, so don't hard code it.
         Fixing it to 128 can be a recommendation but leave it up to the
         application, not the specification. (And I'm not asking for any
         cipher suites and IANA recommendations in your draft, just 
leave it
         up to the user).

   comment 2: I know p*log2(m) is the same as log2(m^p) but your 
description
         of b in VectorEncode() will lead to errors, I think. log2(q) is 
11.703... but
         FIPS 203 forbids floating point operations so if someone computes b
         according to your notation-- b = n * log2(q)-- they'll get a 
different
         number than if they computed q^n and did log2(q^n). And the latter
         is correct, I think. Please change it to "b = log2(q^n)".

   Question: All the vectors being operated on now fixed at q^n and I would
         expect that VectorEncode() would produce the same sized output 
for each
         invocation regardless of parameter set. My version produces an 
encoded
         vector that's 391 bytes. 391*k+32 works for ML-KEM-512 (814 bytes),
         but according to table 1 it's one byte too many for ML-KEM-768 
and 2
         bytes too many for ML-KEM-1024. Am I doing something wrong or is
         table 1 incorrect?

   regards,

   Dan.

On 1/16/26 2:13 AM, internet-drafts@ietf.org wrote:
> Internet-Draft draft-irtf-cfrg-kemeleon-01.txt is now available. It is a work
> item of the Crypto Forum (CFRG) RG of the IRTF.
>
>     Title:   Kemeleon Encodings
>     Authors: Felix Günther
>              Douglas Stebila
>              Shannon Veitch
>     Name:    draft-irtf-cfrg-kemeleon-01.txt
>     Pages:   13
>     Dates:   2026-01-16
>
> Abstract:
>
>     This document specifies Kemeleon encoding algorithms for encoding ML-
>     KEM encapsulation keys and ciphertexts as random bytestrings.
>     Kemeleon encodings provide obfuscation of encapsulation keys and
>     ciphertexts, relying on module LWE assumptions.
>
> The IETF datatracker status page for this Internet-Draft is:
> https://datatracker.ietf.org/doc/draft-irtf-cfrg-kemeleon/
>
> There is also an HTML version available at:
> https://www.ietf.org/archive/id/draft-irtf-cfrg-kemeleon-01.html
>
> A diff from the previous version is available at:
> https://author-tools.ietf.org/iddiff?url2=draft-irtf-cfrg-kemeleon-01
>
> Internet-Drafts are also available by rsync at:
> rsync.ietf.org::internet-drafts
>
>
> _______________________________________________
> CFRG mailing list -- cfrg@irtf.org
> To unsubscribe send an email to cfrg-leave@irtf.org

-- 
"The object of life is not to be on the side of the majority, but to
escape finding oneself in the ranks of the insane." -- Marcus Aurelius