456.00K
Категория: ИнформатикаИнформатика

Библиотека Crypto+++

1.

Модуль 4. Тема 4
Библиотека Crypto+++
1

2.

Библиотека Crypto +++
Одной из самых функциональных библиотек для языка
C++ является пакет Crypto++ (другое название –
CryptoPP), разрабатываемый открытым сообществом и
распространяемый под свободной лицензией Crypto++
License.

3.

Реализации алгоритмов, входящие в
библиотеку Crypto +++
● высокопроизводительные потоковые алгоритмы;
● симметричные алгоритмы;
● хэш-функции;
● алгоритмы с публичным ключом (асимметричные);
● генераторы псевдослучайных чисел;

4.

Объектно-ориентированное
программирование
ООП — это методология программирования, которая
основана на представлении программы в виде
совокупности ряда объектов, причём каждый из этих
объектов — это экземпляр определённого класса.

5.

Алгоритмы, поддерживаемые в Crypto+++
1. Симметричные блочные алгоритмы
2. Асимметричные алгоритмы
3. Алгоритмы вычисления подписи
4. Хеш-алгоритмы

6.

Интеграция библиотеки
Загружаем одну из её последних версий с официального сайта.
Распаковываем в папку, в которой обычно сохраняем разные библиотеки.
Производим сборку всех четырех проектов внутри данного решения.
Создаём пустое С++ приложение в Студии.
Переходим и добавляем:
○ Компоновщик -> Ввод -> Дополнительные зависимости
● Продолжая настройку необходимо установить:
○ С/С++ -> Создание кода -> Библиотека времени выполнения
○ Многопоточная отладка (/MTd)
● Далее создаём обычный .cpp файл и добавляем в него некоторые заголовочные файлы.
Некоторые нужны для работы с алгоритмом AES, некоторые с MD5.

7.

Операционные системы, архитектуры которых
полностью поддерживает библиотека Crypto+++
● Android (с использованием STLport),
● Apple (Mac OS X и iOS),
● BSD,
● Cygwin,
● IBM AIX и S/390,
● Linux,
● MinGW,
● Solaris,
● Windows, Windows Phone и Windows RT.

8.

Компиляторы и IDE, поддерживаемые библиотекой
Crypto+++
● Borland Turbo C++,
● Borland C++ Builder,
● Clang,
● CodeWarrior Pro,
● GCC (с использованием GCC от Apple),
● Intel C++ Compiler (ICC),
● Microsoft Visual C/C++[3][4][5].
English     Русский Правила