Re: New Technology to Make Digital Data Disappear, on Purpose

2009-07-22 Thread Perry E. Metzger

d...@geer.org writes:
   The pieces of the key, small numbers, tend to =93erode=94 over time as
   they gradually fall out of use. To make keys erode, or timeout, Vanish
   takes advantage of the structure of a peer-to-peer file system. Such
   networks are based on millions of personal computers whose Internet
   addresses change as they come and go from the network.

 One would imagine that as IPv6 rolls out, the need
 for DHCP goes to zero excepting for mobile devices
 attaching to public (not carrier) nets.  Yes?

Off topic, but actually DHCP is still needed. A machine needs to
configure a lot more than just its address and router in common cases
(it wants things like DNS servers, NTP servers, etc.) and in large
deployments, it is often far easier to let machines autoconfigure these
things during boot using DHCP even on comparatively hard wired
networks.

And with that, lets return to crypto...

Perry

-
The Cryptography Mailing List
Unsubscribe by sending unsubscribe cryptography to majord...@metzdowd.com


Re: Fast MAC algorithms?

2009-07-22 Thread Joseph Ashwood

--
From: Nicolas Williams nicolas.willi...@sun.com
Subject: Fast MAC algorithms?


Which MAC algorithms would you recommend?


I didn't see the primary requirement, you never give a speed requirement. 
OMAC-AES-128 should function around 100MB/sec, HMAC-SHA-512 about the same, 
HMAC-SHA1 about 150MB/sec, HMAC-MD5 250MB/sec. I wouldn't recommend MD5, but 
in many situations it can be acceptable, and none of these make use of 
parallelism to achieve the speeds.
   Joe 


-
The Cryptography Mailing List
Unsubscribe by sending unsubscribe cryptography to majord...@metzdowd.com


Re: Fast MAC algorithms?

2009-07-22 Thread Jack Lloyd
On Tue, Jul 21, 2009 at 07:15:02PM -0500, Nicolas Williams wrote:
 I've an application that is performance sensitive, which can re-key very
 often (say, every 15 minutes, or more often still), and where no MAC is
 accepted after 2 key changes.  In one case the entity generating a MAC
 is also the only entity validating the MAC (but the MAC does go on the
 wire).  I'm interested in any MAC algorithms which are fast, and it
 doesn't matter how strong they are, as long as they meet some reasonable
 lower bound on work factor to forge a MAC or recover the key, say 2^64,
 given current cryptanalysis, plus a comfort factor.
[...]
 Which MAC algorithms would you recommend?

I'm getting the impression that key agility is important here, so one
MAC that comes to mind is CMAC with a block cipher with a fast key
schedule like Serpent. (If for some reason you really wanted to do
something to make secuity auditors squirm you could even cut Serpent
down to 16 rounds which would increase the message processing rate by
about 2x and also speed up the key schedule. This seems like asking
for it to me, though.)

Another plausible answer might be Skein - it directly supports keying
and nonces (so you don't have to take the per-message overhead of the
extra hash as with HMAC), and has very good bulk throughput on 64-bit
CPUs.

-Jack

-
The Cryptography Mailing List
Unsubscribe by sending unsubscribe cryptography to majord...@metzdowd.com


Re: Fast MAC algorithms?

2009-07-22 Thread Nicolas Williams
On Wed, Jul 22, 2009 at 06:49:34AM +0200, Dan Kaminsky wrote:
 Operationally, HMAC-SHA-256 is the gold standard.  There's wonky stuff all
 over the place -- Bernstein's polyaes work appeals to me -- but I wouldn't
 really ship anything but HMAC-SHA-256 at present time.

Oh, I agree in general.  As far as new apps and standards work I'd make
HMAC-SHA-256 or AES, in an AEAD cipher mode, REQUIRED to implement and
the default.

But that's not what I'm looking for here.  I'm looking for the fastest
MACs, with extreme security considerations (e.g., warning, warning!
must rekey every 10 minutes) being possibly OK, depending on just how
extreme -- the sort of algorithm that one would not make REQUIRED to
implement, but which nonetheless one might use in some environments
simply because it's fast.

For example, many people use arcfour in SSHv2 over AES because arcfour
is faster than AES.  The SSHv2 AES-based ciphers ought to be RTI and
default choice, IMO, but that doesn't mean arcfour should not be
available.

