Subject: [Cfrg] I-D Action: draft-irtf-cfrg-xchacha-00.txt

From: [email-masked]
Date: Wed, 12 Jun 2019 09:10:56 -0700

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Crypto Forum RG of the IRTF.

        Title           : XChaCha: eXtended-nonce ChaCha and AEAD_XChaCha20_Poly1305
        Author          : Scott Arciszewski
	Filename        : draft-irtf-cfrg-xchacha-00.txt
	Pages           : 15
	Date            : 2019-04-09

Abstract:
   The eXtended-nonce ChaCha cipher construction (XChaCha) allows for
   ChaCha-based ciphersuites to accept a 192-bit nonce with similar
   guarantees to the original construction, except with a much lower
   probability of nonce misuse occurring.  This enables XChaCha
   constructions to be stateless, while retaining the same security
   assumptions as ChaCha.

   This document defines XChaCha20, which uses HChaCha20 to convert the
   key and part of the nonce into a subkey, which is in turn used with
   the remainder of the nonce with ChaCha20 to generate a pseudorandom
   keystream (e.g. for message encryption).

   This document also defines AEAD_XChaCha20_Poly1305, a variant of
   [RFC7539] that utilizes the XChaCha20 construction in place of
   ChaCha20.

The IETF datatracker status page for this draft is:
https://datatracker.ietf.org/doc/draft-irtf-cfrg-xchacha/

There are also htmlized versions available at:
https://tools.ietf.org/html/draft-irtf-cfrg-xchacha-00
https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-xchacha-00

Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org.

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/

---

From: Ted Krovetz <[email-masked]>
Date: Wed, 12 Jun 2019 10:19:13 -0700

Is an extended nonce processor necessary? It seems that if we think of the Salsa/Chacha core as the primitive rather than Salsa/Chacha itself, then one could achieve the same goals without the addition of the nonce preprocessing.

If you view the Salsa/Chacha core as a PRF from 384 bit inputs to 512 bit outputs -- which is essentially what the Rhumba hash function does -- then you could allocate 192 bits of the input for a key, 128 bits for nonce, and 64 bits for counter.

Assuming the Salsa/Chacha core is a PRF, then you could go farther by XORing the nonce into the key, allowing up to 320 bits of nonce and 64 bits of counter.

It would be nice if some cryptanalysts looked at this hypothesis. Since high quality implementations of Chacha are making their way into crypto libraries, it would be nice to know that the Chacha core could be co-opted as a PRF.

> On Jun 12, 2019, at 9:10 AM, [email-masked] wrote:
> 
>