From: Maaartin on
On May 3, 6:46 pm, Mok-Kong Shen <mok-kong.s...(a)t-online.de> wrote:
> Maaartin wrote:
> > What's the problem?[snip]
>
> Sorry, I can't 100% exclude errors on my part, but the first value
> from the PRNG that I computed differs from the one of yours.
>
> c0 = 4294967293
> c1 = 3
> c2 = 4294967289
> x0 = 4294967291
>
> f(x) = c0 + c1*x +c2*x^2  mod 4294967296
> x1 = f(x0) = 4294967103
>
> But you got 38 not the value of my x1.

My fault, I finished it late by night and didn't check the simple
quadratic formula at all - it's so trivial, so I didn't expect any
error there. I will post the corrected example after having done some
tests.

My previous posting was about you saying you can't do it. But you did
(at least partly) and found an error at the very beginning).
From: Mok-Kong Shen on
Maaartin wrote:

> My fault, I finished it late by night and didn't check the simple
> quadratic formula at all - it's so trivial, so I didn't expect any
> error there. I will post the corrected example after having done some
> tests.
>
> My previous posting was about you saying you can't do it. But you did
> (at least partly) and found an error at the very beginning).

I wonder why you don't work with C rightaway. I suppose that what I
described of the scheme is quite clear. You let the PRNG generate four
consecutive values, say g1, g2, g3, and g4 and build

| 1 0 | | g2 g3 |
L = | | U = | |
| g1 1 | | 0 g4 |

and set LSB of g2 and g4 to 1. Then encryption is simply

| p1 | | c1 |
L * U * | | = | |
| p2 | | c2 |

I am unfortunately not in a position to check your computations, because
I am not going to write any C code myself before you accept the
challenge, in which case I'll write C code that builds the two PRNGs,
which in turn generate Ls and Us and the plaintext vectors
respectively. I'll leave the coding for the computation of the
ciphertext vectors to you.

BTW, my new thread "Foiling the known-plaintext attacks" is tightly
related to the issue of this thread. It's hence of your interest to
take a glance of it before you accept the current challenge offer.

Regards,

M. K. Shen

From: Maaartin on
On May 3, 10:37 pm, Mok-Kong Shen <mok-kong.s...(a)t-online.de> wrote:
> Maaartin wrote:
> > My fault, I finished it late by night and didn't check the simple
> > quadratic formula at all - it's so trivial, so I didn't expect any
> > error there. I will post the corrected example after having done some
> > tests.
>
> > My previous posting was about you saying you can't do it. But you did
> > (at least partly) and found an error at the very beginning).
>
> I wonder why you don't work with C rightaway.

Because C is inefficient - for me as a programmer (it's efficient for
the machine but who cares?). Because it's only portable, when you try
hard to achieve it. Because I haven't done anything in C since about
two years.

If I should take the challenge, then I'd rewrite it into C.

I suppose that what I
> described of the scheme is quite clear. You let the PRNG generate four
> consecutive values, say g1, g2, g3, and g4 and build
>
>          |  1   0 |           | g2   g3 |
>     L =  |        |       U = |         |
>          | g1   1 |           |  0   g4 |
> and set LSB of g2 and g4 to 1. Then encryption is simply

Yes, that's what I did:
L = (1, 0, g1, 1)
U = (g1|1, g3, 0, g4|1)

>             | p1 |     | c1 |
>     L * U * |    |  =  |    |
>             | p2 |     | c2 |

Agreed.

> I am unfortunately not in a position to check your computations, because
> I am not going to write any C code myself before you accept the
> challenge, in which case I'll write C code that builds the two PRNGs,
> which in turn generate Ls and Us and the plaintext vectors
> respectively. I'll leave the coding for the computation of the
> ciphertext vectors to you.

Ok.

> BTW, my new thread "Foiling the known-plaintext attacks" is tightly
> related to the issue of this thread. It's hence of your interest to
> take a glance of it before you accept the current challenge offer.

I'm afraid, it suffers from the same problem as this idea. You'll see
when I'm done.
From: Bryan on
Mok-Kong Shen wrote:
> I wonder why you don't work with C rightaway.

I've wondered the same about you, Mr. Shen. It turned out to be
because you did not know C, even though you were writing about C. One
time, I explained that C's "unsigned long" type is at least 32 bits
and showed how to do two rotates in portable C, and you announced:

Mok-Kong Shen had written:
| It might surprise you that I didn't examine your
| code, excepting noting that you have the shifts there
| as a means to achieve some bit movement and an &
| with a constant, which means that the whole thing
| is meaningful only for a certain size of the computer
| word.

No, I was not surprised that you refused to examine *three lines* of
C.

http://groups.google.com/group/sci.crypt/browse_frm/thread/e52ee84727a209f3/9b2ef956707a3acd

Eight years later, here you are demanding Maaartin use C. Have you
considered putting forth a serious effort yourself, rather than
requiring everyone else do all the work and conform to your demands?

--
--Bryan
From: Mok-Kong Shen on
Bryan wrote:
> Mok-Kong Shen wrote:
>> I wonder why you don't work with C rightaway.
>
> I've wondered the same about you, Mr. Shen. It turned out to be
> because you did not know C, even though you were writing about C. One
> time, I explained that C's "unsigned long" type is at least 32 bits
> and showed how to do two rotates in portable C, and you announced:
>
> Mok-Kong Shen had written:
> | It might surprise you that I didn't examine your
> | code, excepting noting that you have the shifts there
> | as a means to achieve some bit movement and an&
> | with a constant, which means that the whole thing
> | is meaningful only for a certain size of the computer
> | word.
>
> No, I was not surprised that you refused to examine *three lines* of
> C.
>
> http://groups.google.com/group/sci.crypt/browse_frm/thread/e52ee84727a209f3/9b2ef956707a3acd
>
> Eight years later, here you are demanding Maaartin use C. Have you
> considered putting forth a serious effort yourself, rather than
> requiring everyone else do all the work and conform to your demands?

O.k. It at least shows that I had learn a little bit more in the
meantime, doesn't it? (Or did you mean it took me eight years long to
do that?) On the other hand, the present challenge involves money, the
result must be well acceptable to both. So what to do, if the partners
differ in their proficiency in different programming languages? I think
many people in our group would consider choosing C as the language to
represent the result of the contest to be reasonable. Or what would you
suggest? (Cf. a commercial contract, where the currency of payment has
to be agreed upon.)

To be exact, I doubt that I really know even today very much about C.
(BTW, I told some acquaintances that my knowledge of my mother tongue
is rather mediocre.)

M. K. Shen
First  |  Prev  |  Next  |  Last
Pages: 1 2 3 4 5 6 7 8 9 10 11
Prev: Public/Public
Next: Call for review: Hashing by hand algorithm