Vigenere Class Reference

Implémentation de l'algorithme de Vigenère. More...

#include <Vigenere.h>

Inheritance diagram for Vigenere:

Inheritance graph
[legend]
Collaboration diagram for Vigenere:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Vigenere ()
void SetCle (string cle)
 Permet de définir la clé de cryptage (Si besoin).
string Crypter (string msg) const
 On ajoute au code ascii du caractère i le code ascii du caractère i de la clé mCle (modulo la longeur de la clé).
string Decrypter (string msg) const
 On retranche au code ascii du caractère i le code ascii du caractère i de la clé mCle (modulo la longeur de la clé).
void Test ()

Private Attributes

string mCle
 Clé de cryptage.

Detailed Description

Implémentation de l'algorithme de Vigenère.


Incovénient: "Faible"
Avantages très rapide et le message crypté à la même longeur que le message original => Rapide sur un réseau.
On ne risque pas l'overflow comme le dernier caractère utile est 126 au pire des cas on va à 126+126=252<255...

Definition at line 37 of file Vigenere.h.


Constructor & Destructor Documentation

Vigenere::Vigenere (  )  [inline]

Definition at line 39 of file Vigenere.h.

00039 {};


Member Function Documentation

void Vigenere::SetCle ( string  cle  )  [inline, virtual]

Permet de définir la clé de cryptage (Si besoin).

Parameters:
cle La clé de cryptage

Implements Cryptage.

Definition at line 40 of file Vigenere.h.

References mCle.

Referenced by Test().

00040                                { 
00041                 mCle=cle;
00042         }

string Vigenere::Crypter ( string  msg  )  const [inline, virtual]

On ajoute au code ascii du caractère i le code ascii du caractère i de la clé mCle (modulo la longeur de la clé).

Parameters:
msg Le message à crypter
Returns:
Le message crypté

Implements Cryptage.

Definition at line 49 of file Vigenere.h.

References mCle.

Referenced by Test().

00049                                         {
00050                 string cryptage=msg;
00051                 int codeAsciiMsg, codeAsciiCle;
00052                 for(int i=0; i<msg.length(); i++){
00053                         codeAsciiMsg=msg[i];
00054                         codeAsciiCle=mCle[i%mCle.length()];
00055                         cryptage[i]=codeAsciiMsg+codeAsciiCle;
00056                         if(cryptage[i]==0) cerr<<"CODE VAUT ZERO pour le caractère n°"<<i<<" en clair:"<<codeAsciiMsg<<" avec la clé valant "<<codeAsciiCle<<endl;
00057                 }
00058                 return cryptage;
00059         }

string Vigenere::Decrypter ( string  msg  )  const [inline, virtual]

On retranche au code ascii du caractère i le code ascii du caractère i de la clé mCle (modulo la longeur de la clé).

Parameters:
msg Le message à décrypter
Returns:
Le message décrypté

Implements Cryptage.

Definition at line 65 of file Vigenere.h.

References mCle.

Referenced by Test().

00065                                           {
00066                 string cryptage=msg;
00067                 int codeAsciiMsg, codeAsciiCle;
00068                 for(int i=0; i<msg.length(); i++){
00069                         codeAsciiMsg=msg[i];
00070                         codeAsciiCle=mCle[i%mCle.length()];
00071                         cryptage[i]=codeAsciiMsg-codeAsciiCle;
00072                 }
00073                 return cryptage;
00074         }

void Vigenere::Test (  )  [inline]

Definition at line 76 of file Vigenere.h.

References Crypter(), Decrypter(), and SetCle().

00076                    {
00077                 Vigenere v;
00078                 v.SetCle("testdeVigenere");
00079                 cout<<"Cryptage de \"Test\""<<endl;
00080                 cout<<v.Crypter("Test")<<endl;
00081                 cout<<"Décryptage du cryptage de \"Test\""<<endl;
00082                 cout<<v.Decrypter(v.Crypter("Test"))<<endl;             
00083         }

Here is the call graph for this function:


Member Data Documentation

string Vigenere::mCle [private]

Clé de cryptage.

Definition at line 88 of file Vigenere.h.

Referenced by Crypter(), Decrypter(), and SetCle().


The documentation for this class was generated from the following file:
Generated on Wed Jan 2 14:02:25 2008 for Pacman by  doxygen 1.5.1