Cryptography-Digest Digest #372, Volume #13      Thu, 21 Dec 00 00:13:01 EST

Contents:
  Re: cipher algorithms once again... (Bryan Olson)
  Re: Array shuffling ("Matt Timmermans")
  Re: hash function for public key digital signature : one way? (Bryan Olson)
  All irreducible polys of degree 32 over GF(2) ("Matt Timmermans")
  Re: All irreducible polys of degree 32 over GF(2) (Scott Contini)

----------------------------------------------------------------------------

From: Bryan Olson <[EMAIL PROTECTED]>
Subject: Re: cipher algorithms once again...
Date: Thu, 21 Dec 2000 02:14:21 GMT

maciek wrote:

> So there are two groups which are pratically used these
> days: block and stream ciphers, am I right?

In a sense, yes that's right.  On the other hand, the
distinction between block and stream ciphers is relatively
unimportant compared to public-key versus secret-key
ciphers.

Secret key block ciphers are generally combined with some
"mode" such as cipher block chaining.  The combination is
actually a stream cipher (though definitions vary).


--Bryan


Sent via Deja.com
http://www.deja.com/

------------------------------

From: "Matt Timmermans" <[EMAIL PROTECTED]>
Subject: Re: Array shuffling
Date: Thu, 21 Dec 2000 02:22:56 GMT


"Benjamin Goldberg" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]...
> If I convert the output of rand() into a float in the range [0,1), by
> dividing by (float)(1<<16), the values will have quite decent
> statistics.

You would think so, but I've been burnt by these RNGs lots of times before,
e.g., I've noticed significant visual artifacts when generating graphic
effects like Perlin noise using the most significant bits like you do above.

I wouldn't even think of using one of these for real statistical or
simulation work.

You can pass the output from one of these generators through the DIEHARD
test suite to see just how badly it does.  These days, when I need a quick
RNG that isn't obviously non-random, I'll use one of these generators, and
then calculate the CRC of the output.  When I want to do accurate random
simulations, I'll use a block cipher in CTR mode -- I know you already have
some of these around, right?





------------------------------

From: Bryan Olson <[EMAIL PROTECTED]>
Subject: Re: hash function for public key digital signature : one way?
Date: Thu, 21 Dec 2000 02:57:33 GMT

[EMAIL PROTECTED] wrote:

>   In current establish cryptographic hash algorithms like MD5, SHA-
> 1..., does their one-way property impose extra computational load
> compared to their design that is only collision free?

No.  Of the three security properties usually stated for
cryptographic hashes (pre-image resistant, second pre-image
resistant , collision resistant) collision resistance is the
hardest to achieve.  It implies second pre-image resistance,
and the only collision resistant but not pre-image resistant
hashes are those contrived to exhibit the property.


>   In my project, I use SHA-1 to hash a message to be signed, then send
> the signed message digest and plaintext as digital signature. I think
> the one-way property is not neccessary for the hash function in my
> project.

I don't know about the needs of your project but there is
cause to require the one-way property.

Most signature standards, including DSA and PKCS-1 version
1.5, need pre-image resistance to avoid "existential
forgery".  If the hash is not one-way, an attacker can
exhibit a message and a legal signature even though the
holder of the private key never signed that message.  Such a
message is normally not meaningful; it was found as the
pre-image of a digest, and in the case of DSA the attacker
can't even control the digest.


--Bryan


Sent via Deja.com
http://www.deja.com/

------------------------------

From: "Matt Timmermans" <[EMAIL PROTECTED]>
Subject: All irreducible polys of degree 32 over GF(2)
Date: Thu, 21 Dec 2000 03:10:55 GMT

Note first:  I've been on vacation -- sorry to all those I couldn't finish
arguing with, and thanks to all those who finished my arguments better than
I would have.

To business, then:

I'm looking for a list of all irreducible polynomials of degree 32 with
coefficients in GF(2).  I've written a program to generate them, but I'd
rather not have my computer tied up for the week it would take to generate
them all.  Does such a list exist elsewhere?

=====

In case you're interested, it's for a program that will use CRT secret
sharing to do "unsequenced" transmission over unreliable or distributed
channels.  For instance:

