<?xml version="1.0" encoding="UTF-8"?>
<quiz>
<question type="category">
  <category>
    <text>$course$/QCM de NSI/Terminale/Sécurisation des communications</text>
  </category>
  <info format="html">
    <text><![CDATA[<p>Chiffrement symétrique (clé secrète) et asymétrique (clés<br/>
publique/privée), fonctions de hachage cryptographiques,<br/>
signature numérique, certificats, protocole TLS, principes<br/>
fondamentaux de la cryptographie moderne.</p>]]></text>
  </info>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q01 : Définition du chiffrement</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Que désigne précisément le <strong>chiffrement</strong> d'un message ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Cryptologie = cryptographie (chiffrement, signature) +<br/>
cryptanalyse (cassage des codes). Le terme « cryptage »<br/>
est un anglicisme à éviter en français : on dit<br/>
« chiffrement ».</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La compression d'un fichier pour gagner de la place</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la compression et le chiffrement sont des<br/>
opérations distinctes. La compression réduit la<br/>
taille, le chiffrement protège la confidentialité.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>La transformation du message clair en un message illisible sans la clé de déchiffrement</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : le chiffrement protège la<br/>
<strong>confidentialité</strong>. Le message « clair » devient un<br/>
« chiffré » ou « cryptogramme ». Seul le détenteur<br/>
de la clé peut le déchiffrer.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La signature d'un document</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la signature numérique est une autre<br/>
opération cryptographique, qui garantit l'authenticité<br/>
(qui ?) et l'intégrité (a-t-il été modifié ?), pas la<br/>
confidentialité.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La transformation du message en chiffres uniquement</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : confusion possible avec le mot « chiffres ».<br/>
Le chiffrement transforme un message en une forme<br/>
illisible sans la bonne clé, mais pas spécifiquement<br/>
en chiffres.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q02 : Chiffrement symétrique</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Qu'est-ce qu'un chiffrement <strong>symétrique</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>AES (Advanced Encryption Standard) est aujourd'hui le<br/>
chiffrement symétrique le plus utilisé. Il chiffre par<br/>
blocs de $128$ bits avec des clés de $128$, $192$ ou<br/>
$256$ bits.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un chiffrement où l'on utilise deux clés différentes : une publique et une privée</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est la définition du chiffrement<br/>
<strong>asymétrique</strong>, pas symétrique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Un chiffrement où la même clé sert au chiffrement et au déchiffrement</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : par exemple, AES, ChaCha20. La clé<br/>
doit être partagée entre l'expéditeur et le<br/>
destinataire avant l'échange. C'est rapide mais pose<br/>
le problème de la <strong>distribution</strong> de la clé.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un chiffrement qui ne nécessite aucune clé</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : un chiffrement sans clé serait facilement<br/>
déchiffrable par toute personne connaissant<br/>
l'algorithme. Ce serait un encodage, pas un<br/>
chiffrement.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un chiffrement qui inverse l'ordre des caractères</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est une simple transposition, qui n'est<br/>
pas un chiffrement moderne (et ne nécessite pas de<br/>
clé).</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q03 : Chiffrement asymétrique</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quel est le principe du chiffrement <strong>asymétrique</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Le chiffrement asymétrique résout le problème de la<br/>
distribution des clés : pour qu'Alice envoie un message<br/>
chiffré à Bob, elle utilise simplement la clé publique<br/>
de Bob, qu'il a déjà publiée. Pas besoin d'échange<br/>
préalable secret.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le message est chiffré et déchiffré avec la même clé</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est la définition du chiffrement<br/>
<strong>symétrique</strong>.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Deux algorithmes de chiffrement différents sont utilisés</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : « asymétrique » fait référence à<br/>
l'asymétrie des clés (publique vs privée), pas des<br/>
algorithmes.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>On utilise deux algorithmes simultanément pour plus de sécurité</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : aucun rapport. L'asymétrie concerne les clés.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Une clé publique chiffre, une clé privée déchiffre, les deux sont mathématiquement liées</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : on génère un <strong>couple</strong> (clé publique,<br/>
clé privée). La clé publique peut être diffusée<br/>
librement ; tout le monde peut chiffrer pour vous.<br/>
Seul le détenteur de la clé privée peut déchiffrer.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q04 : RSA</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Sur quelle difficulté mathématique repose la sécurité de<br/>
l'algorithme <strong>RSA</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>RSA (Rivest-Shamir-Adleman, $1977$) est l'algorithme<br/>
asymétrique le plus connu. La sécurité dépend de la<br/>
taille de $N$ : aujourd'hui, on recommande au moins<br/>
$2048$ bits.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>La difficulté de factoriser un grand nombre en ses facteurs premiers</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : la clé publique contient le produit<br/>
$N = p \cdot q$ de deux grands nombres premiers. Si<br/>
on savait factoriser $N$ rapidement, on pourrait<br/>
retrouver la clé privée. Pour des $N$ de plusieurs<br/>
milliers de bits, c'est encore impossible avec les<br/>
ordinateurs classiques.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La difficulté de calculer la racine carrée</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la racine carrée se calcule en temps<br/>
polynomial. RSA repose sur d'autres problèmes.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La difficulté de trier de grandes listes</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : le tri n'a aucun rapport avec RSA. Le tri<br/>
est un problème facile.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La difficulté de calculer le produit de deux nombres</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la <strong>multiplication</strong> est facile (polynomial),<br/>
c'est l'opération inverse qui est difficile.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q05 : Fonction de hachage</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Qu'est-ce qu'une <strong>fonction de hachage cryptographique</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Trois propriétés clés d'une fonction de hachage<br/>
cryptographique : (1) <strong>résistance à la pré-image</strong><br/>
(inversion difficile), (2) <strong>résistance à la seconde<br/>
pré-image</strong> (trouver une autre entrée avec même<br/>
empreinte est dur), (3) <strong>résistance aux collisions</strong><br/>
(trouver deux entrées avec même empreinte est dur).</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Une fonction qui produit une empreinte de taille fixe à partir d'une entrée de taille quelconque, et qui est très difficile à inverser</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : par exemple, SHA-$256$ produit toujours<br/>
une empreinte de $256$ bits. Deux entrées différentes<br/>
donnent (presque toujours) des empreintes différentes,<br/>
et il est computationnellement infaisable de<br/>
retrouver l'entrée à partir de l'empreinte.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une fonction réversible qui transforme tout texte en un texte de même taille</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : une fonction de hachage est précisément<br/>
<strong>non réversible</strong>, et la sortie a une taille fixe<br/>
quelle que soit l'entrée.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une fonction qui compresse un fichier sans perte</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : le hachage produit une <strong>empreinte</strong>, on ne<br/>
peut pas reconstituer le fichier d'origine. Ce n'est<br/>
donc pas une compression.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un type de chiffrement particulier</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : le hachage n'est pas un chiffrement (pas de<br/>
clé, pas de réversibilité). Ce sont deux primitives<br/>
différentes.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q06 : Signature numérique</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quel rôle joue la <strong>signature numérique</strong> d'un document ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>La signature numérique = empreinte du document chiffrée<br/>
avec la clé privée du signataire. Pour vérifier : on<br/>
déchiffre la signature avec la clé publique, on calcule<br/>
l'empreinte du document, et on compare. Si les deux<br/>
coïncident, signature valide.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Elle remplace le mot de passe</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : aucun rapport avec l'authentification par<br/>
mot de passe.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Elle chiffre le document</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la signature ne cache pas le contenu, elle<br/>
atteste de son origine et de son intégrité. Le<br/>
document peut être en clair tout en étant signé.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Elle compresse le document</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la signature ajoute des données (la<br/>
signature elle-même), elle n'en réduit pas.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Elle prouve l'authenticité (qui a signé) et l'intégrité (le document n'a pas été modifié) du document</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : la signature numérique fonctionne<br/>
avec la cryptographie asymétrique : on signe avec<br/>
sa clé <strong>privée</strong>, et n'importe qui peut vérifier<br/>
avec la clé publique correspondante. Toute<br/>
modification du document invalide la signature.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q07 : Rôle du TLS</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>À quoi sert le protocole <strong>TLS</strong> sur le web ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>TLS combine chiffrement symétrique (rapide pour le<br/>
gros des données), asymétrique (pour échanger la clé<br/>
symétrique), hachage et signatures. Versions modernes :<br/>
TLS $1.2$ et TLS $1.3$ ; les anciennes (SSL, TLS $1.0$,<br/>
TLS $1.1$) sont obsolètes et déconseillées.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>À accélérer le chargement des pages</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : TLS introduit au contraire un léger<br/>
surcoût initial (établissement de la connexion).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>À rendre le site web compatible avec tous les navigateurs</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : TLS n'a pas de rôle de compatibilité. Son<br/>
rôle est la sécurité.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>À traduire les noms de domaines en adresses IP</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est le rôle du DNS, pas de TLS.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>À sécuriser la communication entre un navigateur et un serveur web (chiffrement, authenticité)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : TLS (Transport Layer Security)<br/>
chiffre les données échangées en HTTPS et<br/>
authentifie le serveur via son certificat. Il<br/>
succède à SSL.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q08 : Certificat numérique</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Qu'est-ce qu'un <strong>certificat</strong> numérique (au sens de<br/>
X.$509$) ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Sans certificats, on aurait du mal à savoir si la clé<br/>
publique reçue appartient bien au site qu'on croit<br/>
visiter. Le système des autorités de certification (CA)<br/>
crée une chaîne de confiance : votre navigateur fait<br/>
confiance à quelques racines, qui signent les<br/>
certificats des sites.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un système de paiement en ligne</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : aucun rapport avec le paiement.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un mot de passe long et compliqué</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : aucun rapport avec un mot de passe.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un fichier qui contient les empreintes de tous les utilisateurs</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : les certificats sont individuels, ils ne<br/>
contiennent pas de listes d'utilisateurs.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Un document signé par une autorité de confiance qui associe une clé publique à une identité</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : un certificat lie de manière vérifiable<br/>
une clé publique (par exemple celle d'un site web) à<br/>
une identité (<code>example.com</code>). La signature de<br/>
l'autorité de certification (CA) garantit l'authenticité<br/>
du lien.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q09 : Exemple historique de chiffrement symétrique</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Lequel des chiffrements suivants est un chiffrement<br/>
<strong>symétrique</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Autres chiffrements symétriques : ChaCha$20$, Twofish,<br/>
Serpent. Tous ont en commun l'utilisation d'une seule<br/>
clé secrète partagée entre les parties.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>RSA</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : RSA est asymétrique (clé publique/clé<br/>
privée).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>ECDSA</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ECDSA est un algorithme de <strong>signature</strong><br/>
(asymétrique, à courbes elliptiques), pas de<br/>
chiffrement symétrique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Diffie-Hellman</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : Diffie-Hellman est un protocole <strong>d'échange<br/>
de clés</strong>, pas un chiffrement symétrique en lui-même.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>AES (Advanced Encryption Standard)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : AES est le standard moderne du<br/>
chiffrement symétrique. Il a remplacé DES et 3DES<br/>
en $2001$. Toujours largement utilisé en $2026$.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q10 : Exemple de chiffrement asymétrique</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Lequel des éléments suivants est un algorithme<br/>
<strong>asymétrique</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Autres asymétriques : ECC (cryptographie sur courbes<br/>
elliptiques), DSA, ElGamal. Le chiffrement asymétrique<br/>
est plus lent que le symétrique : on l'utilise donc<br/>
souvent uniquement pour échanger une clé symétrique,<br/>
qui sert ensuite au gros du chiffrement.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>SHA-$256$</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : SHA-$256$ est une fonction de <strong>hachage</strong>,<br/>
pas un algorithme de chiffrement (et donc pas<br/>
asymétrique).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>AES</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : AES est un chiffrement symétrique (clé<br/>
unique partagée).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>RSA</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : RSA est l'archétype des algorithmes<br/>
asymétriques. Sa clé publique chiffre, sa clé privée<br/>
déchiffre. Il sert aussi pour les signatures<br/>
numériques.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>ChaCha$20$</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ChaCha$20$ est un chiffrement symétrique<br/>
moderne.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q11 : Chiffrement hybride</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Pourquoi TLS combine-t-il un chiffrement asymétrique et<br/>
un chiffrement symétrique (chiffrement « hybride ») ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>AES sur $128$ bits offre un niveau de sécurité<br/>
équivalent à RSA sur environ $3000$ bits, mais bien<br/>
plus vite. C'est pour cela qu'on échange juste une clé<br/>
AES via RSA, puis qu'on chiffre les données avec AES.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Le chiffrement asymétrique est lent ; on l'utilise donc juste pour échanger une clé symétrique, puis on chiffre les vraies données en symétrique (rapide)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : on prend le meilleur des deux<br/>
mondes. L'asymétrique résout l'échange initial<br/>
(sans secret partagé préalable), le symétrique fait<br/>
le gros du chiffrement avec efficacité.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Parce que le chiffrement symétrique est moins sûr</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : les deux sont sûrs avec des clés<br/>
adéquates. Le chiffrement symétrique est même plus<br/>
rapide à clés équivalentes.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Pour respecter une réglementation européenne</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est un choix purement technique, pas<br/>
réglementaire.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Pour la beauté technique</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est un choix d'ingénierie pour combiner<br/>
les avantages des deux approches.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q12 : Signature et hachage</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Pour signer un long document, on ne signe généralement<br/>
pas le document lui-même. Que signe-t-on à sa place ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Cette technique permet de signer rapidement même un<br/>
gros fichier (vidéo, ISO système). Les fonctions de<br/>
hachage modernes (SHA-$256$, SHA-$3$) calculent<br/>
l'empreinte d'un fichier de plusieurs gigaoctets en<br/>
quelques secondes.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>L'empreinte (hash) du document, calculée par une fonction de hachage cryptographique</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : on hache le document (par exemple<br/>
avec SHA-$256$) pour obtenir une empreinte de taille<br/>
fixe, puis on signe cette empreinte. C'est plus<br/>
rapide et tout aussi sûr (toute modification du<br/>
document change l'empreinte).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le mot de passe du signataire</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : aucun rapport avec un mot de passe. La<br/>
signature utilise la clé <strong>privée</strong> du signataire.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une partie aléatoire du document</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : on ne signe pas une partie aléatoire, ce<br/>
qui ne couvrirait pas tout le document.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le titre du document uniquement</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : signer le titre ne couvrirait pas le<br/>
contenu, donc ne protégerait pas l'intégrité.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q13 : Stockage des mots de passe</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Comment un site web bien conçu stocke-t-il les mots de<br/>
passe de ses utilisateurs ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Les fonctions de hachage classiques (SHA-$256$) sont<br/>
trop rapides pour les mots de passe : un attaquant peut<br/>
en tester des milliards par seconde sur GPU. Les<br/>
fonctions « lentes » comme bcrypt sont conçues pour<br/>
résister à ces attaques massives.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Sous forme d'empreinte (hash) calculée par une fonction de hachage adaptée (bcrypt, scrypt, Argon$2$), avec un sel unique</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : on stocke seulement l'empreinte. À<br/>
la connexion, on hache le mot de passe saisi et on<br/>
compare. Le sel empêche les attaques par tables<br/>
précalculées (rainbow tables). Les fonctions<br/>
coûteuses (bcrypt) ralentissent les attaques par<br/>
force brute.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Effacés après chaque connexion</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : il faudrait alors les redemander à chaque<br/>
fois, ce qui n'est pas pratique. Et le problème de<br/>
stockage subsisterait pour le mot de passe en<br/>
cours d'utilisation.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Chiffrés avec une clé symétrique commune à tous les utilisateurs</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : si la clé est compromise, tous les mots<br/>
de passe le sont. De plus, on n'a pas besoin de<br/>
pouvoir déchiffrer les mots de passe.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>En clair dans la base de données</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est une <strong>mauvaise pratique</strong> majeure. En<br/>
cas de fuite de la base, tous les mots de passe<br/>
seraient exposés.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q14 : Collisions</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Pourquoi est-il important qu'une fonction de hachage<br/>
cryptographique soit <strong>résistante aux collisions</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>MD$5$ et SHA-$1$, autrefois standards, ne sont plus<br/>
considérés sûrs car des collisions ont été calculées<br/>
explicitement (Google, $2017$ pour SHA-$1$). Les<br/>
fonctions modernes recommandées sont SHA-$256$ et la<br/>
famille SHA-$3$.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Pour gagner de la place en mémoire</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : aucun rapport avec la mémoire. C'est une<br/>
propriété de <strong>sécurité</strong>.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Pour éviter que deux documents différents puissent avoir la même empreinte, ce qui invaliderait les signatures numériques</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : si on peut trouver deux documents<br/>
$A$ et $B$ ayant le même hash, on peut faire signer<br/>
$A$ par quelqu'un puis prétendre qu'il a signé $B$.<br/>
C'est une attaque par collision.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Pour accélérer le calcul</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la résistance aux collisions et la rapidité<br/>
sont des propriétés indépendantes (parfois en<br/>
tension : on veut « assez lent » pour les mots de<br/>
passe).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Pour rendre le hash réversible</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : un hash cryptographique ne doit<br/>
<strong>précisément pas</strong> être réversible. La résistance<br/>
aux collisions est une autre propriété.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q15 : Authentification mutuelle</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>En TLS, le <strong>serveur</strong> prouve son identité au client via<br/>
son certificat. Comment le <strong>client</strong> s'authentifie-t-il<br/>
auprès du serveur (cas usuel sur le web) ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>TLS établit donc un « tunnel sécurisé » côté serveur ;<br/>
l'identification du client est ensuite la responsabilité<br/>
de l'application web. La double authentification (mot<br/>
de passe + code SMS ou TOTP) renforce cette étape.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Par mot de passe (ou autre secret) saisi sur la page sécurisée par TLS, après l'établissement du canal chiffré</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : TLS ne fait par défaut<br/>
qu'authentifier le <strong>serveur</strong>. Le client est ensuite<br/>
identifié au niveau <strong>applicatif</strong>, généralement par<br/>
un mot de passe transmis dans le canal chiffré déjà<br/>
établi.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le client envoie aussi un certificat, automatiquement géré par le navigateur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la grande majorité des sites web n'exigent<br/>
pas de certificat client. C'est rare, réservé à des<br/>
contextes professionnels (banque, intranet<br/>
d'entreprise).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le client envoie son adresse email</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : l'email seul n'est pas une preuve<br/>
d'identité. Il sert d'identifiant, pas<br/>
d'authentificateur.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le client n'est jamais authentifié sur le web</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : il l'est, mais à un niveau supérieur (par<br/>
mot de passe, par exemple), pas par TLS.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q16 : Chiffrement de bout en bout</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Que signifie le <strong>chiffrement de bout en bout</strong> dans une<br/>
messagerie comme Signal ou WhatsApp ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Le chiffrement E$2$E est devenu la norme dans les<br/>
messageries modernes. Il a un coût : si on perd ses<br/>
clés, on perd l'accès à ses anciens messages. Mais il<br/>
offre une sécurité bien supérieure aux serveurs<br/>
« curieux ».</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le message est chiffré jusqu'au serveur, qui le déchiffre puis le rechiffre vers le destinataire</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ce n'est pas du chiffrement « de bout en<br/>
bout ». Avec ce modèle, le serveur peut lire les<br/>
messages.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Tous les messages sont automatiquement effacés</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : aucun rapport avec l'éphémérité.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Le message est chiffré par l'expéditeur et ne peut être déchiffré que par le destinataire, le serveur lui-même ne peut pas le lire</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : c'est précisément ce qui distingue<br/>
le chiffrement E$2$E. Même un serveur compromis ne<br/>
peut pas révéler le contenu des messages, faute de<br/>
clé.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le message est chiffré une fois sur l'ordinateur et une fois sur le téléphone</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ce n'est pas la définition du E$2$E. Le<br/>
chiffrement reste basé sur des clés des <strong>utilisateurs</strong>,<br/>
pas sur la diversité des appareils.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q17 : Établir une clé sur un canal public</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quel principe permet à deux personnes qui n'ont<br/>
jamais communiqué auparavant d'établir une <strong>clé<br/>
secrète commune</strong> sur un canal pourtant <strong>public</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>L'échange asymétrique d'une clé symétrique est au<br/>
cœur du protocole HTTPS. Il combine la robustesse<br/>
de l'asymétrique (pas besoin de canal sûr<br/>
préalable) avec la rapidité du symétrique pour le<br/>
reste de la communication.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Utiliser un protocole asymétrique : chacun publie une clé publique, garde sa clé privée, et combine sa clé privée avec la clé publique de l'autre pour obtenir un secret partagé</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : c'est l'apport fondamental de<br/>
la cryptographie asymétrique. Un attaquant<br/>
qui écoute le canal voit seulement les clés<br/>
publiques, ce qui ne lui permet pas de<br/>
retrouver le secret partagé.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Chiffrer la clé avec elle-même</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : on aurait alors besoin de la clé pour<br/>
déchiffrer la clé. Ce n'est pas réalisable.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Faire confiance au fournisseur d'accès Internet</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la sécurité ne doit pas reposer sur<br/>
un acteur particulier du réseau.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Envoyer la clé en clair, mais très rapidement</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la vitesse d'envoi ne change rien à<br/>
l'interception possible.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q18 : HTTPS et confidentialité</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quand vous visitez un site en HTTPS, qu'est-ce qui reste<br/>
visible pour votre fournisseur d'accès Internet (FAI) ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Pour aller plus loin (cacher même le site visité), il<br/>
faut utiliser un VPN ou Tor. DNS-over-HTTPS (DoH) ou<br/>
DNS-over-TLS (DoT) chiffrent la résolution DNS, mais<br/>
l'IP et le SNI restent visibles dans la plupart des<br/>
cas.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Rien du tout</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : HTTPS chiffre le contenu mais laisse<br/>
visible certaines métadonnées.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Tout le contenu de la page que vous consultez</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : non, le contenu HTTP est chiffré par TLS.<br/>
Le FAI ne voit pas les requêtes ni les réponses.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Le nom de domaine du site visité (via DNS et SNI), l'adresse IP, et le volume des échanges</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : même en HTTPS, le FAI peut voir<br/>
<strong>quel</strong> site vous visitez (mais pas <strong>quoi</strong> vous y<br/>
faites précisément), à quelle heure, et combien de<br/>
données vous échangez.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Vos identifiants de connexion uniquement</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : les identifiants sont chiffrés par TLS, le<br/>
FAI ne les voit pas.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q19 : Chiffrement de César</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Le <strong>chiffrement de César</strong> (décalage de chaque lettre<br/>
d'un certain nombre de positions dans l'alphabet) est-il<br/>
sûr ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Le César est facile à casser, mais il a une utilité<br/>
pédagogique : il introduit les notions de clé,<br/>
chiffrement, déchiffrement, cryptanalyse. La famille<br/>
des chiffrements <strong>par substitution</strong> est généralement<br/>
faible.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Non, il existe seulement $26$ clés possibles, donc on peut toutes les essayer en quelques secondes</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : le chiffrement de César est un<br/>
exemple historique pédagogique mais pas un chiffrement<br/>
sérieux. L'analyse des fréquences ou la simple<br/>
énumération suffit à le casser.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Cela dépend de la longueur du message</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la sécurité du chiffrement de César ne<br/>
dépend pas de la longueur du message.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Oui, il est très sûr s'il utilise un grand décalage</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : le décalage est borné par la taille de<br/>
l'alphabet ($26$ pour le français). Il y a donc<br/>
seulement $26$ clés possibles.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Oui, à condition de changer la clé chaque jour</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : même avec changement quotidien, chaque jour<br/>
la clé peut être trouvée en quelques secondes.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q20 : Chiffrement de Vernam (masque jetable)</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Le chiffrement de <strong>Vernam</strong> (ou <em>one-time pad</em>) est :</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Limitation pratique : la clé doit être aussi longue que<br/>
le message et utilisée <strong>une seule fois</strong> (« one-time<br/>
pad »). Échanger des clés aussi longues que les<br/>
messages est rarement faisable, sauf pour des<br/>
communications très sensibles à très faible volume.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un chiffrement faible facilement cassable</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est en réalité le seul chiffrement<br/>
<strong>prouvé incassable</strong> mathématiquement. Mais il a<br/>
des contraintes pratiques.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Le seul chiffrement prouvé incassable, à condition que la clé soit aléatoire, aussi longue que le message, et utilisée une seule fois</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : Shannon a prouvé que ces conditions<br/>
sont nécessaires et suffisantes pour la sécurité<br/>
parfaite. Il a été utilisé pour le téléphone rouge<br/>
(ligne directe Washington-Moscou).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un type de signature numérique</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est un chiffrement, pas une signature.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un chiffrement utilisé pour les SMS</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : aucun rapport avec les SMS.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q21 : Attaque par rejeu</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Dans une <strong>attaque par rejeu</strong> (<em>replay attack</em>) :</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Les protocoles modernes (TLS, SSH, etc.) intègrent des<br/>
protections anti-rejeu : numéros de séquence,<br/>
timestamps, nonces uniques. C'est crucial pour la<br/>
sécurité réelle.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>L'attaquant change le contenu du message</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est plutôt une attaque par modification<br/>
(interceptée par les codes d'authentification de<br/>
message, MAC).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>L'attaquant capture un message valide chiffré et le renvoie plus tard pour faire effectuer une action déjà autorisée</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : sans mécanisme anti-rejeu (numéro<br/>
de séquence, horodatage, nonce), un attaquant peut<br/>
rejouer une transaction passée (par exemple, un<br/>
virement bancaire) sans même connaître la clé. Le<br/>
chiffrement seul ne protège pas contre cela.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le serveur tombe en panne</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : aucun rapport avec une panne.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>L'attaquant déchiffre tous les messages</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : le rejeu n'implique pas le déchiffrement.<br/>
C'est même son intérêt, l'attaquant n'a pas besoin<br/>
de connaître la clé.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q22 : Que faire avec une clé publique ?</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Alice veut envoyer un message confidentiel à Bob.<br/>
Bob a publié sa <strong>clé publique</strong>. Que doit faire<br/>
Alice ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Mémo : pour la <strong>confidentialité</strong> vers Bob, on<br/>
chiffre avec <strong>la clé publique de Bob</strong>. Pour<br/>
<strong>prouver</strong> qu'on est bien Alice, Alice signe<br/>
avec <strong>sa propre clé privée</strong>. Les deux usages<br/>
sont complémentaires.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Envoyer le message en clair, puisque Bob a une clé publique</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la clé publique seule ne sécurise<br/>
rien. Encore faut-il que le message soit<br/>
chiffré avec.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Envoyer la clé publique de Bob avec le message</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la clé publique de Bob est… déjà<br/>
publique. Cela n'apporte aucune sécurité.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Chiffrer son message avec la clé publique de Bob ; seul Bob, qui possède la clé privée correspondante, pourra le déchiffrer</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : c'est l'usage de base du<br/>
chiffrement asymétrique pour la<br/>
confidentialité. La clé publique sert à<br/>
chiffrer, la clé privée à déchiffrer.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Chiffrer son message avec sa propre clé privée</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ce procédé existe mais correspond à<br/>
la <strong>signature</strong> (authentification de<br/>
l'émetteur), pas à la confidentialité.<br/>
N'importe qui pourrait déchiffrer avec la<br/>
clé publique d'Alice.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q23 : Que se passe-t-il si une clé fuite ?</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Dans un système de chiffrement <strong>asymétrique</strong>, si<br/>
la <strong>clé privée</strong> de Bob est volée par un<br/>
attaquant, quelle conséquence est correcte ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>La sécurité d'un système asymétrique repose<br/>
entièrement sur la confidentialité de la clé<br/>
privée. En cas de compromission, on doit<br/>
<strong>révoquer</strong> la clé compromise et en générer une<br/>
nouvelle. C'est l'un des rôles des autorités de<br/>
certification.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>L'attaquant peut déchiffrer tous les messages chiffrés à destination de Bob avec sa clé publique</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : la clé privée est ce qui<br/>
permet de déchiffrer ; sa fuite compromet<br/>
immédiatement la confidentialité des messages<br/>
destinés à Bob. C'est pourquoi la clé privée<br/>
doit être protégée avec le plus grand soin.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Il faut juste générer une nouvelle clé symétrique</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la clé symétrique n'a aucun lien avec<br/>
la clé privée asymétrique compromise. Il faut<br/>
générer une nouvelle paire (publique, privée)<br/>
et faire republier la clé publique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>L'attaquant peut chiffrer mais pas déchiffrer</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est l'inverse, chiffrer se fait<br/>
avec la clé <strong>publique</strong> (que tout le monde<br/>
a) ; déchiffrer requiert la clé privée que<br/>
l'attaquant vient justement de voler.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Aucune conséquence, puisque la clé publique reste secrète</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la clé publique n'est <strong>pas</strong><br/>
secrète, c'est précisément ce qui la<br/>
distingue de la clé privée. Et la fuite de<br/>
la clé privée est très grave.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q24 : Symétrique vs asymétrique</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Pour un même niveau de sécurité, quelle est la différence<br/>
de taille de clé entre un chiffrement symétrique (AES)<br/>
et un chiffrement asymétrique (RSA) ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Équivalences approximatives recommandées par le NIST :<br/>
AES $128$ ≈ RSA $3072$, AES $256$ ≈ RSA $15360$. Cela<br/>
explique en partie pourquoi le chiffrement asymétrique<br/>
est plus lent.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Les clés asymétriques sont beaucoup plus longues : AES $128$ bits ≈ RSA $3072$ bits</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : la sécurité d'un chiffrement<br/>
symétrique de $n$ bits demande $2^n$ opérations à<br/>
l'attaquant (force brute). Pour un chiffrement<br/>
asymétrique, des algorithmes plus malins existent<br/>
(factorisation, log discret), donc il faut des clés<br/>
plus longues pour atteindre le même niveau.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Les deux utilisent des clés de même taille</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : pour des raisons mathématiques, les clés<br/>
asymétriques doivent être beaucoup plus longues<br/>
pour offrir une sécurité équivalente.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Aucun rapport entre les deux tailles</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : il y a un rapport établi par les meilleurs<br/>
algorithmes connus pour casser chaque type.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Les clés symétriques sont plus longues</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est l'inverse.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q25 : Sécurité et facteur humain</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quel est généralement le maillon le plus faible dans la<br/>
sécurité d'un système ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Maxime de Bruce Schneier : « La sécurité est un<br/>
processus, pas un produit. » L'aspect humain<br/>
(formation, hygiène numérique, processus<br/>
organisationnels) est aussi crucial que les<br/>
algorithmes.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La taille de la clé</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : avec des tailles de clés modernes ($2048$<br/>
bits pour RSA, $256$ pour AES), aucune attaque par<br/>
force brute n'est faisable.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Le facteur humain : ingénierie sociale, mots de passe faibles, hameçonnage, mauvaises configurations</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : les meilleurs systèmes<br/>
cryptographiques sont contournés par des erreurs<br/>
humaines : mots de passe réutilisés, clic sur un<br/>
mail de hameçonnage, mots de passe collés sur un<br/>
post-it, mauvaise configuration de serveur. La<br/>
formation des utilisateurs est aussi importante que<br/>
la technique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le langage de programmation</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : le langage n'est pas le problème principal,<br/>
même si certains langages aident à éviter des<br/>
vulnérabilités courantes (gestion de mémoire,<br/>
types).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>L'algorithme de chiffrement utilisé</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : les algorithmes modernes (AES, RSA, etc.)<br/>
sont très solides quand correctement utilisés. Les<br/>
attaques réussies passent presque toujours par<br/>
ailleurs.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q26 : Échange de clés Diffie-Hellman</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Le protocole de <strong>Diffie-Hellman</strong> ($1976$) résout<br/>
le problème suivant : deux personnes qui n'ont<br/>
jamais communiqué auparavant peuvent établir une<br/>
clé secrète commune sur un canal <strong>public</strong>, sans<br/>
qu'aucun observateur ne puisse la deviner. Sur<br/>
quelle propriété mathématique repose-t-il ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Diffie-Hellman est un jalon historique : il a<br/>
introduit l'idée d'<strong>échange de clé</strong> sans secret<br/>
partagé préalable, brisant un dogme millénaire de<br/>
la cryptographie. C'est encore aujourd'hui la<br/>
base de l'établissement des sessions TLS (en<br/>
version « éphémère » ECDHE pour la confidentialité<br/>
persistante).</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>La difficulté du problème du logarithme discret :<br/>
étant donné $g$, $p$ et $g^a \mod p$, il est<br/>
difficile de retrouver $a$</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : Alice choisit $a$ secret et<br/>
envoie $g^a \mod p$ ; Bob choisit $b$ secret<br/>
et envoie $g^b \mod p$. Chacun calcule<br/>
ensuite $(g^b)^a = (g^a)^b = g^{ab} \mod p$,<br/>
qui est la clé commune. Un attaquant qui voit<br/>
$g^a$ et $g^b$ ne peut pas calculer $g^{ab}$<br/>
sans résoudre le logarithme discret, qui<br/>
n'a pas d'algorithme efficace connu.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La difficulté de calculer une racine carrée</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la racine carrée se calcule en temps<br/>
polynomial. La sécurité de Diffie-Hellman ne<br/>
peut donc pas reposer dessus.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La difficulté de factoriser un grand nombre</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est la base de RSA, pas de Diffie-<br/>
Hellman. Diffie-Hellman repose sur le<br/>
logarithme discret, qui est un autre problème<br/>
difficile (mais lié).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le simple secret du nombre $p$</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : $p$ est public dans Diffie-Hellman.<br/>
La sécurité repose sur le secret de $a$ et<br/>
$b$ (les exposants privés), pas sur celui de<br/>
$p$.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q27 : Authentification multi-facteur</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>L'authentification multi-facteur (souvent appelée<br/>
« 2FA ») renforce la sécurité d'une connexion en<br/>
combinant plusieurs preuves d'identité. Sur quel<br/>
principe repose-t-elle ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>L'authentification multi-facteur est l'une des<br/>
mesures les plus efficaces pour réduire les<br/>
attaques sur les comptes. Recommandée pour<br/>
tous les comptes sensibles (banque, mail, GAFAM).<br/>
Privilégier TOTP ou clé FIDO2 plutôt que SMS,<br/>
qui peut être intercepté.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Demander à l'utilisateur deux mots de passe<br/>
différents</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : deux mots de passe restent dans la<br/>
même catégorie (ce que l'on connaît).<br/>
L'attaquant qui hameçonne la victime obtient<br/>
les deux. La sécurité réelle vient de la<br/>
<strong>diversité</strong> des catégories.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Chiffrer le mot de passe avant l'envoi</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : le chiffrement est déjà assuré par<br/>
HTTPS. L'authentification multi-facteur<br/>
ajoute une <strong>deuxième barrière</strong>, pas une<br/>
variante du mot de passe.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Augmenter la longueur du mot de passe</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : augmenter la longueur (ou la<br/>
complexité) renforce la résistance à la<br/>
force brute, mais ne protège pas contre le<br/>
hameçonnage ou les fuites. Le multi-facteur<br/>
répond à un autre type de menace.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Combiner deux facteurs de catégories<br/>
différentes : ce que l'on connaît (mot<br/>
de passe), ce que l'on possède (téléphone,<br/>
clé physique), ce que l'on est (empreinte,<br/>
visage). Compromettre un seul facteur ne<br/>
suffit alors plus à se faire passer pour<br/>
l'utilisateur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : la force vient du fait que<br/>
les facteurs sont indépendants. Un attaquant<br/>
qui obtient le mot de passe par hameçonnage<br/>
ne peut pas pour autant valider la<br/>
connexion, car il manque l'autre facteur<br/>
(téléphone, clé). Les modes courants : code<br/>
envoyé par SMS, code généré par application<br/>
(TOTP), clé physique (FIDO2), reconnaissance<br/>
biométrique.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q28 : Chiffrement et encodage</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>On confond souvent <strong>chiffrement</strong> et <strong>encodage</strong><br/>
(par exemple Base$64$). Quelle est la différence<br/>
fondamentale ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Erreur classique en pratique : « j'ai mis le mot<br/>
de passe en Base$64$, il est en sécurité ». Faux !<br/>
Base$64$ se décode en une commande<br/>
(<code>base64 -d</code> sous Linux). Pour la confidentialité,<br/>
il faut un véritable chiffrement (AES, par exemple)<br/>
avec une clé secrète. L'encodage est utile pour<br/>
d'autres raisons : transport, lisibilité,<br/>
compatibilité de format.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Le chiffrement utilise une clé secrète pour<br/>
rendre les données illisibles sans elle ;<br/>
l'encodage est une transformation<br/>
réversible publique (sans clé), qui ne<br/>
protège pas la confidentialité mais facilite<br/>
la transmission ou la représentation</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : Base$64$ encode des octets en<br/>
caractères ASCII pour traverser des protocoles<br/>
texte (mail, URL). N'importe qui peut décoder<br/>
du Base$64$ : ce n'est pas un chiffrement.<br/>
Confondre les deux est une erreur fréquente<br/>
(et dangereuse) dans la pratique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>L'encodage est un chiffrement plus rapide</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ce n'est pas une question de<br/>
vitesse. Un encodage ne <strong>protège</strong> rien : il<br/>
ne suffit pas à rendre des données<br/>
confidentielles, même si lent.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le chiffrement est gratuit, l'encodage est<br/>
payant</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : aucune notion de coût financier<br/>
n'intervient dans cette distinction. C'est<br/>
purement technique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le chiffrement transforme en lettres,<br/>
l'encodage en chiffres</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la nature des caractères de sortie<br/>
(lettres, chiffres, symboles) ne joue aucun<br/>
rôle dans la définition. La distinction est<br/>
la présence ou l'absence d'une clé secrète.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q29 : Trace de RSA avec petits nombres</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>On choisit deux nombres premiers $p = 5$ et<br/>
$q = 11$, donc $N = p \cdot q = 55$ et<br/>
$\varphi(N) = (p-1)(q-1) = 40$. On choisit<br/>
$e = 3$ (premier avec $40$). Alors<br/>
$d = 27$ vérifie $e \cdot d \equiv 1<br/>
\pmod{40}$ (car $3 \cdot 27 = 81 = 2 \cdot 40<br/>
+ 1$). Pour chiffrer $m = 4$ avec la clé<br/>
publique $(N, e) = (55, 3)$, on calcule<br/>
$c = m^e \mod N = 4^3 \mod 55 = 64 \mod 55$.<br/>
Quelle est la valeur du chiffré $c$ ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Cet exemple illustre concrètement le<br/>
principe de RSA. Avec de vrais nombres<br/>
premiers de plusieurs centaines de<br/>
chiffres, le calcul $m^e \mod N$ devient<br/>
coûteux pour quelqu'un qui ne connaît pas<br/>
$d$ (sauf à factoriser $N$, problème<br/>
réputé difficile). C'est cette<br/>
asymétrie entre la facilité du<br/>
chiffrement et la difficulté de la<br/>
factorisation qui fonde la sécurité de<br/>
RSA.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>$9$</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : $4^3 = 64$, et<br/>
$64 \mod 55 = 64 - 55 = 9$. Le message<br/>
chiffré est donc $9$. Pour vérifier le<br/>
déchiffrement avec la clé privée<br/>
$d = 27$, on calcule<br/>
$c^d \mod N = 9^{27} \mod 55 = 4$ (le<br/>
message original est bien retrouvé).<br/>
C'est l'identité d'Euler qui garantit<br/>
ce mécanisme : $m^{e \cdot d} \equiv m<br/>
\pmod{N}$ pour tout $m$ premier avec $N$.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>$12$</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur de calcul : $4^3 = 64$, et<br/>
$64 - 55 = 9$, pas $12$. Vérifier<br/>
attentivement que $5 \cdot 11 = 55$,<br/>
pas autre chose.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>$64$</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : $64$ est la valeur de $m^e$<br/>
<strong>avant</strong> la réduction modulo $N$. Or<br/>
le chiffré doit appartenir à<br/>
$\{0, 1, \ldots, N-1\} = \{0, 1, \ldots, 54\}$.<br/>
Il faut donc appliquer le modulo : $64<br/>
- 55 = 9$.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>$4$</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : $4$ est le <strong>message clair</strong>, pas<br/>
le chiffré. Le chiffrement applique<br/>
l'opération $m^e \mod N$, qui transforme<br/>
$4$ en autre chose. Refaire le calcul :<br/>
$4^3 = 64$, et $64 \mod 55$ vaut $9$.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q30 : Chiffrement de Vigenère</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Le <strong>chiffrement de Vigenère</strong> consiste à<br/>
utiliser une <strong>clé</strong> de plusieurs lettres et<br/>
à décaler chaque lettre du message clair selon<br/>
la lettre correspondante de la clé (répétée<br/>
cycliquement). Avec la clé <code>"BC"</code> et le<br/>
message <code>"HELLO"</code>, quel est le message<br/>
chiffré ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Vigenère a longtemps été considéré comme<br/>
« le chiffre indéchiffrable », jusqu'à ce<br/>
que Babbage et Kasiski montrent au $XIX^{e}$<br/>
siècle qu'il pouvait être cassé en<br/>
cherchant la <strong>longueur de la clé</strong> par<br/>
analyse des répétitions, puis en<br/>
appliquant l'analyse des fréquences sur<br/>
chaque sous-séquence. Aujourd'hui, c'est<br/>
un chiffre purement pédagogique.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>"BCBCB"</code> (la clé répétée)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la clé répétée n'est qu'un<br/>
intermédiaire de calcul, pas le<br/>
chiffré. On combine cette clé avec le<br/>
message clair pour produire le<br/>
chiffré.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>"HELLO"</code> (la clé n'a aucun effet)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la clé décale bien chaque<br/>
lettre. Avec une clé non triviale, le<br/>
chiffré est obligatoirement différent<br/>
du clair.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>"IGMNO"</code> (un décalage par lettre, mais avec un oubli sur la dernière)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : le calcul est correct<br/>
jusqu'à l'avant-dernière lettre.<br/>
<code>H+B</code> (décalage de $1$) donne <code>I</code>,<br/>
<code>E+C</code> (décalage de $2$) donne <code>G</code>,<br/>
<code>L+B</code> donne <code>M</code>, <code>L+C</code> donne <code>N</code>.<br/>
Mais pour la dernière lettre, <code>O+B</code><br/>
(décalage de $1$) donne <code>P</code>, pas<br/>
<code>O</code>. Le chiffré est donc <code>"IGMNP"</code>,<br/>
pas <code>"IGMNO"</code>.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p><code>"IGMNP"</code> (chaque lettre du clair<br/>
décalée selon la lettre correspondante<br/>
de la clé répétée)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : la clé <code>"BC"</code> est<br/>
répétée pour donner <code>"BCBCB"</code> à mettre<br/>
en correspondance avec <code>"HELLO"</code>.<br/>
<code>B</code> correspond à un décalage de $1$<br/>
(car <code>A</code> = $0$, <code>B</code> = $1$), <code>C</code> à un<br/>
décalage de $2$. Donc :<br/>
<code>H+1=I</code>, <code>E+2=G</code>, <code>L+1=M</code>, <code>L+2=N</code>,<br/>
<code>O+1=P</code>. Résultat : <code>"IGMNP"</code>. Vigenère<br/>
est plus solide que César car la même<br/>
lettre du clair peut être chiffrée<br/>
différemment selon sa position.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q31 : Cryptanalyse de César par fréquences</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>On intercepte un long texte chiffré par<br/>
<strong>César</strong> (décalage inconnu). Dans le texte<br/>
français, la lettre <code>'E'</code> est de loin la<br/>
plus fréquente (environ $17 \%$ des<br/>
occurrences). Dans le chiffré, la lettre la<br/>
plus fréquente est <code>'H'</code>. Quel est, très<br/>
probablement, le décalage utilisé ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>L'<strong>analyse des fréquences</strong> est une<br/>
attaque puissante contre tous les<br/>
chiffrements par substitution monoalphabétique<br/>
(où chaque lettre est toujours remplacée<br/>
par la même autre lettre). C'est ce qui<br/>
les rend tous obsolètes pour de vrais<br/>
usages cryptographiques. La parade<br/>
historique a été le chiffrement<br/>
polyalphabétique (Vigenère), puis les<br/>
chiffrements modernes (AES) qui<br/>
détruisent toute corrélation entre<br/>
fréquences du clair et du chiffré.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>$3$ (vers la droite)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : si <code>E</code> (rang $4$ dans<br/>
l'alphabet, en comptant à partir de $0$)<br/>
a été chiffrée en <code>H</code> (rang $7$), le<br/>
décalage est $7 - 4 = 3$. C'est<br/>
d'ailleurs le décalage historiquement<br/>
attribué à Jules César. Pour<br/>
déchiffrer, on applique le décalage<br/>
inverse $-3$ (ou équivalent $+23$) à<br/>
chaque lettre du chiffré.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>$5$</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : un décalage de $5$<br/>
transformerait <code>E</code> en <code>J</code>, pas en <code>H</code>.<br/>
Calculer la différence entre la<br/>
position de la lettre la plus fréquente<br/>
du chiffré (<code>H</code>) et celle attendue<br/>
dans le clair (<code>E</code>).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>$7$</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est la position de <code>H</code> dans<br/>
l'alphabet (<code>A</code>=0, ..., <code>H</code>=7), pas le<br/>
décalage. Le décalage est la<br/>
<strong>différence</strong> entre la position dans<br/>
le chiffré (<code>H</code> = $7$) et la position<br/>
dans le clair (<code>E</code> = $4$).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>$13$</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : $13$ est le décalage de<br/>
ROT$13$, qui transformerait <code>E</code> en <code>R</code>,<br/>
pas en <code>H</code>. ROT$13$ est cependant une<br/>
variante célèbre de César, utilisée<br/>
jadis sur Usenet pour cacher les<br/>
plaisanteries grivoises ou les<br/>
divulgations.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Sécurisation des communications — Q32 : Signature numérique étape par étape</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Alice veut envoyer un document signé à Bob.<br/>
Quelle est la séquence correcte des<br/>
opérations effectuées par Alice (côté<br/>
émetteur) ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Pour la vérification, Bob applique<br/>
l'opération inverse : (1) il applique la<br/>
même fonction de hachage au document reçu<br/>
pour obtenir $h'$, (2) il déchiffre la<br/>
signature $s$ avec la clé publique<br/>
d'Alice pour obtenir $h$, (3) il compare<br/>
$h$ et $h'$. Si égaux : signature valide<br/>
(le document n'a pas été altéré et<br/>
l'expéditeur dispose bien de la clé<br/>
privée d'Alice). C'est sur ce principe<br/>
que reposent les certificats TLS, les<br/>
transactions bancaires sécurisées, et<br/>
les pièces d'identité électroniques.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Alice n'a rien à faire, sa signature est<br/>
ajoutée automatiquement par le système<br/>
d'exploitation</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la signature numérique est un<br/>
processus actif qui demande la clé<br/>
privée d'Alice. Aucun système ne peut<br/>
signer à sa place sans accéder à cette<br/>
clé.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Alice chiffre le document avec la clé<br/>
publique de Bob</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est la procédure pour<br/>
assurer la <strong>confidentialité</strong> (Bob<br/>
seul pourra lire), pas pour signer.<br/>
Pour signer, il faut au contraire<br/>
utiliser la clé <strong>privée d'Alice</strong>, ce<br/>
qui prouve que c'est bien elle qui a<br/>
signé.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Alice (1) calcule l'empreinte $h$ du<br/>
document avec une fonction de hachage<br/>
comme SHA-$256$, puis (2) chiffre cette<br/>
empreinte avec sa clé privée pour<br/>
obtenir la signature $s$, puis (3)<br/>
envoie le document accompagné de la<br/>
signature $s$</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : signer = chiffrer<br/>
l'empreinte avec <strong>sa propre clé<br/>
privée</strong>. À la réception, Bob déchiffre<br/>
$s$ avec la <strong>clé publique d'Alice</strong><br/>
(pour obtenir $h$), recalcule<br/>
l'empreinte du document reçu, et<br/>
compare. Si les deux empreintes<br/>
coïncident, la signature est valide.<br/>
La sécurité repose sur le fait que<br/>
seule Alice possède sa clé privée.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Alice chiffre le document complet avec<br/>
sa clé privée</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Faux pour deux raisons. Première :<br/>
chiffrer avec sa <strong>clé privée</strong> ne sert<br/>
pas à protéger le document (n'importe<br/>
qui peut le lire avec la clé publique<br/>
d'Alice), mais à le <strong>signer</strong>. Deuxième :<br/>
on ne signe pas le document complet<br/>
mais seulement son empreinte, pour des<br/>
raisons de performance. Hacher un<br/>
fichier de plusieurs gigaoctets et<br/>
signer le hash est très rapide ;<br/>
chiffrer le fichier complet en<br/>
asymétrique serait extrêmement lent.</p>]]></text>
    </feedback>
  </answer>
</question>

</quiz>
