🔐sciences

Sécurité informatique NSI : chiffrement et JSON, la différence

1 août 2026 8 min de lecture

En NSI, tu as sûrement déjà entendu parler de sécurité informatique, de chiffrement et de JSON. Mais parfois, tout se mélange dans ta tête : est-ce que JSON sert à protéger les données ? Est-ce que le chiffrement est un format de fichier ? Pas de panique ! Dans cet article, on va clarifier tout ça une bonne fois pour toutes. Tu vas comprendre pourquoi ces notions sont différentes et complémentaires, et comment les utiliser en Python. Prêt à devenir un as de la cybersécurité ?

Qu'est-ce que la sécurité informatique en NSI ?

La sécurité informatique regroupe toutes les techniques et pratiques visant à protéger les systèmes informatiques contre les accès non autorisés, les modifications, les destructions ou les fuites de données. En NSI, on aborde ce thème principalement en Terminale, avec l'objectif de comprendre les enjeux de la cybersécurité et les mécanismes de base pour protéger l'information.

On distingue souvent plusieurs piliers de la sécurité :

  • Confidentialité : seules les personnes autorisées peuvent lire les données (grâce au chiffrement).
  • Intégrité : les données ne sont pas modifiées en cours de route (via des signatures numériques, par exemple).
  • Disponibilité : les services doivent rester accessibles (protection contre les attaques par déni de service).
  • Authentification : on vérifie l'identité des utilisateurs (avec des mots de passe, des certificats).

Ces notions sont fondamentales pour le bac NSI. Tu dois savoir les expliquer et les illustrer avec des exemples concrets.

Le chiffrement : une brique essentielle

Le chiffrement (ou cryptographie) est un procédé mathématique qui transforme un message en clair en un message incompréhensible (appelé message chiffré ou cryptogramme), à l'aide d'une clé. Seule la personne qui possède la clé de déchiffrement peut retrouver le message original.

Il existe deux grandes familles de chiffrement :

  • Le chiffrement symétrique : on utilise la même clé pour chiffrer et déchiffrer. C'est rapide, mais il faut partager la clé secrètement. Exemple : AES.
  • Le chiffrement asymétrique : on utilise une paire de clés (une publique, une privée). On chiffre avec la clé publique, on déchiffre avec la clé privée. C'est plus sûr pour l'échange, mais plus lent. Exemple : RSA.

En NSI, tu n'as pas besoin de maîtriser les algorithmes complexes comme RSA, mais tu dois comprendre le principe et savoir implémenter un chiffrement simple, comme le célèbre chiffre de César ou un XOR.

Exemple de chiffrement en Python : le chiffre de César

Voici un petit programme Python qui chiffre et déchiffre un message avec un décalage de 3 (comme Jules César).

def cesar_chiffre(message, decalage):
    resultat = ""
    for caractere in message:
        if caractere.isalpha():
            # On gère les minuscules et majuscules
            base = ord('a') if caractere.islower() else ord('A')
            nouveau_code = (ord(caractere) - base + decalage) % 26 + base
            resultat += chr(nouveau_code)
        else:
            resultat += caractere
    return resultat

def cesar_dechiffre(message_chiffre, decalage):
    return cesar_chiffre(message_chiffre, -decalage)

message = "NSI c'est génial !"
chiffre = cesar_chiffre(message, 3)
print("Chiffré :", chiffre)
print("Déchiffré :", cesar_dechiffre(chiffre, 3))

Ce code illustre bien le principe : on décale chaque lettre de l'alphabet. Sans connaître le décalage (la clé), il est difficile de lire le message. Bien sûr, ce chiffrement est très faible, mais il montre l'idée.

Pour aller plus loin, tu peux aussi découvrir le chiffrement XOR, qui est utilisé dans beaucoup de protocoles modernes. Mais retiens l'essentiel : le chiffrement protège la confidentialité.

JSON : un format de données, pas un outil de sécurité

Le JSON (JavaScript Object Notation) est un format de données textuel, lisible par les humains et facilement interprétable par les machines. Il est utilisé pour structurer et échanger des données entre un client et un serveur, par exemple dans une API.

Un fichier JSON ressemble à ceci :

{
  "nom": "Marie",
  "age": 17,
  "classe": "Terminale NSI",
  "langages": ["Python", "SQL", "HTML"]
}

JSON n'a aucun mécanisme de sécurité intégré. Il ne chiffre pas, il ne protège pas. C'est juste une façon d'organiser l'information. Si tu envoies un fichier JSON sur un réseau non sécurisé, n'importe qui peut le lire. C'est là que le chiffrement entre en jeu : on peut chiffrer le contenu JSON ou le transporter via un protocole sécurisé comme HTTPS.

En NSI, tu manipules JSON principalement en Python avec le module json. Par exemple :

import json

donnees = {"nom": "Marie", "age": 17}

# Convertir un dictionnaire en chaîne JSON
json_str = json.dumps(donnees)
print(json_str)

# Revenir à un dictionnaire
donnees_retrouvees = json.loads(json_str)
print(donnees_retrouvees["nom"])

JSON est donc un outil de structuration, pas de protection. C'est une distinction cruciale à faire pour ne pas confondre les deux.

Pourquoi on confond souvent les deux ?

La confusion vient souvent du fait qu'on utilise les deux ensemble : quand tu envoies des données JSON sur internet, elles sont souvent chiffrées (via HTTPS). Mais le chiffrement ne change pas le format JSON ; il protège juste le transport. De plus, dans certains exercices, on te demande de stocker des mots de passe hachés dans un JSON, ce qui mélange encore plus les notions. Mais retiens :

  • JSON : format de données (c'est le contenant).
  • Chiffrement : transformation cryptographique (c'est le cadenas).

Pour t'aider, imagine une lettre : le papier et l'encre (JSON) permettent d'écrire le message, mais le cadenas (chiffrement) le protège pendant le transport.

Mise en pratique : combiner JSON et chiffrement

Voyons comment on pourrait chiffrer un fichier JSON en Python. On va utiliser le module cryptography (à installer avec pip install cryptography), mais tu peux aussi faire un simple XOR pour l'exemple.

Voici un exemple avec le chiffrement symétrique Fernet (basé sur AES) :

from cryptography.fernet import Fernet
import json

# Générer une clé
cle = Fernet.generate_key()
fernet = Fernet(cle)

# Données à protéger
donnees = {"login": "admin", "mot_de_passe": "1234"}
json_data = json.dumps(donnees).encode()  # on transforme en bytes

# Chiffrer
chiffre = fernet.encrypt(json_data)
print("Données chiffrées :", chiffre)

# Déchiffrer
dechiffre = fernet.decrypt(chiffre)
donnees_originales = json.loads(dechiffre)
print("Données restaurées :", donnees_originales)

Ce programme montre bien la complémentarité : JSON structure, le chiffrement protège. En NSI, tu n'auras pas à implémenter Fernet, mais tu dois comprendre ce principe.

Conseils de méthode pour le bac NSI

Pour l'épreuve de NSI, tu dois être capable de :

  • Expliquer les enjeux de la sécurité informatique et citer des exemples d'attaques (phishing, DDoS, etc.).
  • Décrire le principe du chiffrement symétrique et asymétrique, et citer des exemples d'algorithmes.
  • Manipuler les fichiers JSON en Python : lecture, écriture, conversion.
  • Ne pas confondre les notions de format, de compression, de chiffrement et de hachage.

Pour t'entraîner, je te conseille de refaire les exercices sur la page exercices de nsi-lycee.fr et de revoir les cours disponibles. Tu peux aussi t'entraîner avec les annales du bac.

Pense aussi à bien comprendre le lien entre JSON et les bases de données, car tu verras souvent des échanges JSON avec SQL. Pour ça, jette un œil à notre article sur SQL et les bases de données.

Enfin, si tu veux approfondir tes connaissances en toute autonomie, tu peux consulter les ressources de Allo Lycée et Allo Bac qui proposent des fiches de révision et des exercices interactifs.

Conclusion

En résumé, la sécurité informatique est un vaste domaine, le chiffrement est une de ses techniques clés, et le JSON est simplement un format de données. Ne les confonds plus ! Avec ces bases, tu es prêt à aborder les notions plus avancées comme le hachage, les certificats électroniques ou les attaques par force brute. Continue à t'entraîner, et tu verras, la cybersécurité devient passionnante. Bon courage pour tes révisions !

📚 Pour aller plus loin

Questions fréquentes

Quelle est la différence entre chiffrement et hachage en NSI ?

Le chiffrement est réversible : on peut déchiffrer avec la clé. Le hachage est une fonction à sens unique : on ne peut pas retrouver le message original à partir du hash. Le hachage sert à vérifier l'intégrité ou stocker des mots de passe.

JSON est-il un langage de programmation ?

Non, JSON est un format de données textuel. Il ne contient pas de logique, seulement des paires clé-valeur, des listes, etc. Il est utilisé pour échanger des données entre systèmes.

Peut-on chiffrer un fichier JSON ?

Oui, on peut chiffrer le contenu d'un fichier JSON avec un algorithme de chiffrement. Le JSON reste un format, mais son contenu devient illisible sans la clé. On parle alors de JSON chiffré.

Quels algorithmes de chiffrement sont au programme de NSI ?

Le programme de NSI n'exige pas la maîtrise d'un algorithme précis, mais tu dois connaître les principes du chiffrement symétrique (ex. AES) et asymétrique (ex. RSA). Le chiffre de César est souvent utilisé comme exemple simple.

Comment protéger des données JSON lors d'une transmission ?

On utilise le protocole HTTPS qui chiffre la communication, ou on chiffre les données avant de les envoyer. Dans les deux cas, le JSON est protégé pendant le transport.

Bravo ! Tu as lu cet article
Inscris-toi pour sauvegarder ta progression et gagner des XP
Creer mon compte
sécurité informatique NSIchiffrement cryptographieJSON NSIbac NSI sécurité
Pixel