In the crypto world one never designs weak-but-fast algorithms on
purpose, only strong-and-preferably-fast ones.  And when an algorithm is
successfully attacked it's usually deprecated, put in the ash heap of
history.  But there is a place for weak-but-fast algos, as long as
they're not too weak.  Any weak-but-fast algos we might have now tend to
be old algos that turned out to be weaker than designed to be, and new
ones tend to be slower because resistance against new attacks tends to
require more computation.  I realized this would make my question seem a
bit pointless, but hoped I might get a surprising answer :(

Nico
-- 

-
The Cryptography Mailing List
Unsubscribe by sending unsubscribe cryptography to majord...@metzdowd.com


Re: Zooko's semi-private keys

2009-07-22 Thread Jerry Leichter

On Jul 21, 2009, at 3:11 PM, Hal Finney wrote:
The first is equivalent to: knowing g^(xy) is it impossible to  
deduce g^x,
where y = H(g^x). Define Y = g^x, then y = H(Y) and g^(xy) = Y^H(Y).  
The

question is then:

Given Y^H(Y) can we deduce Y?
To make a simple observation:  H matters.  If H(z)=0 for all z, then  
we discard all information and clearly no inversion is possible.  If  
H(z)=1 for all z, then inversion is trivial.  If H(z)=n for any fixed  
non-negative integer n, the problem is exactly discrete log - given  
(g^x)^n, find (g^x).


Now, these are obviously uninteresting hashes.  Let's take the  
simplest 1-1 onto hash, H(z)=z.  Then we are asking if, given (g^x)^x,  
we can find g^x.  This feels like the same kind of problem as discrete  
log, but the additional structure is disturbing.  Other simple forms  
also seem like they might leak information.  For example, H(z)=g^z  
asks the question of whether, given z^z, we can find z.


If H(z) is random - i.e., if you use some real cryptographic hash -  
it's hard to see how you would get a proof, except maybe something of  
the form for almost all H drawn from some population, the problem is  
hard.  But of course one always makes such arguments before one has a  
proof


-- Jerry

-
The Cryptography Mailing List
Unsubscribe by sending unsubscribe cryptography to majord...@metzdowd.com


Re: Fast MAC algorithms?

2009-07-22 Thread mhey...@gmail.com
On Wed, Jul 22, 2009 at 1:43 AM, Nicolas
Williamsnicolas.willi...@sun.com wrote:

 But that's not what I'm looking for here.  I'm looking for the fastest
 MACs, with extreme security considerations...In the crypto world
 one never designs weak-but-fast algorithms on purpose, only
 strong-and-preferably-fast ones.  And when an algorithm is
 successfully attacked it's usually deprecated, put in the ash heap of
 history.  But there is a place for weak-but-fast algos, as long as
 they're not too weak.

It just so happens that I worked on a DARPA funded project about 10
years ago looking at the effects of any possible strength vs speed
trade off available for different MACing algorithms. We built the
capability into FreeS/Wan's IPSec. Some of our MACs were so weak we
called them Partial MACs (PMACs). PMACs authenticated only randomly
selected pieces of the packet. We figured PMACs were good enough for
video - who cares if Eve can feed you a frame or two of partially
spoofed video as long as you can't get enough to notice.

http://www.isso.sparta.com/documents/acsa_final_report.pdf

The major take aways include:

1) HMAC-SHA1-96 can typically triple the amount of CPU required to
move IP packets through the kernel over a no-crypto option.
HMAC-MD5-96 can double it.

2) If you throw TCP processing in there, unless you are consistantly
going to have packets on the order of at least 1000 bytes, your crypto
algorithm is almost _irrelevant_. TCP costs up to ~1000 cycles per
byte on 10 byte packets, 100 cycles per byte on 100 byte packets, and
only gets down to ~15 cycles per byte at 1000 byte packets. For
reference, HMAC-SHA1-96 takes about 25 cycles per byte for ~1000 byte
packets. These are PentiumII numbers for a Linux 2.2.14 kernel,
remember, this was 10 years ago.

3) If your host is actually going to do something with the data you
receive, it is really really hard to find something that the crypto
algorithm will affect. A coworker of mine struggled for to find a real
world desktop application in which you could actually see a result
(other then some numbers in a log file). Finally he found that viewing
a video remotely in an X-window (thats uncompressed video) would have
occasional drops that becomes noticeable if you pick your video well.
Our video was of a circular radar screen with a rotating update line
(I think it came from a screen saver). With this contrived
application, we could change the MAC algorithm and see more or less
disturbance in the video.

I'd like to emphasize points 2 and 3. You need an application that
either doesn't use TCP or that only uses TCP with MTU sized packets to
even want to care about crypto performance. I don't think the paper
points it out, but all are testing was done with two machines
connected directly to each other. Any out of order processing TCP
needs to do will only decrease the effect a MAC algorithm has. Also if
you want to do _anything_ with the data other than ignore it, it will
only further decrease the effect the MAC algorithm has. We tried
timing FTP transfers, streaming an MPEG, and numerous other things
that I don't remember but all these things had too much overhead to
allow the choice of MAC algorithm to be noticed. 10 years of kernel
network stack development and CPU improvements may have changed the
numbers slightly but I believe you need a really specialized case,
probably including real time requirements on marginal CPUs, before you
need to look at faster MAC algorithms.

Thanks for letting me reminisce about a really fun project (sprinkling
rdtsc around the Linux kernel and getting Steve Kent upset (not
really) at our attempted subversion of IPSec intent - we ended up
doing it the way he wanted even though my way would have been cleaner
grin/).

-Michael Heyman

-
The Cryptography Mailing List
Unsubscribe by sending unsubscribe cryptography to majord...@metzdowd.com