コード例 #1
0
ファイル: pyq.py プロジェクト: Wiston999/DSS
def generaQ():
    primo = generaAleatorio(160)
    probPrimo = binDecimal(primo)
    resPrimo = primalidad.miller_Rabin(probPrimo, 40)

    while resPrimo == "no es primo":
        resPrimo = primalidad.miller_Rabin(probPrimo, 40)
        if (resPrimo == "no es primo"):
            probPrimo += 2

    return probPrimo
コード例 #2
0
ファイル: pyq.py プロジェクト: Wiston999/DSS
def generaQ():
   primo = generaAleatorio(160)
   probPrimo = binDecimal(primo)
   resPrimo = primalidad.miller_Rabin(probPrimo,40)

   while resPrimo == "no es primo":
      resPrimo = primalidad.miller_Rabin(probPrimo,40)
      if(resPrimo == "no es primo"):
          probPrimo +=2

   return probPrimo
コード例 #3
0
ファイル: pyq.py プロジェクト: Wiston999/DSS
def generaP(numBits, q):
    if (numBits % 64 != 0):
        return "No es divisor de 64 el numero de bits"
    c = generaC(numBits)
    numero = c * q + 1
    resPrimo = primalidad.miller_Rabin(numero, 40)
    while resPrimo == "no es primo":
        resPrimo = primalidad.miller_Rabin(numero, 40)
        if (resPrimo == "no es primo"):
            #numero = numero + (2*q)
            c = c + 2
            numero = c * q + 1
    return numero, c
コード例 #4
0
ファイル: pyq.py プロジェクト: Wiston999/DSS
def generaP(numBits, q):
   if(numBits % 64 !=0):
      return "No es divisor de 64 el numero de bits"
   c = generaC(numBits)
   numero = c*q + 1
   resPrimo = primalidad.miller_Rabin(numero,40)
   while resPrimo == "no es primo":
      resPrimo = primalidad.miller_Rabin(numero,40)
      if(resPrimo == "no es primo"):
          #numero = numero + (2*q)
          c = c+2
          numero = c*q +1
   return numero,c