Someone can tell me which type of algorithm is this ?

From: firefox78 (g.giacomello_at_gmail.com)
Date: 11/29/05


Date: 29 Nov 2005 13:35:15 -0800

Someone have any Idea of this algorithm? I think it can be a sort of
Feistel, someone can ttell me whis variant?

                private void ElaboraArray(uint []a) //Sembra una rete di feistel
                {
                        uint[] x = new uint[0x10]; //Matrice di destinazione

                        ulong r; //Risuiltato della moltiplicazione
                        ulong r2; //Risultato della somma

                        uint rh = 0;
                        uint rl = 0;

                        for (int i=0; i<=a.GetUpperBound(0); i++)
                        {
                                rh = 0;
                                for (int j=i+1; j<=a.GetUpperBound(0); j++)
                                {
                                        r = (ulong)a[i] * (ulong)a[j];
                                        rl = (uint)r;

                                        r2 = (ulong)rl + (ulong)rh + (ulong)x[j+1];
                                        r2 += r2 >> 32;

                                        rh = (uint)(r >> 32);
                                        x[j+i] = (uint)r2;

                                        if (j == a.GetUpperBound(0)) x[j+i+1] = rh;
                                }
                        }
                }

Best regards.