Custom Python algorithme de Cryptage
Hey, j'ai travaillé sur cette question depuis un certain temps, et je peux remebr mon frère renforcé moi par l'intermédiaire de ce même alogorithm.
Bref, il ajoute simplement les valeurs ascii de deux caractères à partir de la clé et la phrase.
Je peux chiffrer avec ceci:
def encrypt(key, string):
encoded = ''
for i in range(len(string)):
key_c = ord(key[i % len(key)])
string_c = ord(string[i % len(string)])
encoded += chr((key_c + string_c) % 127)
return encoded
Mais je ne peux pas me souvenir de ce que nous avons fait autant que le décryptage. Il est difficile de revers un mod 😛
Des idées?
Vous devez vous connecter pour publier un commentaire.
C'est simple, nous allons voir comment il fonctionne. Tout d'abord, le message chiffré est obtenu en soustrayant la clé.
Comment pouvons-nous obtenir le message d'origine? C'est facile, soustraire la clé à la fois côté
Et ici nous obtenons:
Pour plus de détails, veuillez vous reporter à L'arithmétique modulaire, je pense qu'il devrait appartenir l'un des groupe/champ/anneau. Je ne suis pas expert en mathématiques, un approfondissement des connaissances théoriques, vous pouvez trouver dans La théorie des nombres. Voici le raffinée code:
Sortie
De déchiffrement est le même, sauf avec moins au lieu de plus.
Mais vous n'avez pas besoin d'inverser le mod, juste le
+ key_c
, droit? Donc juste ajouter 128, soustrairekey_c
, et ne modulo 127 à garder dans la gamme. (au lieu de la dernière ligne, toutes les autres lignes sont les mêmes qu'avec le chiffrement.