Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

6.1.2. CryptoAPI ОС Windows

Лекция



Привет, Вы узнаете о том , что такое cryptoapi ос windows, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое cryptoapi ос windows , настоятельно рекомендую прочитать все из категории Криптография и криптоанализ, Стеганография и Стегоанализ.

Windows предоставляет программный интерфейс CryptoAPI для кодирования информации по различным алгоритмам, как симметричным, так и асимметричным. CryptoAPI – это интерфейс прикладного программирования (API – Application Programming Interface) в операционной системе Windows, предоставляющий службы шифрования для операционной системы и приложений, работающих под ее управлением. Он содержит ряд функций, позволяющих приложениям шифровать данные и ставить цифровую подпись различными способами, обеспечивая защиту личных ключей. Однако, сами функции CryptoApi не выполняют никаких криптографических действий, а служат лишь посредниками между прикладной программой и CSP (Cryptographic Service Provider – поставщик службы шифрования). Программная часть криптопровайдера представляет собой dll-файл с функциями поддержки шифрования. Криптопровайдеры отличаются друг от друга составом функций, требованиями к оборудованию, алгоритмами, осуществляющими базовые действия (создание ключей, хеширование и пр.). По составу функций и обеспечивающих их алгоритмов криптопровайдеры подразделяются на типы. Об этом говорит сайт https://intellect.icu . Например, любой CSP типа PROV_RSA_FULL поддерживает как шифрование, так и цифровые подписи, использует для обмена ключами и создания подписей алгоритм RSA, для шифрования — алгоритмы RC2 и RC4, а для хеширования - MD5 и SHA.

В зависимости от версии операционной системы состав установленных криптопровайдеров может существенно изменяться. Однако на любом компьютере с Windows можно найти Microsoft Base Cryptographic Provider, относящийся к типу PROV_RSA_FULL. Именно с этим провайдером по умолчанию будут взаимодействовать все программы. Пользователь имеет возможность приобрести CSP другого производителя, тогда функции CryptoAPI будут работать с программами этого CSP. Пример использования функций CryptoAPI для кодирования файла симметричным алгоритмом RC4 приведен в листинге 2.

Листинг 2. Использование функций CryproAPI для кодирования файла

HCRYPTPROV hProv;

//Подключаемся к криптопровайдеру типа PROV_RSA_FULL

if(!CryptAcquireContext(&hProv,NULL,NULL,PROV_RSA_FULL,0))

{

puts("Ошибка инициализации CSP";

return;

}

//Открываем входной и выходной файл

HANDLE hInFile;

hInFile=CreateFile("d:\\NS.doc", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);

HANDLE hOutFile;

hOutFile=CreateFile("d:\\crypt", GENERIC_WRITE, FILE_SHARE_READ, NULL,CREATE_ALWAYS, 0, NULL);

HCRYPTKEY hKey;

//генерируем сессионный ключ для RC4

if(!CryptGenKey(hProv,CALG_RC4,CRYPT_EXPORTABLE,&hKey))

{ puts("ошибка генерации ключа RC4");

return;

}

BYTE buf[BUFFER_SIZE];

DWORD dwSzLow,dwSzHigh;

dwSzLow=GetFileSize(hInFile,&dwSzHigh);// получить размер входного файла

unsigned __int64 fSize=(dwSzHigh<<32)+dwSzLow;

while(fSize)

{

if(!ReadFile(hInFile,buf,BUFFER_SIZE,&dwLen,NULL)) //читаем блок данных

puts("Ошибка чтения данных");

dwSzLow=dwLen;

if(!CryptEncrypt(hKey,0,fSize<=BUFFER_SIZE,0,buf,&dwSzLow,sizeof(buf)))

//шифруем блок данных

puts("Ошибка шифрования");

if(!WriteFile(hOutFile,buf,dwSzLow,&dwSzLow,NULL))

puts("Ошибка записи");

fSize-=dwLen;

}

CloseHandle(hOutFile);

CloseHandle(hInFile);

CryptReleaseContext(hProv,0);

В заключение, эта статья об cryptoapi ос windows подчеркивает важность того что вы тут, расширяете ваше сознание, знания, навыки и умения. Надеюсь, что теперь ты понял что такое cryptoapi ос windows и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Криптография и криптоанализ, Стеганография и Стегоанализ

Из статьи мы узнали кратко, но содержательно про cryptoapi ос windows
создано: 2016-01-23
обновлено: 2021-03-13
132432



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Криптография и криптоанализ, Стеганография и Стегоанализ

Термины: Криптография и криптоанализ, Стеганография и Стегоанализ