Fix chiffrement_affine

This commit is contained in:
flyingscorpio@arch-desktop 2022-01-28 20:50:39 +01:00
parent 5b1dd1834c
commit 77812cc19e

View file

@ -18,15 +18,16 @@ def main():
action = input("Chiffrer ou déchiffrer ? ") action = input("Chiffrer ou déchiffrer ? ")
alphabet = input("Alphabet pour le chiffrement affine, terminez par Entrée : ") alphabet = input("Alphabet pour le chiffrement affine, terminez par Entrée : ")
n = len(alphabet)
a, b = input( a, b = input(
"Clé de chiffrement (deux nombres séparés par un espace, exemple: 2 4) " "Clé de chiffrement (deux nombres séparés par un espace, exemple: 2 4) "
).split(" ")[:2] ).split(" ")[:2]
kc = (int(a), int(b)) kc = (int(a), int(b))
inv_a = inverser(a) inv_a = inverser(int(a), n)
if not inv_a: if not inv_a:
print(f"{a} doit être inversible") print(f"{a} doit être inversible")
return return
op_b = opposer(b) op_b = opposer(int(b), n)
kd = (inv_a, (inv_a * op_b) % n) kd = (inv_a, (inv_a * op_b) % n)
if action == "chiffrer": if action == "chiffrer":
@ -63,6 +64,5 @@ def dechiffrer(message: str, alphabet: str, cle: tuple[int, int]):
return output return output
if __name__ == "__main__": if __name__ == "__main__":
main() main()