From: wizzi fig on
On Jan 14, 4:38 pm, Mok-Kong Shen <mok-kong.s...(a)t-online.de> wrote:
> ... then apply certain techniques of yours to 'create' a polynomial
> H(x), or is there a method without having to examine these values?

Of course there is such a method. I described it. H(x) is formed
from P and P's inverse. P is given, and as long as you can compute
the lengths of the cycles of P, you can compute P's inverse, and so
you can compute H.

> Anyway, if you ever succeed in doing that, then you will find that your
> H(x) satisfies the criteria I quoted from [4]. So why don't you simply
> apply that criteria in the first place to choose your polynomials for
> use in your applications?

Frankly I just thought it was relevant mathematically. The technique
I mentioned applies more generally than [4]. It will work when the
modulus is not a power of 2, for example. It will work when P is not
a polynomial (in which case the result won't be a polynomial). If I
recall correctly, some of Anashin's work deals with non-polynomial
permutations as well.

Moreover, you ought to be curious and ask yourself whether you would
really be gaining anything by using a generator with a polynomial of
degree more than 1. What I have really shown above is that using P in
counter mode is equivalent to using some other polynomial, H,
iteratively (i.e. analogous to CBC mode with no plaintext). Given a P
which has low degree can lead to an H with high degree. And clearly
the reverse is also true-- if you create an iterative PRNG using a
polynomial of high degree, how do you know there doesn't exist some
low degree polynomial which your adversary can apply in counter mode
to break your generator (these last comments are related to the idea
of your post in October about trying to keep an adversary from
figuring out your PRNG by observing its output). Or if the idea is
that a high-degree polynomial would give a more random sequence, would
you really consider it more random if the nth value is related to n by
a low-degree polynomial.

I think you would do well to work through the example I posted, so
that you understand it.

Bob H (via a send-only email address)

From: Mok-Kong Shen on
wizzi fig wrote:
> Mok-Kong Shen wrote:
>> ... then apply certain techniques of yours to 'create' a polynomial
>> H(x), or is there a method without having to examine these values?
>
> Of course there is such a method. I described it. H(x) is formed
> from P and P's inverse. P is given, and as long as you can compute
> the lengths of the cycles of P, you can compute P's inverse, and so
> you can compute H.
>
>> Anyway, if you ever succeed in doing that, then you will find that your
>> H(x) satisfies the criteria I quoted from [4]. So why don't you simply
>> apply that criteria in the first place to choose your polynomials for
>> use in your applications?
>
> Frankly I just thought it was relevant mathematically. The technique
> I mentioned applies more generally than [4]. It will work when the
> modulus is not a power of 2, for example. It will work when P is not
> a polynomial (in which case the result won't be a polynomial). If I
> recall correctly, some of Anashin's work deals with non-polynomial
> permutations as well.
>
> Moreover, you ought to be curious and ask yourself whether you would
> really be gaining anything by using a generator with a polynomial of
> degree more than 1. What I have really shown above is that using P in
> counter mode is equivalent to using some other polynomial, H,
> iteratively (i.e. analogous to CBC mode with no plaintext). Given a P
> which has low degree can lead to an H with high degree. And clearly
> the reverse is also true-- if you create an iterative PRNG using a
> polynomial of high degree, how do you know there doesn't exist some
> low degree polynomial which your adversary can apply in counter mode
> to break your generator (these last comments are related to the idea
> of your post in October about trying to keep an adversary from
> figuring out your PRNG by observing its output). Or if the idea is
> that a high-degree polynomial would give a more random sequence, would
> you really consider it more random if the nth value is related to n by
> a low-degree polynomial.
>
> I think you would do well to work through the example I posted, so
> that you understand it.

I am not aware of Anashin's work on non-polynomial permuations. If you
have references, I should be very grateful to know them.

If you can derive from an (entirely) "arbitrary" P(x) a H(x) that
generates cycle free permutation, then you can certainly also generate
a H(x) without P(x). Am I right? That means, you can give a criteria
that a general H(x) has to satisfy for producing cycle free
permutations for modulus not a power of 2. If yes, could you formally
state that criteria, for that would be very valuable in my view?

I have no knowledge on the randomness comparsion between linear and
higher degree polynomials. It seems to be intuitively clear that even
for a fixed degree, different values of coefficients could produce
sequences of widely different nature. On the other hand, a higher order
polynimial allows one to specify more numerical values as coefficients.
So, if these are considered as a key, it means one can specify a longer
key. However, if P(x) is used to xor plaintext, then with known
plaintext the coefficients of the polynomial can certainly be
determined just as easily as in the linear case. Sophisticated analysis
needs only some lower order bits from the keystream, if I don't err. It
could be that in combination with other suitable techniques the use of
an higher order polynomial could be advantageous, but that's a mere
speculation of mine and I don't have any solid knowledge on that. If
you happen to have founded informations in that respect , I should like
very much to know.

M. K. Shen
From: me13013 on
On Jan 14, 5:58 pm, Mok-Kong Shen <mok-kong.s...(a)t-online.de> wrote:
> I am not aware of Anashin's work on non-polynomial permuations. If you
> have references, I should be very grateful to know them.

I will look for them. I'm pretty sure that whatever I found was the
result of something posted in this newsgroup, but it was probably 5 to
10 years ago.

> If you can derive from an (entirely) "arbitrary" P(x) a H(x) that
> generates cycle free permutation, then you can certainly also generate
> a H(x) without P(x). Am I right?

No, that's not right, beyond the trivial case of just listing H's
input/output table.

> That means, you can give a criteria that a general H(x) has to satisfy
> for producing cycle free permutations for modulus not a power of 2.

I don't think you mean a general H(x). I think you mean a polynomial H
(x). I don't know such criteria, but that was my original motivation
for exploring the compositional method that I posted in this thread.

I still think if you worked through my earlier example you would gain
some insight.

Bob H
From: me13013 on
On Jan 14, 6:20 pm, me13013 <me13...(a)gmail.com> wrote:
> On Jan 14, 5:58 pm, Mok-Kong Shen <mok-kong.s...(a)t-online.de> wrote:
> > I am not aware of Anashin's work on non-polynomial permuations. If you
> > have references, I should be very grateful to know them.
>
> I will look for them.  I'm pretty sure that whatever I found was the
> result of something posted in this newsgroup, but it was probably 5 to
> 10 years ago.

The document I have is V. Anashin, "Uniformly distrbuted sequences of
p-adic integers, II". Note the "II". Apparently it is a follow up to
your reference [3]. Originally in Russian, translated to English in
Discrete Math. Appl. vol. 12 (2002), no. 6, pp. 527–590. English
version available at http://arxiv.org/abs/math/0209407 . In my copy
of it, there is a monstrous-looking function at the bottom of page 3,
involving logical AND, OR, XOR, division, and exponentiation with the
exponent being a function of x. The claim is made that using this
function in a certain way produces a complete cycle. Possibly this is
just a red herring and the monster is identical to a function with a
simpler description.

I still think if you worked through my earlier example it would do you
know harm.

Bob H
From: Mok-Kong Shen on
me13013 wrote:
> Mok-Kong Shen wrote:
>> I am not aware of Anashin's work on non-polynomial permuations. If you
>> have references, I should be very grateful to know them.
>
> I will look for them. I'm pretty sure that whatever I found was the
> result of something posted in this newsgroup, but it was probably 5 to
> 10 years ago.

I mentioned that in Feb. 1998 the reference [3] was known in
discussions. You could find it with groups.google.com. To my knowledge
that's the very first occurrence of references to his work in posts of
our group.

>> If you can derive from an (entirely) "arbitrary" P(x) a H(x) that
>> generates cycle free permutation, then you can certainly also generate
>> a H(x) without P(x). Am I right?
>
> No, that's not right, beyond the trivial case of just listing H's
> input/output table.

Couldn't you somehow "abstract" from the techniques that you apply in
practice to derive H(x) from a given P(x) to arrive at a formal
criteria? Alternatively, an computer implementable algorithm to
automatically generate H(x) from P(x) would also be valuable. BTW,
for modulus not a power of 2, one needs also a method to get a P(x)
to start with, right?

>> That means, you can give a criteria that a general H(x) has to satisfy
>> for producing cycle free permutations for modulus not a power of 2.
>
> I don't think you mean a general H(x). I think you mean a polynomial H
> (x). I don't know such criteria, but that was my original motivation
> for exploring the compositional method that I posted in this thread.

O.k., but even a special more or less large class of H(x) for modulus
not a power of 2 could be interesing.

> I still think if you worked through my earlier example you would gain
> some insight.

I certainly never exclude that attractive possibility, though with my
layman's knowledge, I doubt I would be able to go very far. (I don't
understand anything of the proof of the criteria quoted from [4],
for example.)

M. K. Shen