Re: Fwd: Re: setting checksum_seed

2004-05-19 Thread Wayne Davison
On Tue, May 18, 2004 at 10:21:04PM -0700, Craig Barratt wrote: > Probably the best solution is to add a flag argument to sum_init(void) > to request whether to add checksum_seed or not. How about this similar idea: change sum_init() to take a seed value as an arg. Then, call it with sum_

Re: Fwd: Re: setting checksum_seed

2004-05-18 Thread Craig Barratt
u specify --checksum-seed=N on the client when connecting to an rsyncd server, the authentication response is based on an MD4 digest computed by calling sum_init(), sum_update() and sum_end(). sum_init() adds checksum_seed to the digest data. The problem at this point is the args have not be

Re: Fwd: Re: setting checksum_seed

2004-05-16 Thread Craig Barratt
Wayne Davison writes: > On Sat, May 15, 2004 at 02:25:11PM -0700, Craig Barratt wrote: > > Any feedback on this patch and the possibility of getting it > > into CVS or the patches directory? > > The file checksum-seed.diff was put into the patches dir on the 2nd of > May. Strangely, I don't seem

Re: Fwd: Re: setting checksum_seed

2004-05-16 Thread Wayne Davison
On Sat, May 15, 2004 at 02:25:11PM -0700, Craig Barratt wrote: > Any feedback on this patch and the possibility of getting it > into CVS or the patches directory? The file checksum-seed.diff was put into the patches dir on the 2nd of May. Strangely, I don't seem to have sent any email indicating

Fwd: Re: setting checksum_seed

2004-05-15 Thread Craig Barratt
Subject: Re: setting checksum_seed jw schultz writes: > > > There was some talk last year about adding a --fixed-checksum-seed > > > option, but no consensus was reached. It shouldn't hurt to make the > > > seed value constant for certain applications, though, s

Re: setting checksum_seed

2004-05-01 Thread Craig Barratt
ree to proceed in that direction for what you're doing for your client. > > > > > > FYI, I just checked in some changes to the checksum_seed code that will > > > make it easier to have other options (besides the batch ones) specify > > > that a constant see

Re: [librsync-devel] librsync and rsync vulnerability to maliciously crafted data. was Re: MD4 checksum_seed

2004-04-11 Thread Donovan Baarda
G'day, From: "Wayne Davison" <[EMAIL PROTECTED]> > On Thu, Apr 08, 2004 at 03:50:48PM +1000, Donovan Baarda wrote: > > I think I've just realised what you were getting at; if the > > checksum_seed is based on something like the whole file md4sum, it

Re: [librsync-devel] librsync and rsync vulnerability to maliciously crafted data. was Re: MD4 checksum_seed

2004-04-08 Thread Wayne Davison
On Thu, Apr 08, 2004 at 03:50:48PM +1000, Donovan Baarda wrote: > I think I've just realised what you were getting at; if the > checksum_seed is based on something like the whole file md4sum, it > becomes repeatable, but unpredictable. Not so. Copy the file once, and you'd get

Re: [librsync-devel] librsync and rsync vulnerability to maliciously crafted data. was Re: MD4 checksum_seed

2004-04-08 Thread Eran Tromer
Ahoy, On 2004/04/08 14:16, Donovan Baarda wrote: >>Nice indeed, but the cost is enormous: you'll have to read the file >>twice. When syncing a mostly-unchanged file that's larger than the disk >>cache, that means doubling the runtime (and disk load) on the receiver's >>side. Also, it means 'rdiff

Re: [librsync-devel] librsync and rsync vulnerability to maliciously crafted data. was Re: MD4 checksum_seed

2004-04-08 Thread Donovan Baarda
G'day again, From: "Eran Tromer" <[EMAIL PROTECTED]> [...] > > if the > > checksum_seed is based on something like the whole file md4sum, it > > becomes repeatable, but unpredictable. You can't manipulate individual > > blocks without it aff

Re: [librsync-devel] librsync and rsync vulnerability to maliciously crafted data. was Re: MD4 checksum_seed

2004-04-08 Thread Eran Tromer
tead of computing their own. > if the > checksum_seed is based on something like the whole file md4sum, it > becomes repeatable, but unpredictable. You can't manipulate individual > blocks without it affecting every other blocksum, but the signature for > the same file is a

Re: librsync and rsync vulnerability to maliciously crafted data. was Re: MD4 checksum_seed

2004-04-08 Thread Donovan Baarda
G'day, From: "Eran Tromer" <[EMAIL PROTECTED]> [...] > > librsync needs a whole file checksum. Without it, it silently fails for > > case 1), 3), and 4). > > > > librsync could benefit from a random checksum_seed. It would need to be > >

Re: librsync and rsync vulnerability to maliciously crafted data. was Re: MD4 checksum_seed

2004-04-08 Thread Eran Tromer
> librsync needs a whole file checksum. Without it, it silently fails for > case 1), 3), and 4). > > librsync could benefit from a random checksum_seed. It would need to be > included in the signature. Without it librsync is vulnerable to cases 1) > and 3). [snip] > rsync shoul

Re: [librsync-devel] librsync and rsync vulnerability to maliciously crafted data. was Re: MD4 checksum_seed

2004-04-07 Thread Donovan Baarda
use a whole file md4sum though. > > librsync could benefit from a random checksum_seed. It would need to be > > included in the signature. Without it librsync is vulnerable to cases 1) > > and 3). > > Random with respect to what? I think it would be nice if repeat

