From: Maaartin on 3 May 2010 15:40 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 3 May 2010 16:37 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 3 May 2010 17:25 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 3 May 2010 21:57 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 4 May 2010 05:34
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 |