Changeset 1175


Ignore:
Timestamp:
Feb 23, 2010, 10:44:47 PM (12 years ago)
Author:
Sven Rech
Message:

fixed aes

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/AES/AES.cs

    r1174 r1175  
    504504        public byte[] Decrypt(byte[] ciphertext, byte[] key, int bytesToUse)
    505505        {
    506             CryptoStream crypto_stream = null;
    507506            int size = bytesToUse > ciphertext.Length ? ciphertext.Length : bytesToUse;
    508507
     
    527526        }
    528527
    529      
    530 
    531         private void ConfigureAlg(SymmetricAlgorithm alg, byte[] key)
    532         {
    533             try
    534             {
    535                 alg.Key = key;
    536             }
    537             catch
    538             {
    539                 //dirty hack to allow weak keys:
    540                 FieldInfo field = alg.GetType().GetField("KeyValue", BindingFlags.NonPublic | BindingFlags.Instance);
    541                 field.SetValue(alg, key);
    542             }
    543 
    544             //try
    545             //{
    546             //    alg.IV = this.plugin.InputIV;
    547             //}
    548             //catch
    549             //{
    550             //    //dirty hack to allow weak keys:
    551             //    FieldInfo field = aes_algorithm.GetType().GetField("IVValue", BindingFlags.NonPublic | BindingFlags.Instance);
    552             //    field.SetValue(alg, this.plugin.InputIV);
    553             //}
    554             alg.IV = new byte[alg.BlockSize / 8];
    555 
    556 
    557             switch (((AESSettings)plugin.Settings).Mode)
    558             { //0="ECB"=default, 1="CBC", 2="CFB", 3="OFB"
    559                 case 1: alg.Mode = CipherMode.CBC; break;
    560                 case 2: alg.Mode = CipherMode.CFB; break;
    561                 case 3: alg.Mode = CipherMode.OFB; break;
    562                 default: alg.Mode = CipherMode.ECB; break;
    563             }
    564 
    565             alg.Padding = PaddingMode.Zeros;
    566 
    567             //switch (((AESSettings)plugin.Settings).Padding)
    568             //{ //0="Zeros"=default, 1="None", 2="PKCS7"
    569             //    case 1: alg.Padding = PaddingMode.None; break;
    570             //    case 2: alg.Padding = PaddingMode.PKCS7; break;
    571             //    case 3: alg.Padding = PaddingMode.ANSIX923; break;
    572             //    case 4: alg.Padding = PaddingMode.ISO10126; break;
    573             //    default: alg.Padding = PaddingMode.Zeros; break;
    574             //}
    575            
    576         }
    577        
    578528        public string getKeyPattern()
    579529        {
  • trunk/NativeCryptography/NativeCryptography.h

    r1174 r1175  
    1212                static void arrayToCArray(array<unsigned char>^ a, unsigned char *ca, int length)
    1313                {
    14                         int counter;                   
    15                         for (counter = 0; counter < Math::Min(a->Length, length); counter++)
     14                        int counter;
     15                        int l = (a->Length < length) ? a->Length : length;
     16                        for (counter = 0; counter < l; counter++)
    1617                                ca[counter] = a[counter];
    1718                        for (; counter < length; counter++)
     
    6061                        array<unsigned char>^ output = gcnew array<unsigned char>(length);
    6162                        carrayToArray(output, outp, length);
     63                        free(inp);
     64                        free(outp);
     65                        free(ckey);
    6266                        return output;
    6367                }
Note: See TracChangeset for help on using the changeset viewer.