Top 20

1 0x00h 701 pts
2 boris39 701 pts
3 neoxquick 682 pts
4 maf-ia 663 pts
5 thefinder 645 pts
6 benito255 609 pts
7 mego 592 pts
8 madbat2 581 pts
9 Mart 554 pts
10 tehron 504 pts
11 Kithyane 503 pts
12 egosum 474 pts
13 plucth 447 pts
14 Undr 416 pts
15 Zeta 416 pts
16 CoYoTe99 416 pts
17 loonies2 412 pts
18 Armavica 411 pts
19 vitalimarrenra 404 pts
20 b0n0n 397 pts

Classement complet

Shoutbox

15 Jul - 8:43 pm

Cool !! Merci beaucoup !!

9 Jul - 11:20 pm

Hello, je regarde ça dès que je peux, probablement demain

9 Jul - 5:54 pm

Bonjour à tous, Je rencontre le même problème que "Foo". Impossible de valider des nouveaux challs, et impossible d'en revalider des anciens... D'avance merci :)

8 Jul - 1:38 pm

Hello. C'est normal que j'arrive pas à valider quoi que ce soit ? La page validation.php renvoie toujours un contenu vide. Même quand j'utilise le code d'exemple donné.

3 Apr - 12:45 pm

Bonjour metatr0n, pas besoin besoin restaurer mon compte précédent puisque j'ai pu revalider les épreuves avec le nouveau :) Si le système de mail ne fonctionne plus, il est probable que l'épreuve "Email (21)" soit également impactée. Au passage je te signale un potentiel problème de précision numérique avec l'épreuve "Polynomial regression (25)" nécessitant plusieurs essais pour valider l'épreuve. Lorsque je vérifie mon polynôme en local (double C++), je respecte pourtant la tolérance de précision. Merci pour les épreuves, je me régale ! :)

26 Mar - 6:14 pm

Bonjour, effectivement notre système de mail a l'air d'être en vrac, si tu veux récupérer ton compte je peux te réinitialiser ton mot de passe à la main

17 Mar - 5:36 pm

Bonjour, l'envoi d'email du système de ré-initialisation de mot de passe semble ne pas marcher (mail orange.fr). J'ai pourtant attendu et vérifié mes spams. J'ai du créer un compte "loonies2" en remplacement de "loonies".

11 Feb - 8:21 pm

Bonjour, oui bien sûr, on peut utiliser n'importe quel langage

9 Feb - 11:30 pm

Bonjours, on peut utiliser python 3 ?

26 Jan - 2:06 pm

Hi, that's right, I'm gonna look into it, thanks

Connexion
Mot de passe oublié

Supportez nousx

Vous aimez µContest ?
Supportez nous en votant (fun et difficulté) pour µContest sur WeChall :)
Si vous ne l'avez pas encore fait, profitez-en pour lier votre compte
Wechall à µContest pour pouvoir voter !

Merci

Liste des épreuves :: Cryptographie :: Chaotic cryptography I (29)

Résumé

ID : 29
Points : 13
Validations :
Page de l'épreuve
Reporter un bug

Description


Cette épreuve traite de la cryptographie chaotique à travers l'utilisation d'un cryptosystème simple. Le principe consiste en la génération d'un signal chaotique (ayant l'apparence de bruit) auquel on y ajoute le message clair. Voici un exemple :






Le signal chaotique rouge est ajouté au signal bleu que l'on souhaite chiffrer pour donner le signal crypté vert.

L'objectif est de déchiffrer un signal codé avec ce cryptosystème :



La suite (un)n est la suite récurrente logistique et décrit le signal chaotique. La suite (cn)n est le message crypté qui est donc la somme du signal chaotique avec le signal clair mn. Le paramètre μ et le terme initial u0 représentent donc la clé secrète. Ci-dessus, (un)n est en rouge, (mn)n est en bleu et (cn)n est en vert.

Afin de déchiffrer la message, vous disposez de la suite chiffrée (cn) et des deux premiers termes clairs m0 et m1.

Les termes du message clair sont des réels compris entre 0 et 1. Une fois déchiffré, le message devra être converti en une chaîne de 0 et de 1 de la manière suivante :
→ tous les termes compris entre 0 et 0.5 inclus seront transformés en 0
→ ceux compris entre 0.5 exclu et 1 seront transformés en 1

Voici un exemple :
Format du message chiffré : 0.7;1.6675;0.6216873125;1.213623706;1.038626455
Message clair décrypté : 0.2; 0.7; 0.5; 0.8; 0.1
Chaîne correspondante : 01010

La chaîne ainsi formée devra être renvoyée dans la variable message_clair.

Variables


Nom Type Description
Variables à récupérer
message_chiffreChaîne de caractèreschar*Signal à décrypter
m0RéelfloatPremier terme du message clair
m1RéelfloatDeuxième terme du message clair
Variables à renvoyer
message_clairChaîne de caractèreschar*Chaîne de caractère contenant le message décrypté