Добавить в корзинуПозвонить
Найти в Дзене
Блог IT разработчика

Криптография. Создание сигнатуры

Одной из массовых систем для шифрования, для цифровой подписи является система RSA. Как уже было рассмотрено, в данной системе есть этап генерации ключей, передачи, шифрование и расшифровка. Если мы говорим про передачу отдельных параметров по средствам сети, то важно эти данные защищать, накладывать подписи, в противном случае есть риск компрометации данных/компрометации параметров ключей.   На практике часто используется SHA256RSA, SHA1RSA, ГОСТ серии 34.10 (где-то в государственных предприятиях) SHA256 with RSA — это эффективный асимметричный метод шифрования. Этот алгоритм сначала вычисляет уникальный хэш исходных данных с помощью алгоритма SHA256. Хэш затем шифруется с помощью частного ключа с использованием алгоритма RSA SHA1 with RSA — это эффективный асимметричный метод шифрования. Этот алгоритм сначала вычисляет уникальный хэш исходных данных с помощью алгоритма SHA1. Хэш затем шифруется с помощью частного ключа с использованием алгоритма RSA Погружаем дальше Алгоритм SHA-1 (

Одной из массовых систем для шифрования, для цифровой подписи является система RSA. Как уже было рассмотрено, в данной системе есть этап генерации ключей, передачи, шифрование и расшифровка. Если мы говорим про передачу отдельных параметров по средствам сети, то важно эти данные защищать, накладывать подписи, в противном случае есть риск компрометации данных/компрометации параметров ключей.  

На практике часто используется SHA256RSA, SHA1RSA, ГОСТ серии 34.10 (где-то в государственных предприятиях)

SHA256 with RSA — это эффективный асимметричный метод шифрования. Этот алгоритм сначала вычисляет уникальный хэш исходных данных с помощью алгоритма SHA256. Хэш затем шифруется с помощью частного ключа с использованием алгоритма RSA

SHA1 with RSA — это эффективный асимметричный метод шифрования. Этот алгоритм сначала вычисляет уникальный хэш исходных данных с помощью алгоритма SHA1. Хэш затем шифруется с помощью частного ключа с использованием алгоритма RSA

Погружаем дальше

Алгоритм SHA-1 (англ. Secure Hash Algorithm 1-bit) – это безопасный алгоритм хеширования, применяющийся для шифрования, размер выходных данных при этом составляет 160 бит. С помощью алгоритмов хеширования создаются уникальные хеши с необратимым кодированием.

Алгоритм SHA-256 (англ. Secure Hash Algorithm 256-bit) – это безопасный алгоритм хеширования, применяющийся для шифрования, размер выходных данных при этом составляет 256 бит. С помощью алгоритмов хеширования создаются уникальные хеши с необратимым кодированием.

На языке C# используем пространство System.Security.Cryptography класс RSACryptoServiceProvider.

Для упрощения работы используем библиотечные функции импортирования ключей и вычисления сигнатуры, проверки сигнатуры. 

Для подписания данных:

Первое, задаем входные данные, для которых определяем хеш значение, второе, определяем halg = Хэш-алгоритм, который следует использовать для создания хэш-значения, опционально смещение и количество байт.

Для подписания хэш алгоритма: 

Первое, хеш значение подписываемых данных, второе, идентификатор хэш-алгоритма (OID), используемый для создания хэш-значения данных.

В результате получаем подпись System.Security.Cryptography.RSA для указанных данных. Размер подписи будет равен 256 байт. 

Производим обратную процедуру – верификация подписи. 

1. Получаем хэш значение входных данных (или хэш значение файла) 

2. Указываем идентификатор хэш-алгоритма (OID), используемый для создания хэш-значения данных.

3. Данные подписи, которые требуется поверить.

На выходе получаем положительный или отрицательный результат

Напоминаю, что теперь у меня есть свой канал в телеграмме, вот вам сcылка (https://t.me/businessarchitecture_ru). Подписывайтесь, если хотите видеть больше уроков по разработке и мои мысли на волнующие темы.

Спасибо, что читаете меня. Не забывайте ставить лайки и подписываться на канал. Всем добра и хорошего настроения