Показать сообщение отдельно
Старый 07.05.2013, 23:05   #2 (permalink)
Neonn1k
Member
 
Аватар для Neonn1k
 
Регистрация: 23.09.2008
Сообщений: 946
Записей в дневнике: 4
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Репутация: 397
По умолчанию

Алгоритм TwoFish
C# implementation of the Twofish cipher.
Цитата:
public sealed class Twofish: SymmetricAlgorithm {
public Twofish() {
this.LegalKeySizesValue = new KeySizes[] {
new KeySizes(128, 256, 64)
};
this.LegalBlockSizesValue = new KeySizes[] {
new KeySizes(128, 128, 0)
};
this.BlockSize = 128;
this.KeySize = 128;
this.Padding = PaddingMode.Zeros;
this.Mode = CipherMode.ECB;

}

public override ICryptoTransform CreateEncryptor(byte[] key, byte[] iv) {
Key = key;

if (Mode == CipherMode.CBC) IV = iv;

return new TwofishEncryption(KeySize, ref KeyValue, ref IVValue, ModeValue, TwofishBase.EncryptionDirection.Encrypting);
}

public override ICryptoTransform CreateDecryptor(byte[] key, byte[] iv) {
Key = key;

if (Mode == CipherMode.CBC) IV = iv;

return new TwofishEncryption(KeySize, ref KeyValue, ref IVValue, ModeValue, TwofishBase.EncryptionDirection.Decrypting);
}

public override void GenerateIV() {
IV = new byte[16] {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
}

public override void GenerateKey() {
Key = new byte[KeySize / 8];

for (int i = Key.GetLowerBound(0); i < Key.GetUpperBound(0); i++) {
Key[i] = 0;
}
}

public override CipherMode Mode {
set {
switch (value) {
case CipherMode.CBC:
break;
case CipherMode.ECB:
break;
default:
throw (new CryptographicException("Not supported."));
}
this.ModeValue = value;
}
}
}

Выдаёт кучу ошибок. Посмотрите пожалуйста. Если заработает киньте готовую программу, а то завтра уже зачёт(
Neonn1k вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070