Dans cette série de billets, je mets en avant des choix pédagogiques que j’ai pu effectuer ou des questions que je me suis posées, par exemple suite à un retour en bêta de ma part ou à une remarque soulevée par un de mes lecteurs. L’objectif est à la fois de partager ma maigre expérience et d’initier l’échange sur ces problèmes pédagogiques.
Dans mon article « KRACK : attaques contre les communications Wi-Fi », j’introduis dans la deuxième section des formules pour décrypter les messages, puis je présente du code implémentant cette procédure. Par exemple :
L’attaquant obtient donc facilement $M_1 \oplus M_2$. Remarquons que s’il connait $M_1$, il détermine $M_2$ avec cette équation :
$$ \begin{aligned} M_2 &= M_2 \oplus 0 \\ &= M_2 \oplus (M_1 \oplus M_1) \\ &= (M_2 \oplus M_1) \oplus M_1 \\ &= (M_{2c} \oplus M_{1c}) \oplus M_1 \end{aligned} $$
1 2 3 4 5 6 7 8 >>> m1, m2, k = "Le sens de la vie est", "Ca passe ou ça KRACK!", "abcdefghijklmnopqrstu" >>> mc1 = xor_str(m1, k) >>> mc2 = xor_str(m2, k) >>> mc_xor = xor_str(mc1, mc2) >>> xor_str(m1, mc_xor) 'Ca passe ou ça KRACK!' >>> xor_str(m2, mc_xor) 'Le sens de la vie est'
On remarque une correspondance entre les notations du texte et le nom des variables. Toutefois, ce n’était pas le cas dans la première version de ce passage. Voyez plutôt :
L’attaquant obtient donc facilement $M \oplus M'$. Remarquons que s’il connait $M$, il détermine $M'$ avec cette équation :
$$ \begin{aligned} M' &= M' \oplus 0 \\ &= M' \oplus (M \oplus M) \\ &= (M' \oplus M) \oplus M \\ &= (M'_{c} \oplus M_{c}) \oplus M \end{aligned} $$
1 2 3 4 5 6 7 8 >>> m1, m2, k = "Le sens de la vie est", "Ca passe ou ça KRACK!", "abcdefghijklmnopqrstu" >>> mc1 = xor_str(m1, k) >>> mc2 = xor_str(m2, k) >>> mc_xor = xor_str(mc1, mc2) >>> xor_str(m1, mc_xor) 'Ca passe ou ça KRACK!' >>> xor_str(m2, mc_xor) 'Le sens de la vie est'
Un ami m’ayant fait la remarque que cette incohérence nuisait à la compréhension, je l’ai supprimée. Puis1 je me suis demandé si c’était effectivement judicieux. Dans la vidéo suivante, Derek Muller soutient que des explications claires facilitent, évidemment, la compréhension, mais que mâcher le travail au lecteur diminue son effort cognitif et donc sa capacité à assimiler la notion et à la retenir.2
Et alors :
L’incohérence ponctuelle des notations est-elle un moyen de stimuler l’attention du lecteur sans nuire à sa compréhension, et ainsi de lui permettre d’assimiler plus efficacement le concept expliqué ?