From 6048707fa1cd57830efac7a09f181544f42ec175 Mon Sep 17 00:00:00 2001 From: zooko <> Date: Wed, 23 Jun 2010 00:03:02 +0000 Subject: [PATCH] some updates [Imported from Trac: page OneHundredYearCryptography, version 2] --- OneHundredYearCryptography.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/OneHundredYearCryptography.md b/OneHundredYearCryptography.md index e2ffb66..530fe99 100644 --- a/OneHundredYearCryptography.md +++ b/OneHundredYearCryptography.md @@ -1,17 +1,17 @@ -This describes a project to enhance Tahoe's cryptographic system so that Tahoe shipped today/next year might remain safe from cryptographic attacks for a 100 years. The initial ideas were presented on a post by Zooko to his klog (since lost, apparently). +This describes a project to enhance Tahoe-LAFS's cryptographic system so that Tahoe shipped today/next year might remain safe from cryptographic attacks for a 100 years. The initial ideas were presented on a [post by Zooko on his klog](http://pubgrid.tahoe-lafs.org/uri/URI:DIR2-RO:ixqhc4kdbjxc7o65xjnveoewym:5x6lwoxghrd5rxhwunzavft2qygfkt27oj3fbxlq4c6p45z5uneq/blog.html#%5B%5Bcan%20we%20build%20a%20crypto%20system%20to%20last%20for%20a%20hundred%20years%3F%5D%5D). -The basic idea is to combine two primitives, both thought to be safe, such that even if one of them fails catastrophically Tahoe remains secure. +The basic idea is to combine two primitives, both thought to be safe, such that even if one of them fails catastrophically Tahoe-LAFS remains secure. ## Bulk Encryption Convert from AES/CTR to using AES/CTR combined (by XOR) with XSalsa20. This has the advantage of being fully parallel, since you can compute both the AES and XSalsa20 keystreams in parallel and before the plaintext or ciphertext is known. -It's worth noting that AES is being retained more for political/name brand reasons than actual security. If this wasn't a factor we might well be better of instead using a design that is safe against timing attacks, such as Serpent or Noekeon. On the other hand, CTR mode probably makes timing attacks rather more difficult because the attacker can't choose inputs. And, I believe, in Tahoe's case, the initial CTR IV will be secret and chosen via a cryptographic KDF. +It's worth noting that AES is being retained more for political/name brand reasons than actual security. If this wasn't a factor we might well be better of instead using a design that is safe against timing attacks, such as Serpent or Noekeon. On the other hand, CTR mode probably makes timing attacks rather more difficult because the attacker can't choose inputs. And, I believe, in Tahoe-LAFS's case, the initial CTR IV will be secret and chosen via a cryptographic KDF. Open questions: - * Should we use AES-128, AES-192, or AES-256? - * What KDF is used to generate the keys/IVs? I think Zooko suggested using XSalsa20, but I haven't seen a concrete proposal. + * Should we use AES-128, AES-192, or AES-256? *Zooko says: maybe AES-128 because it wastes fewer CPU cycles and is plenty secure. Indeed, if you worry too much about the related key model (which I don't since we never use related keys in Tahoe-LAFS) then AES-128 is arguably safer than AES-256! * + * What KDF is used to generate the keys/IVs? I think Zooko suggested using XSalsa20, but I haven't seen a concrete proposal. *Zooko says: per [this mailing list thread](http://tahoe-lafs.org/pipermail/tahoe-dev/2010-June/004424.html) HKDF might be a good choice for KDF.* ## Hashing @@ -19,4 +19,5 @@ We'll combine two hash functions using the Comb4P hash function combiner, which ## Signatures -I think Zooko has a plan. I don't know what it is. \ No newline at end of file +David-Sarah has proposed to use hash-based digital signatures. Zooko summarized David-Sarah's proposal here: + \ No newline at end of file