From 9b2f711c866d1f2696f0b06731e09ecfb0a15048 Mon Sep 17 00:00:00 2001 From: "dario.genga" <dario.genga@etu.hesge.ch> Date: Tue, 14 Dec 2021 10:16:31 +0100 Subject: [PATCH] Edit readme --- readme.md | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index 1023d08..48767cf 100644 --- a/readme.md +++ b/readme.md @@ -3,13 +3,27 @@ Cours : IT 122 – 2021-2022 Groupe : Florian BURGENER, Gawen ACKERMANN, Quentin FASLER, Dario GENGA +## Structure du projet + +Afin de réaliser ce travail pratique, nous avons créé une classe `Polynomial`, contenant des méthodes permettant +d'ajouter, multiplier et faire une division modulaire sur des polynômes. Cette classe peut également afficher le +polynôme dans la console et calculer le résultat du polynôme en passant une valeur à x. + +En plus de cette classe le programme contient les méthodes suivantes : + +- `get_bezout_coefficients(a, b)` : Calcule les coefficients de bézout pour les valeurs `a` et `b` +- `modular_inverse(a, n)` : Calcule l'inverse modulaire de `a` par `n` +- `compute_lagrange_polynomial(points, prime_number)` : Calcule le polynôme de lagrange à partir des `points` en +utilisant un inverse modulaire obtenu avec le `prime_number`. +- `reed_solomon(...)` : Décode le message via reed solomon. + ## Démarche de décodage -Afin de décoder le message, nous procédons de la manière suivante : +Afin de décoder le message, nous utilisons la méthode `reed_solomon` qui fonctionne de la manière suivante : 1) On parcourt toutes les combinaisons de points possiblement juste. 2) On crée une liste qui regroupe une combinaison de points avec tous les points justes que l'on connait. -3) On construit le polynôme de Lagrange +3) On construit le polynôme de Lagrange avec la méthode `compute_lagrange_polynomial`. 4) On parcourt l'intégralité des points afin de vérifier si le polynôme est correct. 5) Si on a suffisamment de points justes, alors on peut décoder le message. -- GitLab