/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        T E S T   D U   G E N E R A T E U R   A L E A T O I R E   ' BBS '   ( B L U M - B L U M - S H U B )  :                     */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xtc/random_BBS.01$c' :                                                                                         */
/*                                                                                                                                   */
/*                    Jean-Francois Colonna (LACTAMME, 20130605085451).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

#include  <stdio.h>

#define   NOMBRE    100000

main()
          {
          int                 i;
          long      int       NombrePremierP=43991;
          long      int       NombrePremierQ=44027;
          long      int       Seed=3;
                                        /* On notera qu'il faut :                                                                    */
                                        /*                                                                                           */
                                        /*                  P = 3 modulo 4                                                           */
                                        /*                  Q = 3 modulo 4                                                           */
                                        /*                                                                                           */
                                        /*                  S E [2,(PxQ)-1)]                                                         */
                                        /*                                                                                           */
          long      int       Xi;
          int                 Compteur_0=0;
          int                 Compteur_1=0;

          Xi=Seed;

          for       (i=0 ; i<NOMBRE ; i++)
                    {
                    int       bit;
                    Xi = ((Xi*Xi)%(NombrePremierP*NombrePremierQ));
                    bit=(Xi&1);

                    if        (bit == 0)
                              {
                              Compteur_0++;
                              }
                    else
                              {
                              Compteur_1++;
                              }

                    printf("%d",bit);
                    }

          printf("\n");
          printf("nombre de 0=%d\n",Compteur_0);
          printf("nombre de 1=%d\n",Compteur_1);
          }



Copyright © Jean-François Colonna, 2021-2023.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2021-2023.