[CFRG] Where should test vectors live?

Christopher Patton <cpatton@cloudflare.com> Fri, 20 September 2024 00:17 UTC

Return-Path: <cpatton@cloudflare.com>
X-Original-To: cfrg@ietfa.amsl.com
Delivered-To: cfrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 598E7C16A128 for <cfrg@ietfa.amsl.com>; Thu, 19 Sep 2024 17:17:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.104
X-Spam-Level:
X-Spam-Status: No, score=-7.104 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=cloudflare.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R-hzxd908EN3 for <cfrg@ietfa.amsl.com>; Thu, 19 Sep 2024 17:17:23 -0700 (PDT)
Received: from mail-qk1-x735.google.com (mail-qk1-x735.google.com [IPv6:2607:f8b0:4864:20::735]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 32BBEC180B4F for <cfrg@irtf.org>; Thu, 19 Sep 2024 17:17:23 -0700 (PDT)
Received: by mail-qk1-x735.google.com with SMTP id af79cd13be357-7a99e8c32c0so136081585a.3 for <cfrg@irtf.org>; Thu, 19 Sep 2024 17:17:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cloudflare.com; s=google09082023; t=1726791442; x=1727396242; darn=irtf.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=v4tQwkSSRBGjy/7jnWvUrjOj3Z/tJAneZ8muOBnwVQ0=; b=NznT/HcDCynDbuMErgZo7sRiZmwcPq/LAZTBePxTCZXRftEQhSuxpZIo0a6uSx7931 zemJIFnkU8hbgWuRmFLtWTsWZ/6BupvFoml37T2BsQs2InLg7/NHZ6JINHnj8Dytpf7q uBeIQja8g6vdBNGNCP5sTkq1HpnJQ0ColySkuH7TUVjZudgm+kQgF/hOoDpQhFgehCW2 vepKrEoPAG/eczvXp5GkrUl1fJ6qTfffxuXw2gRal5LYuVOjmI31riCHq+bnAHfCVowR qqoYzSN8ZAcB6nf/Asj/14gOcA1rgLqpFiWRLKPUpIxYRnptHKwhIAmWQedLBO0jNE+9 gK1g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726791442; x=1727396242; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=v4tQwkSSRBGjy/7jnWvUrjOj3Z/tJAneZ8muOBnwVQ0=; b=ppLhM5LmimeVyCNa71dBvvPWl8cQHRSqTCOtm560r8TrqybIRGABwHMXK6fEv7zmD0 WFlxBdPpIWvrOJVjxrCl2j5uG3f9QhjlknY5lKu4wRJHuMI6aNbGrVg52Hc9e6x21JaE +xnI4ME2mFkyxThww/wGLkQ3Nnqn00/7n+UbT7AprwgULpZTbu7qklmlGpOBWV6z7X5D kjuoY0XXjEnlyzQ+BYx2+NC7nOUU3Vw2HwuKlkAanN1cpm7hSlgKz30ZjZR3PyN5S/ZD eiZ/NoGrqQbUKX1zWeSkAk8UIvODN1pe9IJtCRXQ7QhqnAqh+/yEx/gMhDA1NrjlZxUz dVhg==
X-Gm-Message-State: AOJu0YzZtRrepnWMAZ9g6VFFGGiq40ta4v706GrzHPcTXR78yZptB4DA SIcGM9t0rZQ8RS8PBXGhyJ+MVxa8vETbdbaRASFnzmzALfMRuBn6l5rWhemPcJbwwKKOigaMpfB 9aw0Z1wjFAxzkZcbQRQRXKAGRqhclH9V3t8yVxRX4EyGBQ/18L6CONw==
X-Google-Smtp-Source: AGHT+IGT1zYcbhVdLUFuZNCgPcVQPLjY/uXFWGB4+w+ljAc6J7E/i92H7oDO3mKbo8aK330PN1BguVzK0Mznbz7yv5g=
X-Received: by 2002:a05:622a:5b92:b0:458:3a34:b7b5 with SMTP id d75a77b69052e-45b22713c66mr12214471cf.26.1726791441822; Thu, 19 Sep 2024 17:17:21 -0700 (PDT)
MIME-Version: 1.0
From: Christopher Patton <cpatton@cloudflare.com>
Date: Thu, 19 Sep 2024 17:17:10 -0700
Message-ID: <CAG2Zi20N98cxpgjfRe6gWw1SQEoux+5P3NhLBFUfUHk_udYeFg@mail.gmail.com>
To: CFRG <cfrg@irtf.org>
Content-Type: multipart/alternative; boundary="0000000000007de4f9062281f61f"
Message-ID-Hash: GWI5I5FZG2ZZI4IZ6NBQ2K76YHVQ7352
X-Message-ID-Hash: GWI5I5FZG2ZZI4IZ6NBQ2K76YHVQ7352
X-MailFrom: cpatton@cloudflare.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-cfrg.irtf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [CFRG] Where should test vectors live?
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cfrg/rNw6rCx52zjdYJC7gZs7Xqe5bBA>
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>

Hi CFRG,

It occurred to me today that our drafts often have human-friendly test
vectors that look something like this:
https://datatracker.ietf.org/doc/html/rfc9180#appendix-A.1.1

These aren't super convenient for a machine. In theory you could write a
script that downloads https://www.rfc-editor.org/rfc/rfc9180.txt and write
a parser to pull out the test vectors, but does anyone really do this?
Luckily for RFC 9180 we have a JSON version to work with instead:
https://raw.githubusercontent.com/cfrg/draft-irtf-cfrg-hpke/refs/heads/master/test-vectors.json

How do folks feel about pointing to machine readable test vectors from an
RFC in lieu of producing human-friendly, but machine-unfriendly in the
appendix? Suppose for example an RFC had a pointer to a JSON blob somewhere
on datatracker. Is this feasible/desirable?

Thanks,
Chris P.