IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Utisation de la libraire Biginteger en php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 64
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2017
    Messages : 2
    Par défaut Utisation de la libraire Biginteger en php
    Bonsoir, je suis étudiant finaliste, je me trouve devant un problème de cryptage des données avec le chiffrement RSA, au fait je réussis parfaitement à crypter un petit texte, mais plus le texte devient
    plus grand le cryptage et le décryptage deviennent compliquer. je parviens à crypter au maximum un texte à 103 caractères pas même au délà.
    voici l'algorithme que j'utilise:

    -je récupère toutes les caractères se trouvant dans mon text area
    -je le fais correspondre à leurs codes ascii et je les concantene
    -je fais les caractères ASCII concantenés exposant e(un nombre premier codé sur 512 bits) modulo n(produit de p et q)
    -en faisant le décryptage ça marche parfaitement si j'ai au plus 103 caractères, mais le fonction de décryptage m'envoie un chiffre différent du chiffre ascii crypté si c'est plus 103 caractères et pourtant mon souhait est de crypter tout un texte de n caractères. j'utilise la librairie de Big integer en php

    Merci pour votre aide

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Une chose est certaine , si tu as besoin de faire du RSA (ou tout autre algo) ne l'implémente pas toi même. Utilise une librairie reconnu qui le gère.
    En php 7.2+ la référence c'est libsodium, avant ca tu peux regarder du coté de phpseclib .
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 101
    Par défaut
    Je plussoie grunk, à moins que le sujet de ton travail soit justement de mettre en œuvre un chiffrement RSA à ta sauce. Dans ce cas, il va falloir nous montrer du code, car sans le voir nous ne pouvons pas deviner où se trouve le problème

    Un petit détail de terminologie :

    Citation Envoyé par muguy Voir le message
    […] je me trouve devant un problème de cryptage […] je réussis parfaitement à crypter un petit texte, mais plus le texte devient
    plus grand le cryptage et le décryptage deviennent compliquer. je parviens à crypter […]

    -en faisant le décryptage ça marche parfaitement […] mais le fonction de décryptage m'envoie un chiffre différent du chiffre ascii crypté […] mon souhait est de crypter tout un texte de n caractères.
    Les anglophones utilisent les mots crypt, encrypt, decrypt. Mais en français, tu ne seras pas prise au sérieux dans les milieux professionnels si tu dis « crypter » et « décrypter ». Les termes corrects sont chiffrer et déchiffrer.

    Les messages cryptés ce sont, par exemple, les discours des astrologues et des voyants, ou bien des intellectuels politiques qui ne sortent jamais de chez eux. Ils sont cryptiques, ils utilisent des sophismes et des métaphores. C’est ça un message crypté.

    (Anecdotiquement, on dit aussi crypter pour les chaînes de télé payantes, mais c’est parce que c’est un terme commercial, et on connaît la rigueur (sarcasme) avec laquelle les commerciaux parlent de la technologie qu’ils essayent de vendre.)
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  4. #4
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 64
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2017
    Messages : 2
    Par défaut Ma réponse
    Bonjour, merci pour vos interventions qui sont impeccables mais je voulais juste éclaircir un peu, mon enseignant m'oblige d'implémenter seul et que donc la libraire existante dans php7.2 ne me servira pas du tout, voici mon code avec une explication en commentaires:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <?php 
    include('Math/BigInteger.php');
     
    //soit à chiffrer le message suivant:"dbonjour les amis  bonjour les amis  bonjour les amis  bonjour les amis  bonjour les amis  bonjour "
    //je génère le code ascii du message à chiffrer
     
     $codeasciidumessageachiffrer = '100032098111110106111117114032108101115032097109105115032032098111110106111117114032108101115032097109105115032032098111110106111117114032108101115032097109105115032032098111110106111117114032108101115032097109105115032032098111110106111117114032108101115032097109105115032032098111110106111117114032 ';
     
    $n= '382661794499885940917627930072426504635235937984397076926105338836933167185185080763675804516049354066111492013648988285893945836657775764097391364692199401109237693803024616727846754616574909412240438339576896518255586809395354231165534607506010638307129420986178907342176204308575489148711052217534694608907';
     
    $d='129615689965296203219053332290786835825141088305641223453084983312868553589032470005223751019648413775856632715495613740892242769053694464844525949966270889018918360881095260902876929581793156842927178292321167243625821775396696330663567602963388701404728667960810391209988628949346915370799921792869446216927';
     
     
    $e='50879911879854592576116227931342072691872963632594596441879367386486453122489216664232270641944456229595529439457465267859370442847695661824466756080312599';
     
    $n = new Math_BigInteger($n );	
    $d = new Math_BigInteger($d);	
    $e = new Math_BigInteger($e);	
    $codeasciidumessageachiffrer  = new Math_BigInteger($codeasciidumessageachiffrer );
     
    //Chiffrage du message
    $messagechifre=$codeasciidumessageachiffrer ->powMod($e,$n);
    $messagechifre = new Math_BigInteger($messagechifre);
     
     
    //Dechiffrage du message
     
    $codeasciidechiffre=$messagechifre->powMod($d,$n);
     
    echo $codeasciidechiffre;
     
     
    //ici c'est parfait, quand j'affiche le code ascci dechiffré, il est égal au code ascii du message à chiffrer
    //========================================================
    //Mon problème c'est quand je veux chiffrer et déchiffrer un grand texte, le message déchiffré n'est pas égal au message initial, comme :
    //"bonjour les amis  bonjour les amis  bonjour les amis  bonjour les amis  bonjour les amis  bonjour bonjour les amis  bonjour les amis  bonjour les amis  bonjour les amis  bonjour les amis  bonjour "  c'est  le résultat erroné qui s'affiche
     
     
     
     
     
    				?>

Discussions similaires

  1. [EDI] Quel est l'éditeur que vous recommandez pour PHP ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 400
    Dernier message: 10/04/2018, 20h08
  2. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  3. L'avenir est-il au PHP ?
    Par Manolo dans le forum Langage
    Réponses: 468
    Dernier message: 11/02/2008, 18h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo