(Де-)Шифрование по ключу
Видел подобные темы, но немного не то, что мне нужно!
Задача у меня такая: надо организовать шифровку/дешифровку текстового файла по случайно генерирующемуся ключу.
Т.е. запустили программу, получили ключ и при сохранении файл шифруется согласно ключу.
При открытии файла выводится форма для ввода ключа, если он правильный - дешифруем файл. Если неправильный - выводим сообщение, что авторизация неудачна.
Причем сделать все это нужно как можно безопаснее (т.е. обеспечить защиту файла максимальнее).
Как такое реализовать и, если можно - подробнее, пожалуйста, об этом! Ссылки на англоязычные сайты, пожалуйста. не давайте!
Видел подобную статью на cbuilder.ru (PGPSDK - легкий путь к шифрованию), но там в комментарии идет осуждение этого метода (http://rsdn.ru/Forum/Message.aspx?mid=318972&only=1).
О ГОСТе читал, мне показалось, что часть алгоритма придется самому писать... А я в шифровании полный ноль!
Но... на английском и платно... =(
Что еще посоветуете? =)
Но... на английском и платно... =(
Что еще посоветуете? =)
Как раз-таки бесплатно.
Посоветовать могу только одно: учи английский.
"Говорила мне мама: учи английский!" (с) фильм "Одиночное плавание".
Вопрос еще актуален!
Вопрос еще актуален!
Я плакалъ!
Первое. Англоязычных форумов по программированию гораздо больше, и они гораздо более посещаемы, чем русскоязычные. Англоязычных разработчиков VCL-компонентов тоже больше.
Второе. Так в чём сейчас заключается вопрос? Не смог поставить компоненты? Не смог использовать их в проге?
Пример использования смотри в аттачменте.
IMHO, лучше использовать Twofish (финалист конкурса AES) или Rinjdael (победитель конкурса AES).
Вопрос в том, что еще не выбрал себе скрипты(библиотеки) шифрования. =) Если же ты про PGP спрашиваешь, то да... мне пока трудно перевести с Дельфи на Билдер...
А есть информация на русском об этом способе шифровании? =)
Если хочется чего-то действительно серьёзного, то покупай Домен-К или КирптоПро. Обе системы сертифицированы ФАПСИ (т.е. они мощные, но содержат Backdoor для ФСБ) и имеют в своём составе провайдера Micro$oft CryptoAPI, что делает удобными в использовании. Если выбирать иностранный криптоалгоритм, то есть два риска: 1) "иностранец" (например, AES) обязательно имеет Backdoor для ФБР США; 2) созможность поиметь неприятности от ФАПСИ при распространении своей проги.
А то!
Конечно, есть. Любой криптоалгоритм, претендующий на звание сильного, должен быть открытым.
http://algolist.manual.ru/defence/well_known/
http://www.google.ru/search?hl=ru&q=Twofish+%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5+%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=lang_ru
http://forum.codenet.ru/showthread.php?t=21453
Т.е. если я возьму Rijndael, то у меня могут возникнуть проблемы?
Насчет бекдора для ФБР США: не думаю, что моей программой будут пользоваться международные приступники или что ей заинтересуется Бюро Расследований! )))
Теоретически -- да. Можно пользоваться только сертифицированными ФАПСИ криптоалгоритмами. Практически за 10 лет моей деятельности на рынке ИТ я слышал только об одном случае подобного рода претензий государства к гражданину.
Тем не менее, если программа разрабатывается для госучреждения -- тем паче для организации защищённого взаимодействия госучреждений -- требуется обязательная сертификация ФАПСИ как самого алгоритма, так и его программной реализации, а разработчик такой проги должен иметь разрешение на создание и распространение шифровальных средств.
Вот ещё немного информации:
GNUPG, LibTomCrypt и, конечно, куча библиотек на Торри