public EuclidExtendedSolution BerechneEEALösung(BigInteger a, BigInteger b) { EuclidExtended euclidExtended = new EuclidExtended(a, b); solution = euclidExtended.solve(); return(solution); }
public BigInteger BerechneMessageAnhandEinesChiffratsUndPublicKeys(public_key publicKeyVonA, public_key publicKeyVonB, BigInteger chiffre) { p = BerechneP(publicKeyVonA, publicKeyVonB); q1 = BerechneQ1(publicKeyVonA, p); q2 = BerechneQ2(publicKeyVonB, p); a = publicKeyVonA.e; b = BerechneB(p, q1); EuclidExtendedSolution solution = BerechneEEALösung(a, b); M = BerechneMessage(publicKeyVonA, chiffre, solution); return(M); }
public BigInteger BerechneMessage(public_key publicKeyVonA, BigInteger chiffre, EuclidExtendedSolution solution) { return(BigInteger.ModPow(chiffre, solution.X, publicKeyVonA.N)); }