You want a file that you can get from 30 different sources, so you tell them
all to start transmitting parts to you.  Each one repeatedly does the
following:

1) Pick a polynomial at random from the above list

2) calculate the "CRC" of the file using the chosen polynomial

3) transmit the CRC and the polynomial to you.

If the file is N words long, then you just have to wait until you get N
different CRCs.  You can then tell all sources to stop transmitting and
reconstruct the file.  The actual scheme would use larger, more efficient
packets, but this is the basic idea.  The benefit is that you don't have to
synchronize the sources to ensure that they all send you different parts.

There are interesting multicast scenarios as well -- Lets say that Microsoft
produces a new version of DirectX that everyone wants.  If the appropriate
multicast network was in place, then Microsoft wouldn't have to handle each
download -- it would simply broadcast random packets.  If you wanted
DirectX, you would just listen in until you got enough of them.  Since any
packet is as good as any other, packets could be painlessly dropped by
slower connections.




------------------------------

From: [EMAIL PROTECTED] (Scott Contini)
Subject: Re: All irreducible polys of degree 32 over GF(2)
Date: 21 Dec 2000 05:01:36 GMT

In article <3xe06.8114$[EMAIL PROTECTED]>,
Matt Timmermans <[EMAIL PROTECTED]> wrote:
>Note first:  I've been on vacation -- sorry to all those I couldn't finish
>arguing with, and thanks to all those who finished my arguments better than
>I would have.
>
>To business, then:
>
>I'm looking for a list of all irreducible polynomials of degree 32 with
>coefficients in GF(2).  I've written a program to generate them, but I'd
>rather not have my computer tied up for the week it would take to generate
>them all.  Does such a list exist elsewhere?
>

I do not have a list, but I just wrote some quick Magma code to
generate some of those polynomials.

I'm not sure of the best way to do this: perhaps a sieve would
work nicely if you could find a way to be efficient with memory.
I just wrote naive code to look at all degree 32 polynomials with
 k  coefficients.  We must have  k  is odd (otherwise it factors),
and  x^32  and  1  must be two of the terms.  Another optimisation,
which I have not incorporated yet, is that  p(x)  is irreducible
iff  x^32 * p(1/x)  is irreducible.

