Ответы пользователя по тегу AES
  • C# Как зашифровать файл алгоритмом Threefish в режиме CBC?

    @rare
    Смотрите, у Брюса Шнайера на сайте есть список реализаций этого алгоримта.
    По ссылке в самом низу.
    Вот одна из таких реализаций.
    Там есть класс Threefish, унаследованный от System.Security.Cryptography.SymmetricAlgorithm,
    поэтому его использование будет выглядеть примерно также, как и использование других наследников этого класса.
    Ответ написан
    Комментировать
  • C# Как зашифровать алгоритмом AES 256 часть файла в режиме CBC?

    @rare
    var aes = new AesCryptoServiceProvider {Mode = CipherMode.CBC};
    var encryptor = aes.CreateEncryptor();
    var decryptor = aes.CreateDecryptor();
    
    var image = File.ReadAllBytes("image.png");
    var encryptedImagePart = encryptor.TransformFinalBlock(image, 0, 1024);
    using (var fs = File.Create("encrypted"))
    {
        fs.Write(encryptedImagePart, 0 , encryptedImagePart.Length);
        fs.Write(image, 1024, image.Length - 1024);
        fs.Flush(true);
    }
    
    var encryptedImage = File.ReadAllBytes("encrypted");
    var decryptedImagePart = decryptor.TransformFinalBlock(encryptedImage, 0, encryptedImagePart.Length);
    using (var fs = File.Create("decrypted"))
    {
        fs.Write(decryptedImagePart, 0, decryptedImagePart.Length);
        fs.Write(encryptedImage, encryptedImagePart.Length, encryptedImage.Length - encryptedImagePart.Length);
        fs.Flush(true);
    }
    Ответ написан