Криптография в.NET Кондратьев Денис Visual.NET User Group vng.visualdesign.ru.

Презентация:



Advertisements
Похожие презентации
Технологии и продукты Microsoft в обеспечении ИБ Лекция 3. Криптографические системы.
Advertisements

Технологии и продукты Microsoft в обеспечении ИБ Лекция 7. Криптографические функции в.NET Framework.
Алгоритмы шифрования и их применение в.Net приложениях для защиты данных Radislav Kerimhanov
Хеш- алгоритмы Хеш - функции. Хеш- функция Хеш- это функция, которая ставит в соответствие небольшой, фиксированного размера объем двоичных данных произвольному,
Программирование при помощи.NET Asymmetric Cryptography Пространство имен System.Security.Cryptography.
АЛГОРИТМ RSA Шифрование с открытым ключом. Содержание Симметричный шифр Ассиметричный шифр Виды ассиметричных шифров Алгоритм RSA Алгоритм RSA Теоретические.
Основные понятия криптологии
Меры предотвращения атак на банковские системы электронных денег Лев Румянцев гр.312.
В верхнем левом уrлу этой диаrраммы мы берем исходное сообщение и создаем 160-битовый хеш (дайджест сообщения) при помощи алrоритма SНAl. Затем дайджест.
Базовые технологии безопасности. Шифрование - это средства создания защищенного канала или способ безопасного хранения данных. Пара процедур - шифрование.
Симметричная криптография. Симметричные шифры Это шифры, в которых для шифрования и дешифрования используется один и тот же ключ. Следовательно, единственный.
IPS EC VPN Презентацию подготовил Сысоев Егор. Ч ТО ОБЕСПЕЧИВАЕТ IPS EC ? Конфиденциальность Целостность Аутентификация Безопасный ключевой обмен.
Компьютерные системы и сети Олизарович Евгений Владимирович ГрГУ им. Я.Купалы. 2012/2013 Безопасность передачи данных.
Компьютерные системы и сети Олизарович Евгений Владимирович ГрГУ им. Я.Купалы, 2011/2012 Безопасность передачи данных. VPN.
ПРОГРАММНО-АППАРАТНАЯ РЕАЛИЗАЦИЯ СОВРЕМЕННЫХ КРИПТОГРАФИЧЕСКИХ СРЕДСТВ И СИСТЕМ Борисов В.А. КАСК – филиал ФГБОУ ВПО РАНХ и ГС Красноармейск 2011 г.
Протокол Secure Sockets Layer. Архитектура SSL Прикладной уровень (HТТР, FTP) Транспортный уровень (TCP) Уровень IP Сетевой интерфейс Прикладной уровень.
Система Эль-Гамаля. Использование хеш-функций Лекция 8.
Асимметричная криптография. Проблемы и идеи. Проблемы, связанные с использованием симметричных шифров Симметричные алгоритмы обеспечивают эффективное.
Подготовила студент Преподаватель 3 АСУ -4 ДС -127 Прокошев И. В. Князева Анна.
Безопасность электронной комерции. Задачи при достижении безопасности Доступность Конфиденциальность Целостность Юридическая значимость.
Транксрипт:

Криптография в.NET Кондратьев Денис Visual.NET User Group vng.visualdesign.ru

Криптография в.NET Основы криптографии Основы криптографии Введение в криптографические алгоритмы Введение в криптографические алгоритмы Пространство имен Cryptography Пространство имен Cryptography Примеры кода Примеры кода Q&A Q&A

Alice и Bob Alice Bob

Задачи криптографии Конфиденциальность: защита данных от просмотра Конфиденциальность: защита данных от просмотра Целостность данных: защита от изменений Целостность данных: защита от изменений Аутентификация: подтверждение источника данных Аутентификация: подтверждение источника данных

Криптографические алгоритмы симметричные алгоритмы симметричные алгоритмы ассиметричные алгоритмы ассиметричные алгоритмы алгоритмы для получения хеша данных алгоритмы для получения хеша данных алгоритмы для подписи данных алгоритмы для подписи данных