librsync and rsync vulnerability to maliciously crafted data. was Re: MD4 checksum_seed

2004-04-04 Thread Donovan Baarda
aliciously crafted file is corrupted? In rsync this can be used as a performance degradation attack. However, librsync by default uses a psedo-random checksum_seed, that makes such an attack nearly impossible (however... the original discussion started around using a fixed checksum_seed in "batch mode&q

Re: MD4 checksum_seed

2004-03-17 Thread Eran Tromer
andom data because the distribution of s1 is highly concentrated around blocksize/2 (for large blocks the wrap-arounds tend to smoothen the distribution). You can build the random lookup table by applying a PRNG to the (random!) checksum_seed, so that there's no further increase in delta size

Re: MD4 checksum_seed

2004-03-17 Thread Donovan Baarda
G'day, cc'ing to the librsync-dev list as this is pretty relevant there. On Thu, 2004-03-18 at 04:41, Eran Tromer wrote: > Hi, [...] > >>>Have you looked at the librsync rollsum.c implementation in CVS? It > >>>replaced rs_calc_weak_sum and should be a fair bit faster. > > Here are run times for

Re: MD4 checksum_seed

2004-03-17 Thread Eran Tromer
Hi, On 2004/03/17 00:07, Donovan Baarda wrote: >>Quoth RFC 1950: >>"That 65521 is prime is important to avoid a possible large class of >>two-byte errors that leave the check unchanged." >>Not much of a difference in adversarial setting, though. > > And not much of a difference I think for rsync

Re: MD4 checksum_seed

2004-03-16 Thread Donovan Baarda
G'day, From: "Eran Tromer" <[EMAIL PROTECTED]> > Donovan Baarda wrote: [...] > > I thought that without using some sort of known vulnerability the > > formula would be; > > avg number of random attempts = number of possible sum values / 2 > > Uhm, no -- just 2^(64/2)=2^32 random blocks, by the B

Re: MD4 checksum_seed

2004-03-16 Thread Eran Tromer
ly on randomness of preceding blocks (which wouldn't be a good idea anyway). >>In adversarial setting the Fletcher checksum is worthless. So to obtain >>the intended 2^-10 failure probability, rsync should increase its strong >>checksum by 4 bytes. >> >>That's

Re: MD4 checksum_seed

2004-03-15 Thread Donovan Baarda
l Nivasch's multistack variant of the generalized Rho > method) to search for a truncated MD4 collision among the blocks whose > Fletcher sum is zero. It took 13ms to find a collision for the default > parameters of rsync version<2.6.0, with either checksum_seed=0 > (disabled) or chec

Re: MD4 checksum_seed

2004-03-15 Thread Eran Tromer
Hi, On 2004/03/15 03:49, Donovan Baarda wrote: >>Note that, above, block hash collisions are very easy to find if you >>know checksum_seed. The rolling Fletcher checksum1 is trivially >>defeated. To defeat the k-bit truncated MD4 checksum2, just keep >>generate rando

Re: MD4 checksum_seed

2004-03-14 Thread Donovan Baarda
On Wed, 2004-03-10 at 16:43, Eran Tromer wrote: [...] > Note that, above, block hash collisions are very easy to find if you > know checksum_seed. The rolling Fletcher checksum1 is trivially > defeated. To defeat the k-bit truncated MD4 checksum2, just keep > generate random blocks hav

MD4 checksum_seed

2004-03-09 Thread Eran Tromer
Hi, The following lines in compat.c are rather imprudent: if (read_batch || write_batch) checksum_seed = 32761; else checksum_seed = time(NULL); write_int(f_out,checksum_seed); Setting checksum_seed to a constant in batch mode means block collisions are reproducible

Re: checksum_seed

2004-02-16 Thread Craig Barratt
sync/options.c rsync-fixedcsum/options.c --- rsync/options.c Tue Feb 10 20:30:41 2004 +++ rsync-fixedcsum/options.c Mon Feb 16 12:32:23 2004 @@ -89,6 +89,7 @@ int modify_window = 0; int blocking_io = -1; int checksum_seed = 0; +int fixed_csumseed = 0; unsigned int block_size = 0; @@

Re: checksum_seed

2004-02-10 Thread jw schultz
hed. It shouldn't hurt to make the > > seed value constant for certain applications, though, so you can feel > > free to proceed in that direction for what you're doing for your client. > > > > FYI, I just checked in some changes to the checksum_seed code that will

Re: checksum_seed

2004-02-10 Thread Craig Barratt
;re doing for your client. > > FYI, I just checked in some changes to the checksum_seed code that will > make it easier to have other options (besides the batch ones) specify > that a constant seed value is needed. I would really like a --fixed-csumseed option become a standard feature in

Re: checksum_seed

2004-02-09 Thread Wayne Davison
what you're doing for your client. FYI, I just checked in some changes to the checksum_seed code that will make it easier to have other options (besides the batch ones) specify that a constant seed value is needed. ..wayne.. -- To unsubscribe or change options: http://lists.samba.org/mailm

checksum_seed

2004-02-09 Thread Jason M. Felice
What is the point to checksum_seed? When reading/writing batch, it is initialized to a constant value, otherwise it is initialized to time(NULL). It certainly has no useful cryptographic value :) I got the go-ahead from the client on my --link-by-hash proposal, and the seed is making the hash