Kuznyechik 1.0.2
dotnet add package Kuznyechik --version 1.0.2
NuGet\Install-Package Kuznyechik -Version 1.0.2
<PackageReference Include="Kuznyechik" Version="1.0.2" />
paket add Kuznyechik --version 1.0.2
#r "nuget: Kuznyechik, 1.0.2"
// Install Kuznyechik as a Cake Addin #addin nuget:?package=Kuznyechik&version=1.0.2 // Install Kuznyechik as a Cake Tool #tool nuget:?package=Kuznyechik&version=1.0.2
Kuznyechik (Кузнечик)
Библиотека для шифрования данных с помощью алгоритма "Кузнечик", основанного на ГОСТ 34.12-2018. Этот симметричный блочный шифр использует блоки размером 128 бит и ключи длиной 256 бит, обеспечивая высокий уровень безопасности для обработки данных.
Установка
Для установки библиотеки Kuznyechik вы можете воспользоваться одним из следующих способов:
- Установка через NuGet Вы можете установить NuGet-пакет через графический интерфейс Visual Studio или выполнить команду в консоли диспетчера пакетов:
Install-Package Kuznyechik
Скачивание DLL Также вы можете скачать DLL-файл с GitHub и добавить его в ваш проект.
Копирование класса Если вы предпочитаете, вы можете скопировать исходный код класса Scrambler и использовать его непосредственно в вашем проекте.
Использование
Для использования библиотеки необходимо подключить пространство имён Kuznyechik:
using Kuznyechik;
После добавления пространства имён станет доступен класс Scrambler, который предоставляет методы шифрования и расшифровывания данных как в виде массива, так и в виде потока.
- Шифрование и расшифровка в виде массива:
string text = "Hello Wolrd!";
byte[] key = new byte[32];
byte[] message = Encoding.UTF8.GetBytes(text);
{
Random random = new Random();
random.NextBytes(key);
}
Scrambler scrambler = new Scrambler(key);
scrambler.Encrypt(ref message);
scrambler.Decrypt(ref message);
string outText = Encoding.UTF8.GetString(message);
- Шифрование и расшифровка в виде потока:
byte[] key = new byte[32];
byte[] message = Encoding.UTF8.GetBytes(text);
byte[] messageCopy = (byte[])message.Clone();
using (MemoryStream dataStream = new MemoryStream(message))
{
using (MemoryStream encryptedStream = new MemoryStream())
{
Random random = new Random();
random.NextBytes(key);
Scrambler scrambler = new Scrambler(key);
scrambler.Encrypt(dataStream, encryptedStream);
dataStream.Position = encryptedStream.Position = 0;
scrambler.Decrypt(encryptedStream, dataStream);
}
}
Особенности
- Алгоритм шифрования работает с несколькими блоками одновременно, что может привести к увеличенной загрузке процессора во время шифрования.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.