Assuming my code is correct, there are 351 irreducibles with 5 nonzero
coefficients, and 19904 with 7 nonzero coefficients.  On a 400Mhz SPARC,
these took about 1 second and about 1 minute to generate, respectively.
Here are the ones with 3 nonzero coefficients:

    x^32 + x^22 + x^2 + x + 1, x^32 + x^25 + x^2 + x + 1,
    x^32 + x^16 + x^3 + x + 1, x^32 + x^17 + x^3 + x + 1,
    x^32 + x^20 + x^3 + x + 1, x^32 + x^31 + x^3 + x + 1,
    x^32 + x^11 + x^4 + x + 1, x^32 + x^27 + x^4 + x + 1,
    x^32 + x^27 + x^5 + x + 1, x^32 + x^14 + x^6 + x + 1,
    x^32 + x^23 + x^6 + x + 1, x^32 + x^25 + x^6 + x + 1,
    x^32 + x^15 + x^7 + x + 1, x^32 + x^15 + x^8 + x + 1,
    x^32 + x^22 + x^8 + x + 1, x^32 + x^22 + x^9 + x + 1,
    x^32 + x^15 + x^10 + x + 1, x^32 + x^30 + x^10 + x + 1,
    x^32 + x^16 + x^11 + x + 1, x^32 + x^18 + x^11 + x + 1,
    x^32 + x^21 + x^11 + x + 1, x^32 + x^27 + x^11 + x + 1,
    x^32 + x^28 + x^11 + x + 1, x^32 + x^31 + x^12 + x + 1,
    x^32 + x^22 + x^14 + x + 1, x^32 + x^30 + x^16 + x + 1,
    x^32 + x^22 + x^17 + x + 1, x^32 + x^25 + x^18 + x + 1,
    x^32 + x^28 + x^18 + x + 1, x^32 + x^24 + x^19 + x + 1,
    x^32 + x^26 + x^19 + x + 1, x^32 + x^31 + x^20 + x + 1,
    x^32 + x^23 + x^22 + x + 1, x^32 + x^25 + x^23 + x + 1,
    x^32 + x^30 + x^26 + x + 1, x^32 + x^28 + x^27 + x + 1,
    x^32 + x^30 + x^29 + x + 1, x^32 + x^31 + x^29 + x + 1,
    x^32 + x^7 + x^3 + x^2 + 1, x^32 + x^9 + x^3 + x^2 + 1,
    x^32 + x^12 + x^3 + x^2 + 1, x^32 + x^16 + x^3 + x^2 + 1,
    x^32 + x^17 + x^3 + x^2 + 1, x^32 + x^20 + x^3 + x^2 + 1,
    x^32 + x^28 + x^3 + x^2 + 1, x^32 + x^31 + x^3 + x^2 + 1,
    x^32 + x^8 + x^5 + x^2 + 1, x^32 + x^11 + x^5 + x^2 + 1,
    x^32 + x^20 + x^5 + x^2 + 1, x^32 + x^24 + x^5 + x^2 + 1,
    x^32 + x^26 + x^5 + x^2 + 1, x^32 + x^7 + x^6 + x^2 + 1,
    x^32 + x^15 + x^6 + x^2 + 1, x^32 + x^19 + x^6 + x^2 + 1,
    x^32 + x^31 + x^6 + x^2 + 1, x^32 + x^16 + x^7 + x^2 + 1,
    x^32 + x^11 + x^8 + x^2 + 1, x^32 + x^16 + x^9 + x^2 + 1,
    x^32 + x^18 + x^9 + x^2 + 1, x^32 + x^24 + x^9 + x^2 + 1,
    x^32 + x^28 + x^9 + x^2 + 1, x^32 + x^19 + x^10 + x^2 + 1,
    x^32 + x^18 + x^11 + x^2 + 1, x^32 + x^26 + x^11 + x^2 + 1,
    x^32 + x^24 + x^13 + x^2 + 1, x^32 + x^28 + x^13 + x^2 + 1,
    x^32 + x^27 + x^14 + x^2 + 1, x^32 + x^25 + x^15 + x^2 + 1,
    x^32 + x^29 + x^15 + x^2 + 1, x^32 + x^30 + x^15 + x^2 + 1,
    x^32 + x^21 + x^16 + x^2 + 1, x^32 + x^31 + x^16 + x^2 + 1,
    x^32 + x^26 + x^17 + x^2 + 1, x^32 + x^30 + x^17 + x^2 + 1,
    x^32 + x^25 + x^19 + x^2 + 1, x^32 + x^21 + x^20 + x^2 + 1,
    x^32 + x^24 + x^21 + x^2 + 1, x^32 + x^27 + x^21 + x^2 + 1,
    x^32 + x^25 + x^22 + x^2 + 1, x^32 + x^31 + x^22 + x^2 + 1,
    x^32 + x^29 + x^24 + x^2 + 1, x^32 + x^28 + x^25 + x^2 + 1,
    x^32 + x^13 + x^4 + x^3 + 1, x^32 + x^9 + x^5 + x^3 + 1,
    x^32 + x^11 + x^5 + x^3 + 1, x^32 + x^14 + x^5 + x^3 + 1,
    x^32 + x^18 + x^5 + x^3 + 1, x^32 + x^26 + x^5 + x^3 + 1,
    x^32 + x^26 + x^6 + x^3 + 1, x^32 + x^26 + x^7 + x^3 + 1,
    x^32 + x^9 + x^8 + x^3 + 1, x^32 + x^30 + x^8 + x^3 + 1,
    x^32 + x^17 + x^9 + x^3 + 1, x^32 + x^29 + x^9 + x^3 + 1,
    x^32 + x^14 + x^10 + x^3 + 1, x^32 + x^23 + x^10 + x^3 + 1,
    x^32 + x^18 + x^11 + x^3 + 1, x^32 + x^21 + x^12 + x^3 + 1,
    x^32 + x^26 + x^12 + x^3 + 1, x^32 + x^29 + x^12 + x^3 + 1,
    x^32 + x^16 + x^13 + x^3 + 1, x^32 + x^23 + x^13 + x^3 + 1,
    x^32 + x^25 + x^13 + x^3 + 1, x^32 + x^17 + x^15 + x^3 + 1,
    x^32 + x^17 + x^16 + x^3 + 1, x^32 + x^24 + x^17 + x^3 + 1,
    x^32 + x^30 + x^17 + x^3 + 1, x^32 + x^25 + x^19 + x^3 + 1,
    x^32 + x^29 + x^20 + x^3 + 1, x^32 + x^26 + x^22 + x^3 + 1,
    x^32 + x^29 + x^23 + x^3 + 1, x^32 + x^27 + x^26 + x^3 + 1,
    x^32 + x^28 + x^26 + x^3 + 1, x^32 + x^31 + x^5 + x^4 + 1,
    x^32 + x^19 + x^6 + x^4 + 1, x^32 + x^29 + x^6 + x^4 + 1,
    x^32 + x^9 + x^7 + x^4 + 1, x^32 + x^17 + x^7 + x^4 + 1,
    x^32 + x^21 + x^7 + x^4 + 1, x^32 + x^26 + x^7 + x^4 + 1,
    x^32 + x^30 + x^7 + x^4 + 1, x^32 + x^11 + x^9 + x^4 + 1,
    x^32 + x^26 + x^9 + x^4 + 1, x^32 + x^31 + x^14 + x^4 + 1,
    x^32 + x^19 + x^17 + x^4 + 1, x^32 + x^21 + x^19 + x^4 + 1,
    x^32 + x^30 + x^19 + x^4 + 1, x^32 + x^31 + x^21 + x^4 + 1,
    x^32 + x^25 + x^23 + x^4 + 1, x^32 + x^30 + x^23 + x^4 + 1,
    x^32 + x^30 + x^29 + x^4 + 1, x^32 + x^14 + x^6 + x^5 + 1,
    x^32 + x^18 + x^6 + x^5 + 1, x^32 + x^23 + x^6 + x^5 + 1,
    x^32 + x^29 + x^6 + x^5 + 1, x^32 + x^12 + x^7 + x^5 + 1,
    x^32 + x^13 + x^7 + x^5 + 1, x^32 + x^15 + x^7 + x^5 + 1,
    x^32 + x^24 + x^7 + x^5 + 1, x^32 + x^25 + x^7 + x^5 + 1,
    x^32 + x^27 + x^7 + x^5 + 1, x^32 + x^14 + x^8 + x^5 + 1,
    x^32 + x^23 + x^8 + x^5 + 1, x^32 + x^22 + x^9 + x^5 + 1,
    x^32 + x^26 + x^9 + x^5 + 1, x^32 + x^24 + x^11 + x^5 + 1,
    x^32 + x^26 + x^11 + x^5 + 1, x^32 + x^30 + x^11 + x^5 + 1,
    x^32 + x^14 + x^12 + x^5 + 1, x^32 + x^17 + x^14 + x^5 + 1,
    x^32 + x^18 + x^14 + x^5 + 1, x^32 + x^18 + x^17 + x^5 + 1,
    x^32 + x^23 + x^17 + x^5 + 1, x^32 + x^20 + x^18 + x^5 + 1,
    x^32 + x^23 + x^18 + x^5 + 1, x^32 + x^30 + x^18 + x^5 + 1,
    x^32 + x^31 + x^21 + x^5 + 1, x^32 + x^26 + x^24 + x^5 + 1,
    x^32 + x^27 + x^25 + x^5 + 1, x^32 + x^31 + x^27 + x^5 + 1,
    x^32 + x^31 + x^28 + x^5 + 1, x^32 + x^22 + x^7 + x^6 + 1,
    x^32 + x^25 + x^7 + x^6 + 1, x^32 + x^27 + x^8 + x^6 + 1,
    x^32 + x^12 + x^9 + x^6 + 1, x^32 + x^14 + x^9 + x^6 + 1,
    x^32 + x^20 + x^9 + x^6 + 1, x^32 + x^26 + x^9 + x^6 + 1,
    x^32 + x^13 + x^10 + x^6 + 1, x^32 + x^25 + x^10 + x^6 + 1,
    x^32 + x^29 + x^10 + x^6 + 1, x^32 + x^21 + x^12 + x^6 + 1,
    x^32 + x^23 + x^13 + x^6 + 1, x^32 + x^25 + x^13 + x^6 + 1,
    x^32 + x^31 + x^13 + x^6 + 1, x^32 + x^15 + x^14 + x^6 + 1,
    x^32 + x^19 + x^14 + x^6 + 1, x^32 + x^23 + x^15 + x^6 + 1,
    x^32 + x^30 + x^15 + x^6 + 1, x^32 + x^17 + x^16 + x^6 + 1,
    x^32 + x^25 + x^17 + x^6 + 1, x^32 + x^21 + x^18 + x^6 + 1,
    x^32 + x^29 + x^20 + x^6 + 1, x^32 + x^27 + x^21 + x^6 + 1,
    x^32 + x^30 + x^21 + x^6 + 1, x^32 + x^23 + x^22 + x^6 + 1,
    x^32 + x^26 + x^23 + x^6 + 1, x^32 + x^27 + x^23 + x^6 + 1,
    x^32 + x^28 + x^23 + x^6 + 1, x^32 + x^28 + x^25 + x^6 + 1,
    x^32 + x^29 + x^25 + x^6 + 1, x^32 + x^29 + x^26 + x^6 + 1,
    x^32 + x^29 + x^27 + x^6 + 1, x^32 + x^30 + x^27 + x^6 + 1,
    x^32 + x^25 + x^8 + x^7 + 1, x^32 + x^28 + x^9 + x^7 + 1,
    x^32 + x^31 + x^9 + x^7 + 1, x^32 + x^17 + x^10 + x^7 + 1,
    x^32 + x^30 + x^10 + x^7 + 1, x^32 + x^18 + x^11 + x^7 + 1,
    x^32 + x^18 + x^13 + x^7 + 1, x^32 + x^29 + x^13 + x^7 + 1,
    x^32 + x^30 + x^13 + x^7 + 1, x^32 + x^22 + x^14 + x^7 + 1,
    x^32 + x^31 + x^14 + x^7 + 1, x^32 + x^25 + x^15 + x^7 + 1,
    x^32 + x^26 + x^15 + x^7 + 1, x^32 + x^25 + x^17 + x^7 + 1,
    x^32 + x^30 + x^17 + x^7 + 1, x^32 + x^19 + x^18 + x^7 + 1,
    x^32 + x^26 + x^19 + x^7 + 1, x^32 + x^29 + x^19 + x^7 + 1,
    x^32 + x^22 + x^20 + x^7 + 1, x^32 + x^26 + x^22 + x^7 + 1,
    x^32 + x^25 + x^24 + x^7 + 1, x^32 + x^26 + x^25 + x^7 + 1,
    x^32 + x^27 + x^25 + x^7 + 1, x^32 + x^31 + x^26 + x^7 + 1,
    x^32 + x^31 + x^30 + x^7 + 1, x^32 + x^19 + x^10 + x^8 + 1,
    x^32 + x^21 + x^11 + x^8 + 1, x^32 + x^30 + x^11 + x^8 + 1,
    x^32 + x^31 + x^13 + x^8 + 1, x^32 + x^17 + x^15 + x^8 + 1,
    x^32 + x^29 + x^15 + x^8 + 1, x^32 + x^30 + x^19 + x^8 + 1,
    x^32 + x^27 + x^21 + x^8 + 1, x^32 + x^30 + x^23 + x^8 + 1,
    x^32 + x^27 + x^25 + x^8 + 1, x^32 + x^30 + x^27 + x^8 + 1,
    x^32 + x^26 + x^10 + x^9 + 1, x^32 + x^31 + x^10 + x^9 + 1,
    x^32 + x^16 + x^11 + x^9 + 1, x^32 + x^22 + x^11 + x^9 + 1,
    x^32 + x^22 + x^13 + x^9 + 1, x^32 + x^18 + x^14 + x^9 + 1,
    x^32 + x^27 + x^14 + x^9 + 1, x^32 + x^27 + x^15 + x^9 + 1,
    x^32 + x^26 + x^17 + x^9 + 1, x^32 + x^26 + x^19 + x^9 + 1,
    x^32 + x^29 + x^19 + x^9 + 1, x^32 + x^29 + x^22 + x^9 + 1,
    x^32 + x^27 + x^24 + x^9 + 1, x^32 + x^27 + x^26 + x^9 + 1,
    x^32 + x^31 + x^26 + x^9 + 1, x^32 + x^18 + x^11 + x^10 + 1,
    x^32 + x^25 + x^12 + x^10 + 1, x^32 + x^19 + x^14 + x^10 + 1,
    x^32 + x^22 + x^15 + x^10 + 1, x^32 + x^31 + x^15 + x^10 + 1,
    x^32 + x^22 + x^17 + x^10 + 1, x^32 + x^25 + x^18 + x^10 + 1,
    x^32 + x^31 + x^18 + x^10 + 1, x^32 + x^23 + x^19 + x^10 + 1,
    x^32 + x^23 + x^21 + x^10 + 1, x^32 + x^27 + x^23 + x^10 + 1,
    x^32 + x^31 + x^23 + x^10 + 1, x^32 + x^31 + x^24 + x^10 + 1,
    x^32 + x^26 + x^25 + x^10 + 1, x^32 + x^31 + x^30 + x^10 + 1,
    x^32 + x^13 + x^12 + x^11 + 1, x^32 + x^30 + x^12 + x^11 + 1,
    x^32 + x^28 + x^13 + x^11 + 1, x^32 + x^26 + x^14 + x^11 + 1,
    x^32 + x^21 + x^16 + x^11 + 1, x^32 + x^30 + x^16 + x^11 + 1,
    x^32 + x^26 + x^20 + x^11 + 1, x^32 + x^29 + x^20 + x^11 + 1,
    x^32 + x^24 + x^21 + x^11 + 1, x^32 + x^31 + x^21 + x^11 + 1,
    x^32 + x^28 + x^25 + x^11 + 1, x^32 + x^27 + x^14 + x^12 + 1,
    x^32 + x^17 + x^15 + x^12 + 1, x^32 + x^26 + x^23 + x^12 + 1,
    x^32 + x^30 + x^27 + x^12 + 1, x^32 + x^30 + x^29 + x^12 + 1,
    x^32 + x^31 + x^29 + x^12 + 1, x^32 + x^19 + x^14 + x^13 + 1,
    x^32 + x^25 + x^14 + x^13 + 1, x^32 + x^17 + x^15 + x^13 + 1,
    x^32 + x^28 + x^15 + x^13 + 1, x^32 + x^19 + x^18 + x^13 + 1,
    x^32 + x^22 + x^18 + x^13 + 1, x^32 + x^26 + x^18 + x^13 + 1,
    x^32 + x^24 + x^22 + x^13 + 1, x^32 + x^30 + x^22 + x^13 + 1,
    x^32 + x^28 + x^26 + x^13 + 1, x^32 + x^30 + x^26 + x^13 + 1,
    x^32 + x^27 + x^15 + x^14 + 1, x^32 + x^23 + x^18 + x^14 + 1,
    x^32 + x^27 + x^18 + x^14 + 1, x^32 + x^25 + x^19 + x^14 + 1,
    x^32 + x^22 + x^21 + x^14 + 1, x^32 + x^25 + x^21 + x^14 + 1,
    x^32 + x^29 + x^21 + x^14 + 1, x^32 + x^30 + x^21 + x^14 + 1,
    x^32 + x^31 + x^21 + x^14 + 1, x^32 + x^30 + x^23 + x^14 + 1,
    x^32 + x^27 + x^26 + x^14 + 1, x^32 + x^29 + x^27 + x^14 + 1,
    x^32 + x^26 + x^16 + x^15 + 1, x^32 + x^29 + x^16 + x^15 + 1,
    x^32 + x^19 + x^17 + x^15 + 1, x^32 + x^20 + x^17 + x^15 + 1,
    x^32 + x^24 + x^17 + x^15 + 1, x^32 + x^29 + x^17 + x^15 + 1,
    x^32 + x^27 + x^18 + x^15 + 1, x^32 + x^25 + x^22 + x^15 + 1,
    x^32 + x^29 + x^23 + x^15 + 1, x^32 + x^28 + x^25 + x^15 + 1,
    x^32 + x^30 + x^29 + x^15 + 1, x^32 + x^31 + x^29 + x^15 + 1,
    x^32 + x^29 + x^19 + x^16 + 1, x^32 + x^23 + x^21 + x^16 + 1,
    x^32 + x^31 + x^21 + x^16 + 1, x^32 + x^30 + x^23 + x^16 + 1,
    x^32 + x^30 + x^25 + x^16 + 1, x^32 + x^30 + x^29 + x^16 + 1,
    x^32 + x^31 + x^29 + x^16 + 1, x^32 + x^26 + x^18 + x^17 + 1,
    x^32 + x^31 + x^22 + x^17 + 1, x^32 + x^31 + x^24 + x^17 + 1,
    x^32 + x^27 + x^25 + x^17 + 1, x^32 + x^31 + x^25 + x^17 + 1,
    x^32 + x^30 + x^26 + x^17 + 1, x^32 + x^27 + x^20 + x^18 + 1,
    x^32 + x^29 + x^22 + x^18 + 1, x^32 + x^26 + x^23 + x^18 + 1,
    x^32 + x^27 + x^24 + x^18 + 1, x^32 + x^27 + x^26 + x^18 + 1,
    x^32 + x^31 + x^26 + x^18 + 1, x^32 + x^29 + x^27 + x^18 + 1,
    x^32 + x^21 + x^20 + x^19 + 1, x^32 + x^26 + x^22 + x^19 + 1,
    x^32 + x^27 + x^25 + x^19 + 1, x^32 + x^29 + x^28 + x^19 + 1,
    x^32 + x^26 + x^23 + x^20 + 1, x^32 + x^27 + x^25 + x^20 + 1,
    x^32 + x^30 + x^29 + x^20 + 1, x^32 + x^28 + x^23 + x^21 + 1,
    x^32 + x^30 + x^24 + x^21 + 1, x^32 + x^29 + x^27 + x^21 + 1,
    x^32 + x^30 + x^27 + x^21 + 1, x^32 + x^31 + x^28 + x^21 + 1,
    x^32 + x^29 + x^24 + x^23 + 1, x^32 + x^28 + x^25 + x^23 + 1,
    x^32 + x^29 + x^27 + x^23 + 1, x^32 + x^30 + x^29 + x^23 + 1,
    x^32 + x^30 + x^27 + x^24 + 1, x^32 + x^30 + x^26 + x^25 + 1,
    x^32 + x^30 + x^29 + x^25 + 1

