begin process at 2012 05 27 14:33:38
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Sécurité & Cryptage

 > CLASSE POUR TRAVAILLER AVEC DES GRANDS NOMBRES ENTIERS

CLASSE POUR TRAVAILLER AVEC DES GRANDS NOMBRES ENTIERS


 Information sur la source

Note :
Aucune note
Catégorie :Sécurité & Cryptage Niveau :Débutant Date de création :02/05/2003 Date de mise à jour :02/05/2003 16:18:40 Vu / téléchargé :4 758 / 238

Auteur : BlackGoddess

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

voila, c'est une petite classe pour travailler avec des grands nombres entiers. Pour l'instant elle a l'air de fonctionner (merci de me signaler tout bug), elle n'est pas tres optimisée par contre ...

par défaut, elle permet de travailler avec des nombres de 256 bits. Pour changer cela il sffit de modier la ligne :
#define bint_size 8
(multiplier ce nombre par 32 pour obtenir la taille maximale en bits)

j'ai mis cette source dans cryptage car elle est surtout utile dans ce domaine je suppose.

si vous trouvez que ca manque de commentaires (je suis pas un as sur le sujet) signalez le moi, j'essayerais d'en rajouter)



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip STATCKTRACE : GARDER LA TRACE DE LA PILE D'APPEL
Source avec Zip ENCAPSULATION D'UNE PARTIE DE L'API SOCKET PORTABLE
Source avec Zip HOOKING SOUS NT AVEC CREATEREMOTETHREAD (VC++7, COMPILABLE A...
Source avec Zip BOT IRC
Source avec Zip EXEMPLE DE SERVEUR (MULTI-CLIENTS) TCP (WIN32 / VC++) (11 SE...

 Sources de la même categorie

PROJET DE CRYPTOGRAPHIE: RSA À JEU REDUIT D'INSTRUCTION par samatarahmed
Source avec Zip Source avec une capture CRYPTOSYSTÈME ELGAMAL LIBRAIRIE GMP par louelh95
Source avec Zip Source .NET (Dotnet) NOUVEL ALGORITHME D'ENCRYPTION-DÉSENCRYPTION DYNAMIQUE (INFA... par vletktol
Source avec Zip A2DCRYPT - CRYPTAGE 2048 BITS par darkor
Source avec Zip Source avec une capture CRYPTEUR-DÉCRYPTEUR-IP par antho974

Commentaires et avis

Commentaire de BlackGoddess le 02/05/2003 16:32:06

j'ai oublié de préciser qq contraintes :
cette classe ne fonctionne que :
- sur un système BigEndian
- si lorsqu'on utilise l'opérateur de décalage de bits >>, le bits ajouté est un 0 (je ne sais pas si ca fait partie du standard, alors je préfère préciser)

Commentaire de trinitacs le 04/05/2003 11:51:17

c cool les opérateurs sont surchargés. Par contre du devrais lettre le tableau en private et en faire un pointeur. Le constructeur allouera dynamiquement la mémoire pour le pointeur. Ainsi ta classe sera plus souple puisque tu aura la possibilité de redimensionner le nombre si il devient trop grand.

Le union en C++ c'est pas top, tout comme le define de bint_size. Remplace le par
const int bit_size
Le qualificatif const est plus sûr qu'un define. Car si je j'insère la ligne
#define bit_size 9 dans bint.cpp ton programme ne marchera pas correctement. Alors que avec const ce risque n'existe pas car le compilateur renverra un message d'erreur.

Met aussi les fonctionq friend en fonction memebre car ce n'est pas nécessaires pour ces opérateurs. Par contre ça l'est pour surcharger les opérateurs << et >>.

Commentaire de BlackGoddess le 04/05/2003 14:09:55

pour l'allocation dynamique du tableau, j'y avais pensé, je ferais ca p-e plus tard (pour l'instant le but 1er etait d'avoir qqchose qui marche et pas trop trop dégueulasse lol). j'ai vu que dans certain cas, la division est vraiment longue a calculer (ca peut direr environ 1 min)

"Par contre ça l'est pour surcharger les opérateurs << et >>." -> ah ??? pourquoi ? pourtant ils ont la mm tête que les autres :p

"Par contre du devrais lettre le tableau en private" -> il y est déjà !

Commentaire de BlackGoddess le 04/05/2003 14:10:22

merci pour ces critiques en tout cas :)

Commentaire de BlackGoddess le 04/05/2003 14:18:10

"Met aussi les fonctionq friend en fonction memebre car ce n'est pas nécessaires pour ces opérateurs." -> apres qq petits tests je me suis rendu compte que :

    friend bint operator+(const bint &a, const bint &b); -> renvoit a + b
    bint operator+(const bint &a); -> renvoit *this + b

Commentaire de trinitacs le 04/05/2003 15:06:01

Je ne me rappelle plus la raison exacte pour les opérateurs d'insertions et d'extraction flux, mais c'est cause que l'opérande est  droite et c'est aussi une question pour accédeer aux membres. Bon il va falloir que je révise tout ça :)

Pour le tableau je n'avais pas vu private, alors c'est pour ça.

Pour tes test avec l'opérateur + le résultat est meixu (à mon goût) quandla fonction n'est pas friend.

Commentaire de gordhan le 18/05/2003 00:18:59

Salut! juste pour dire que je pense que ton code marche mal avec les soustractions (au cas ou la retenue est a retenir sur plusieurs cases du tableau, ca semble foirer... essaie avec 2^100 - 1). Et sinon jpense que l'algorithme de division est pas optimisé du tout; mais sinon pour ce qui est du reste c'est pa mal. jvais essayer dfaire une classe pour les tres gds entiers, et rapide avec la division, on verra skeu ca donne

Commentaire de BlackGoddess le 18/05/2003 02:03:16

je serais heureux de voir un algo optimisé pour la division, j'en ai pas trouvé :)
sinon, une retenu de plusieurs cases, je crois voir ce que tu veux dire, je vais etudier ca :)

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales