Crypto

A reviser

Revoir toute les merdes binaires et compagnie
Expliquer ce qu'est un groupe (algèbre)
Revoir le Log2&10
Un logarithme deterministe
3DES => De la merde
Revoir les fonction appliqués dans l'AES + son schéma CBC
LE PADDING UTILE DANS UN CADRE ? jsp wallah
La malléabilitée en cryptographie

Je sais pas trop qu'est ce que je fou ici :) : Je vise 0 pour cette matière

1. Non-répudiation d'un chiffré :

La non-répudiation est une propriété d’un système cryptographique qui garantit que l'auteur d'un message ne peut pas nier l’avoir envoyé. Cela est particulièrement important dans les systèmes asymétriques (où deux clés distinctes sont utilisées, une pour chiffrer et l'autre pour déchiffrer). Dans ce contexte :

2. Deux valeurs pour chiffrement et déchiffrement :

Dans ce type de système, seule la personne possédant la clé privée peut déchiffrer le message, assurant ainsi la confidentialité.

3. Différence entre encodage et chiffrement :

4. Binaire et les puissances de 2 :

images.jpg

Le système binaire est un système de numération qui utilise deux chiffres, 0 et 1, pour représenter des nombres. Il est utilisé en informatique car il correspond directement à la façon dont les ordinateurs fonctionnent avec des états électriques (0 = éteint, 1 = allumé).

Représentation des nombres binaires :

Chaque position dans un nombre binaire représente une puissance de 2, comme dans le système décimal où chaque position représente une puissance de 10.

Exemple des puissances de 2 :

image.png

Exemple de conversion binaire en décimal :

image.png

Conversion décimal en binaire :

Pour convertir un nombre décimal en binaire, on divise par 2 et on prend les restes.

Exemple : Convertir 13 en binaire.

  1. 13 ÷ 2 = 6 reste 1
  2. 6 ÷ 2 = 3 reste 0
  3. 3 ÷ 2 = 1 reste 1
  4. 1 ÷ 2 = 0 reste 1

Le résultat est 1101 en binaire (en lisant les restes de bas en haut).

Puissance de 2 dans le binaire :

Les puissances de 2 sont très importantes en binaire car chaque bit représente une de ces puissances. Par exemple, le bit tout à gauche dans un nombre binaire de 4 bits représente image.png, le suivant image.png, et ainsi de suite.

En résumé, chaque bit dans un nombre binaire représente une puissance de 2, et la somme des valeurs de ces puissances détermine le nombre en base 10.

5. Algorithme déterministe :

Un algorithme déterministe est un algorithme qui, pour un même jeu d'entrées, produit toujours le même résultat et suit le même chemin d'exécution à chaque fois. Il n'y a aucune forme de hasard dans ses étapes de calcul : à chaque étape de l'algorithme, l'état suivant est complètement déterminé par l'état actuel.

Caractéristiques d'un algorithme déterministe :

Exemple : L'algorithme de tri insertion est déterministe. Si tu lui donnes la même liste de nombres deux fois, il produira exactement la même liste triée.

Avantages :


5.1. Algorithme probabiliste(ou inverse d'un algorithme déterministe)

Un algorithme non déterministe est un algorithme qui peut produire différents résultats pour un même ensemble d'entrées, même si aucune variation dans les données d'entrée n'a lieu. L'algorithme inclut un élément de hasard ou de choix multiple dans son fonctionnement. Cela signifie qu'il peut explorer plusieurs solutions possibles à partir d'une même situation initiale.

Caractéristiques d'un algorithme probabiliste :

Exemple : L'algorithme de tri Quicksort avec le choix aléatoire du pivot est un algorithme non déterministe. Selon le pivot choisi aléatoirement à chaque itération, l'exécution peut suivre des chemins différents, bien que le résultat final (la liste triée) soit généralement le même.

Avantages :


Comparaison :

Applications :

En résumé, les algorithmes déterministes sont prévisibles et répétables, tandis que les algorithmes non déterministes peuvent explorer plusieurs chemins d'exécution, souvent avec un élément d'aléatoire ou de choix multiple.

6. LE CBC :

Le CBC (Cipher Block Chaining) est un mode de fonctionnement utilisé en cryptographie pour chiffrer des données par blocs. Il est principalement utilisé avec des algorithmes de chiffrement symétrique comme AES ou DES.

Principe général :

Le CBC prend un message et le divise en blocs de taille fixe (par exemple, 128 bits pour AES). Chaque bloc est chiffré de manière à dépendre du bloc précédent, créant ainsi un "enchaînement" (chaining) entre les blocs.

Étapes principales :

  1. Initialisation :

    • Le premier bloc du message est combiné avec un vecteur d'initialisation (IV), qui est aléatoire et unique.
    • Cette combinaison est ensuite chiffrée avec l'algorithme de chiffrement (AES, DES, etc.).
  2. Chiffrement en chaîne :

    • Chaque bloc suivant est combiné avec le bloc chiffré précédent (grâce à l'opération XOR).
    • Le résultat de cette combinaison est ensuite chiffré.
  3. Déchiffrement :

    • Pour déchiffrer, on fait le processus inverse : on déchiffre chaque bloc puis on applique un XOR avec le bloc chiffré précédent.

Caractéristiques principales du CBC :

Avantages :

Inconvénients :

En résumé :

CBC est une méthode de chiffrement qui lie chaque bloc de données au bloc précédent pour renforcer la sécurité. Il est largement utilisé mais peut être remplacé par des modes plus récents pour des raisons d'efficacité et de sécurité.

7. La malléabilité en cryptographie :

Modifier de manière intéligente le chiffre et de connaitre l'impact sur le clair sans avoir la possibilitée d'avoir le clair. 

Cours numéro 2 :

    ```markdown
    # Titre de votre cours
    Voici du texte en *italique* et en **gras**.
    ```

Nouvelle page

Guide Grille et Espacements - Site SEMAYAS

1. Grille (Grid)

Breakpoints recommandés :


2. Dimensions pour chaque balise

Titres


Paragraphes (balise <p>)


Boutons / Call-to-Action (CTA)


Sections principales


3. Alignements


4. Espacement général (Spacing)

Utilise une échelle de 8px pour garantir la cohérence :


5. Résumé rapide des valeurs