=============================================================================
Below is my Magma code.  Comments and suggestions welcome.
=============================================================================

/* get the degree 32 irreducible polynomials having  k  nonzero coefficients */
function GetIrred( k )

    /*  k  must be odd */
    assert( k mod 2 eq 1 );
    assert( k lt 32 );

    R<x> := PolynomialRing(GF(2));
    /* must have  x^32  and  1  in the polynomial */
    k -:= 2;
    /* store the location of nonzero coefficients */
    nonzeros := [1..k];

    irreds := [];
    while true do
        poly := x^32 + 1;
        for j in [1..k] do
            poly +:= x^nonzeros[ j ];
        end for;
        if IsIrreducible(poly) then
            Append( ~irreds, poly );
        end if;
        /* Advance the poly */
        j := k;
        while j gt 0 and nonzeros[j] ge 31+j-k do
            j -:= 1;
        end while;
        if j eq 0 then
            /* all polys exhausted */
            break;
        end if;
        nonzeros[j] := nonzeros[j] + 1;
        for i in [j+1..k] do
            nonzeros[i] := nonzeros[j] + i-j;
        end for;

    end while;

    return irreds;

end function;




------------------------------


** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: [EMAIL PROTECTED]

You can send mail to the entire list by posting to sci.crypt.

End of Cryptography-Digest Digest
******************************

Reply via email to