Bonjour tout le monde, j'ai implémenté un chiffreur XOR en C++ pour m'amuser et il fonctionne bien, avec générateur de clé "aléatoires" avec un RAND de façon à ce que cette clé fasse la même taille que le message à chiffrer.
Mais j'ai pensé à autre chose.
On a un fichier entré qu'on veut chiffrer.
L'utilisateur crée un fichier qui va en faite représenter le fichier d'entré chiffré.
Dans ce fichier il met ce qu'il veut, par exemple : "ceanqoidO?CUcn FNIZONVR 515V15RV 51RCZ1ACARDC XEFAc raze5c1xd 0v5rz15..."
Alors soit X un caractère du fichier d'entré
soit Y le caractère correspondant du fichier de sortie
soit Z le caractère correspondant de la clé de chiffrement
Le chiffreur va chercher Z de façon à ce que X XOR Z = Y
Il faudra donc tester au plus les 256 possibilités de la table ASCII étendu.
Je pense en faite que l'aspect "aléatoire" de la clé est plus net car c'est l'utilisateur lui-même qui tape son fichier de sortie, ce qui est aléatoire car il n'a même pas besoin de regarder le clavier pour cela.
Logiquement, la clé obtenue sera elle aussi "aléatoire".
Evidemment, on aura toujours une clé de la même taille que le message à chiffrer.
Si le message à obtenir (que l'utilisateur à tapé sans regarder le clavier) est plus petit que le message à chiffrer, on va considérer que le message tappé par l'utilisateur à autant d'espace que nécessaire (à la fin) pour qu'il ait la même taille que le message à chiffrer.
Réciproquement, s'il est trop long, on ne considérera que le nombre de caractère égal à la taille du message à chiffrer
Que pensez-vous de cela ?
Je rappelle que je n'ai pas de notions particulière en cryptographie, c'est juste pour m'amuser
Est-ce correcte au niveau de la complexité temporelle ?
Discutons ^^
Merci d'avance.
Partager