<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.goupill.fr/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.goupill.fr/feed.php">
        <title>GoupillWiki - nsi:tds:cryptographie</title>
        <description></description>
        <link>https://wiki.goupill.fr/</link>
        <image rdf:resource="https://wiki.goupill.fr/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-05-25T13:07:48+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:blockchain&amp;rev=1683501255&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:chiffre_cesar&amp;rev=1678372140&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:chiffre_vigenere&amp;rev=1678373222&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:chiffre_xor&amp;rev=1678317599&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:dechiffrement_mcmc&amp;rev=1681721443&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:ecc&amp;rev=1683557605&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:elgamal&amp;rev=1721641326&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:exponentiation_modulaire&amp;rev=1648319310&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:get_n_bits_prime&amp;rev=1681202836&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:hash&amp;rev=1666080662&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:inverse_modulaire&amp;rev=1648319376&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.goupill.fr/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>GoupillWiki</title>
        <link>https://wiki.goupill.fr/</link>
        <url>https://wiki.goupill.fr/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:blockchain&amp;rev=1683501255&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-07T23:14:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>blockchain</title>
        <link>https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:blockchain&amp;rev=1683501255&amp;do=diff</link>
        <description>Block Chain

Vous pourrez utiliser le module  qui contient ce qu&#039;il faut pour chiffrer et déchiffrer des messages de taille arbitraire en rsa.

Fiche Wikipedia

Une blockchain, est une technologie de stockage et de transmission d&#039;informations sans organe de contrôle. Comme pour le réseau internet devant fonctionner de façon décentralisée, la blockchain distribue ses données en divers point tout en garantissant leur authenticité.</description>
    </item>
    <item rdf:about="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:chiffre_cesar&amp;rev=1678372140&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-09T14:29:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>chiffre_cesar</title>
        <link>https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:chiffre_cesar&amp;rev=1678372140&amp;do=diff</link>
        <description>Chiffre de César

Il s&#039;agit d&#039;une méthode de chiffrement très ancienne dont Jules César aurait fait usage. C&#039;est un chiffre symétrique.

Chiffre symétrique

Chiffre : ensemble de règles permettant de transformer un message de sa version lisible en une version illisible.</description>
    </item>
    <item rdf:about="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:chiffre_vigenere&amp;rev=1678373222&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-09T14:47:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>chiffre_vigenere</title>
        <link>https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:chiffre_vigenere&amp;rev=1678373222&amp;do=diff</link>
        <description>Chiffre de Vigenère



Il s&#039;agit d&#039;une méthode décrite par le diplomate Blaise de Vigenère dans son traité sur les chiffres paru en 1583. C&#039;est une version plus complexe du Chiffre de César et c&#039;est un chiffre symétrique.

Chiffre symétrique

Chiffre : ensemble de règles permettant de transformer un message de sa version lisible en une version illisible.</description>
    </item>
    <item rdf:about="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:chiffre_xor&amp;rev=1678317599&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-08T23:19:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>chiffre_xor</title>
        <link>https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:chiffre_xor&amp;rev=1678317599&amp;do=diff</link>
        <description>Chiffre XOR

Contrairement au chiffre de César ou au chiffre de Vigenère qui ne fonctionnent que sur des textes, le chiffre XOR est un chiffre symétrique qui va utiliser les représentations binaires des données.

Comme dans l&#039;ordinateur, tous les fichiers sont en binaire, ce chiffre nous permet de chiffrer n&#039;importe quoi : texte, image, son, etc.$\oplus$$a \oplus b = 1$$a$$b$$a \oplus b$</description>
    </item>
    <item rdf:about="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:dechiffrement_mcmc&amp;rev=1681721443&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-17T08:50:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dechiffrement_mcmc</title>
        <link>https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:dechiffrement_mcmc&amp;rev=1681721443&amp;do=diff</link>
        <description>Déchiffrement MCMC

MCMC = Markov Chain Monte-Carlo -- Une chaîne de Markov est un outil mathématique beaucoup utilisé en traitement du signal, notamment en reconnaissance de la parole. Par exemple, en reconnaissance de la parole, l&#039;idée (je simplifie beaucoup) est de décrire un mot comme un chaîne de son. Par exemple $A$$B$$C$$A&#039;$$B&#039;$$C&#039;$$ABC$$A$$B$$C$$p(A)\times p(B) \times p(C)$$p(A&#039;)\times p(B&#039;) \times p(C&#039;)$$C$$C&#039;$$p(C) = p(C&#039;) = 0$$p(A)\times p(B) \times p(C) = 0$$p(A&#039;)\times p(B&#039;) \times …</description>
    </item>
    <item rdf:about="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:ecc&amp;rev=1683557605&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-08T14:53:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ecc</title>
        <link>https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:ecc&amp;rev=1683557605&amp;do=diff</link>
        <description>Cryptographie sur les courbes elliptiques

Présentation rapide

Calcul sur des points