System.Security.Cryptography System.Object SymmetricAlgorithm DES, RC2, TripleDES And Rijndael KeyedHashAlgorithm DSS and RSA MD5, SHA1, SHA256, SHA384 and SHA512 HMACSHA1 and MACTripleDES AsymmetricAlgorithm HashAlgorithm

Структура классов System.Object SymmetricAlgorithm DES Rijndael DESCryptoServiceProviderRijndaelManaged

Симметричные алгоритмы Alice (закрытый ключ) Bob (закрытый ключ) E(M,K)= CD(C,K)= M M = сообщение E = шифрование D = дешифрование C = зашифрованный текст.NET реализация.NET реализация DES DES Triple-DES Triple-DES RC2 RC2 Rinjdael Rinjdael

Длина ключа АлгоритмВозможный размер ключа Размер ключа по умолчанию DES64 bit RC240 to 128 bit 128 bit Triple-DES128, 192 bit 192 bit Rijndael128, 192, 256 bit 256 bit

Классы.NET DESCryptoServiceProvider DESCryptoServiceProvider RC2CryptoServiceProvider RC2CryptoServiceProvider RijndaelManaged RijndaelManaged TripleDESCryptoServiceProvider TripleDESCryptoServiceProvider

Использование симметричных алгоритмов ИмяОписание KeyКлюч KeySize Размер ключа в битах LegalKeySizes Возможные размеры ключей IV Инициализирующий вектор CreateEncryptor() Создает объект с интерфейсом ICryptoTransform на основе ключа и IV для шифрования данных CreateDecryptor() Создает объект с интерфейсом ICryptoTransform на основе ключа и IV для дешифровки данных GenerateKey() Создает случайный ключ GenerateIV()

Пример кода DES

Шифрование с открытым ключом Alice (открытый ключ Bob) Bob (закрытый ключ) E(M,K)= C D(C,K)= M.NET реализация.NET реализация DSS (Digital Signature Standard) DSS (Digital Signature Standard) RSA RSA M = сообщение E = шифрование D = дешифрование C = зашифрованный текст

Классы.NET DSACryptoServiceProvider DSACryptoServiceProvider RSACryptoServiceProvider RSACryptoServiceProvider

Шифрование с открытым ключем Члены классаОписание KeySizeРазмер ключа в битах FromXmlString()Создает объект, инкапсулирующий алгоритм, из XML данных ToXmlString()Возвращает XML представление объекта, инкапсулирующего алгоритм

Пример кода RSA

Хеширование AliceBob.NET реализация.NET реализация MD5 MD5 SHA1 SHA1 SHA256 SHA256 SHA384 SHA384 SHA512 SHA512

Классы.NET HMACSHA1 HMACSHA1 MACTripleDES MACTripleDES MD5CryptoServiceProvider MD5CryptoServiceProvider SHA1Managed SHA1Managed SHA256Managed SHA256Managed SHA384Managed SHA384Managed SHA512Managed SHA512Managed

Хеширование Член классаОписание ComputeHash()Расчитывает хеш на основе массива байт или потока HashSize HashРазмер хеша в битах HashВозвращает расчитанный хеш

Пример кода MD5

Цифровая подпись SignatureDescription SignatureDescription DSACryptoServiceProvider DSACryptoServiceProvider RSACryptoServiceProvider RSACryptoServiceProvider

SignData public byte[] SignData(byte[] buffer); public byte[] SignData(byte[] buffer); public byte[] SignData(byte[] buffer, int offset, int count); public byte[] SignData(byte[] buffer, int offset, int count); public byte[] SignData(Stream inputStream); public byte[] SignData(Stream inputStream);

SignHash public byte[] SignHash(byte[] rgbHash(), string str) public byte[] SignHash(byte[] rgbHash(), string str)

Пример кода DSA

Q&A