Ynlqdwmnvqrbk - 1

Posted by Guillaume Nicoulaud  
Ynlqdwmnvqrbk - 1

Une des fonctions cryptographiques les plus élémentaires, c'est la fonction ROT13. L'idée, très simplement, consiste à remplacer chaque lettre du mot que vous souhaitez crypter par la treizième lettre suivante dans l'ordre alphabétique : a, première lettre, est remplacée par n, treize plus unième lettre ; b est remplacé par o etc. sachant, naturellement, qu'à partir de n, on revient au début de l'alphabet.

Par exemple, si nous souhaitons encoder le mot « test », on commence par déterminer le rang de chaque lettre dans l'alphabet (20, 5, 19, 20) auquel on rajoute 13 modulo 26 (soit 7, 18, 6, 7) et on remplace ce résultat par les lettres correspondantes de l'alphabet ; ce qui nous donne « grfg ».

Évidemment, cette rotation de treize places est un cas particulier. Jules César, qui fût un grand utilisateur de cette méthode pour chiffrer ses messages, était susceptible d'appliquer à peu près n'importe quelle rotation de 1 à 25 [1] de telle sorte que, en fonction de la clé choisie, « test » pouvait devenir « uftu » (rot1), « vguv » (rot2), « sdrs » (rot25) etc.

On peut très facilement reproduire l'algorithme de Caius Iulius - par exemple, voici ce que ça peut donner une fois codé sous R :

rot = function(x, n) {
a <- strsplit(x, "")[[1]]
v <- match(a, letters) + n
b <- rep(NA, length(v))
for(i in 1:length(v)) {
r <- v[i] - floor(v[i]/26) * 26
if(r == 0) r <- v[i]
b[i] <- r
}
res <- paste(letters[b], collapse = "")
return(res)
}

De telle sorte que :

> rot("test", 13)
[1] "grfg"

Et bien sûr :

> rot(rot("test", 13), 13)
[1] "test"

Nous avons donc un algorithme (la rotation alphabétique) et une clé (le facteur de rotation) : c'est la base de la cryptographie.

Seulement voilà : le chiffre de César est extrêmement facile à casser et ce, d'autant plus qu'un des principes fondamentaux de la cryptographie - le principe de Kerckhoffs - stipule que votre adversaire, celui qui va tenter de casser votre code, sait quel algorithme vous utilisez. En l'occurrence, [...]

http://ordrespontane.blogspot.fr/2014/02/ynlqdwmnvqrbk-1.html