On connaît des techniques cryptographique exploitant les propriétés des nombres entiers, comme RSA ou encore ElGamal. Avec les courbes elliptiques on reprend des idées semblables à ceci près que l&#039;on fait les calculs sur les points d&#039;une courbe.$P + Q$$(O;x,y)$$$(E): y^2 = x^3 + a\cdot x + b$$$\frac{x^2}{a^2} + \frac{y^2}{b^2} = 1$$4\cdot a^3 + 27\cdot b^2 \neq 0$$a = -1$$b = 1$$$(E) : y^2 = x^3 - x + 1$$$P$$Q…</description>
    </item>
    <item rdf:about="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:elgamal&amp;rev=1721641326&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-07-22T09:42:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>elgamal</title>
        <link>https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:elgamal&amp;rev=1721641326&amp;do=diff</link>
        <description>Chiffrement de ElGamal

Le chiffrement de ElGamal est une technique cryptographique asymétrique voisine de la technique RSA vue en Terminale NSI, mais plus simple.

Calculs modulo

Cette technique, comme RSA, basée sur des propriétés arithmétiques -- mathématiques des nombres entiers $\cdots\overset{p}{\equiv}\cdots$$\cdots = \cdots \mod p$$p$$1 &lt; d &lt; p$$1 &lt; s$$h \overset{p}{\equiv} d^s$$(p, d, h)$$s$$s$$(p, d, h)$$m$$1 &lt; a$$r \overset{p}{\equiv} m\cdot h^a$$t \overset{p}{\equiv} d^a$$(r, t)$$(r…</description>
    </item>
    <item rdf:about="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:exponentiation_modulaire&amp;rev=1648319310&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-26T18:28:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>exponentiation_modulaire</title>
        <link>https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:exponentiation_modulaire&amp;rev=1648319310&amp;do=diff</link>
        <description>Exponentiation modulaire

Dans un premier temps, on souhaite faire le calcul $a^b$, avec $a$ et $b$ entiers positifs, le plus rapidement possible. Mais ce qui nous intéresse vraiment, c&#039;est le caclul $a^b \mod p$ car c&#039;est un calcul très utilisé en cryptographie.

On serait tenté d&#039;utiliser l&#039;opérateur de puissance $3^{100}$$3^{100} = \overbrace{3\times 3 \times \cdots \times 3}^{100\times}$$a^b = \overbrace{a\times a \times \cdots \times a}^{b\times}$$3^{16} = \left(\left(\left(3^2\right)^2\rig…</description>
    </item>
    <item rdf:about="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:get_n_bits_prime&amp;rev=1681202836&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-11T08:47:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>get_n_bits_prime</title>
        <link>https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:get_n_bits_prime&amp;rev=1681202836&amp;do=diff</link>
        <description>Générer un nombre premier de n bits

Si vous voulez tentez ce TD en C, vous trouverez de l&#039;aide sur cette page.

J&#039;écris cette fiche en me basant sur cette source.

Clé de N bits

Dans le cadre de RSA, on veut une clé $N = p_1 \times p_2$ avec $p_1$ et $p_2$ premiers. Pour un niveau de sécurité donné, c&#039;est le nombre de bits de $N$$n = 1024$$N$$N$$[2^{n-1}\,;\,2^n[$$N$$p_1$$p_2$$\left[\sqrt{2}\cdot 2^{\frac{n}{2}-1}\,;\,2^{\frac{n}{2}}\right[$$n = 1024$$p_1$$p_2$$\left[\sqrt{2}\cdot 2^{511}\,;\,…</description>
    </item>
    <item rdf:about="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:hash&amp;rev=1666080662&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-10-18T08:11:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>hash</title>
        <link>https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:hash&amp;rev=1666080662&amp;do=diff</link>
        <description>Fonction de hachage, exemple de md5

Si vous voulez tenter d&#039;autres langages, voici une aide pour C et une solution en Go.

Présentation

Une fonction de hachage prend des données, de taille variable, en entrée, et produit une image numérique de taille fixe en sortie. L&#039;image est parfois appelée $z = h(A)$$A$$A$$A&#039;$$A = A&#039;$$A \neq A&#039;$$h(A) = h(A&#039;)$$A = A&#039;$$mdp_U$$h(mdp_U)$$mdp_U$$h(mdp_U)$$mdp_U$$\wedge$$\vee$$\neg$$\oplus$$+$$2^{32}$$\lll_n$$n$$\lll_3$$M$$n$$n_{LE}$$n$$n_{64}$$n$$n$$n = A_0A_1A…</description>
    </item>
    <item rdf:about="https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:inverse_modulaire&amp;rev=1648319376&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-26T18:29:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>inverse_modulaire</title>
        <link>https://wiki.goupill.fr/doku.php?id=nsi:tds:cryptographie:inverse_modulaire&amp;rev=1648319376&amp;do=diff</link>
        <description>Inverse modulaire

Les techniques de chiffrement font usage des calculs avec modulo. Connaissant les nombres entiers $a &gt; 1$ et $p &gt; a$ premier, on a parfois besoin de trouver $u$ vérifiant $a \times u \mod p = 1$.

Rappel de ce qu&#039;est modulo



Le modulo suit le principe des points d&#039;une horloge. Prenons les points sur le cercle à droite. Nous avons 12 points sur le cercle, il s&#039;agit donc d&#039;un $\mod 12$$$53 = 4 \times 12 + 5 \Rightarrow 53\mod 12 = 5$$$53 \equiv 5 \, [12]$$53 \overset{12}{\equi…</description>
    </item>
</rdf:RDF>
