|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.06.2010, 04:19 | #1 |
Форумчанин
Регистрация: 10.02.2009
Сообщений: 815
|
Шифрование данных [обсуждение]
Доброго времени суток!
Нужно было добавить возможность шифрования файлов в своей программе (она путешествовала вместе с флешкой). Программа приобрела более нужные и полезные функции и была переписана с Delphi на С# , однако вохможность шифрования я так и не реализовал. В философии криптографии и "аутентичности" я ещё совсем зеленый) Алгоритм для шифрования данных ,найденный мною, использовал 2 функции, шифровку и некий обратный аналог - дешифровку. Для программы я счел удобным шифруемые файлы удалять а их место занимали зашифрованные с добавленным расширением , которое по желанию пользователя можно было добавить в систему(в реестр) и файлы с таким расширением открывались бы моей программой. Но вот в чем беда, если пытатся дешифровать файл неверным паролем - получим кучку непригодного мусора, и для восстановления его в первоначальный вид потребовалось бы очень много усилий. Получается программа должна была сообщать юзеру что пароль неверный.Но как сохранить верный пароль? Можно к файлу добавлять зашифрованный пароль , которым пользователь шифровал основной файл, но есть свои НО. Ведь шифровать пароль нужно ещё 1ним паролем, а его прийдется вшить в программу , и соттветственно вытащить его оттуда не составит больших проблем.И вся работа коту под хвост В общем я остановился на 2х вариантах: 1) Шифровать пароль паролем , при попытке расшифровать файл, сначала открыть секцию с паролем, если пароль введенный юзером совпадает с результатом расшифровки тогда пароль верный и можно расшифровывать основной файл 2) В конец файла добавлять 2 секции. 1 аналогична 1вому варианту, 2рая - сгенерировать "стойкий" пароль для шифрации основного файла, и этот "стойкий" пароль зашифровать паролем юзера. Дешифрация : Проверяем совпадают ли введенный пароль и дешифрация, дешифруем стойкий пароль, дешифруем файл. Цвета обозначены. Хотелось бы знать ваше мнение , услышать советы или идеи) ПС. В дополнении к заголовку хотелось бы найти алгоритм , при котором шифруемый текст оставался читабельным и копируемым без всяких ˚ǒả█▐ , наверно некое подобие замены по таблице. Последний раз редактировалось Lime; 21.06.2010 в 04:29. |
21.06.2010, 07:53 | #2 |
Форумчанин
Регистрация: 25.09.2009
Сообщений: 234
|
почитай про алгоритм с открытым ключем... вроде называется RSA...думаю поможет))
|
21.06.2010, 08:02 | #3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Это один и мульена способов. Я однажды так и поступил.
I'm learning to live...
|
|
21.06.2010, 08:20 | #4 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Добавлю ещё. Именно так и поступают архиваторы. А хранить настоящий пароль внутри программы (В ЛЮБОМ ВИДЕ) - моветон и гарантированная "дырка" в безопасности. |
|
21.06.2010, 13:53 | #5 | ||
Форумчанин
Регистрация: 10.02.2009
Сообщений: 815
|
Цитата:
Шифровка: 1)Генерируем строку( скажем 20 символов) 2)Вычисляем CRC 3)Шифруем файл 4)Прицепляем к файлу шифрованную строку 5)Прицепляем к файлу CRC строки Дешифровка: 1)Дешифруем введенным паролем шифрованную строку (п4) 2)Вычисляем CRC , сравниваем с прикрепленной CRC (п5) 3)Если все отлично дешифруем файл введенным паролем. Верно? Звучит довольно заманчиво, вот только всякие хеши crc и md5 пугают меня) что-то слишком заумное для понимания Цитата:
Я так понял RSA больше подходит для передачи информации (по сети к примеру) к тому-же скорость шифра маленькая. |
||
21.06.2010, 13:55 | #6 | |||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Алгоритмы описаны - бери и пользуйся Цитата:
I'm learning to live...
|
|||
21.06.2010, 14:04 | #7 | |
Форумчанин
Регистрация: 10.02.2009
Сообщений: 815
|
А разве это тривиальная задача? Высислить каким алгоритмом, ключем зашифрована информация) + сама информация и есть пароль) Как по мне - выглядит серьёзно Цитата:
Вот например гуглил по теме шифрации текста, всяких примеров с xor'aми итд итп насмотрелся, а вот работать они не работают как должны, либо автор/копипастер не указал ньюансы и подводные камни. В итоге зашифровав случайную строку неким паролем, при дешифрации в 80% получаю потерю символов 5% вообще неверный результат 15% зашифрованная строка нечитабельна/не копируема. Последний раз редактировалось Lime; 21.06.2010 в 14:11. |
|
21.06.2010, 14:05 | #8 |
Я
Форумчанин
Регистрация: 24.04.2010
Сообщений: 693
|
Почитайте информацию о цифровой подписи, там тоже реализован алгоритм RSA (ИМХО он простой и эффективный, хотя есть и другие)
Не нужно создавать второй пароль! Да, этот пароль будет храниться на флешке, но в зашифрованном виде. Примером может служить зашифрованный архив RAR, кто-нибудь пробовал его расшифровать? Хотя и пароль хранится в самом архиве, нельзя его оттуда вытянуть "холодным" способом, только перебором
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©. |
21.06.2010, 14:09 | #9 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
методы шифрование данных - строки | ArniLand | Общие вопросы C/C++ | 1 | 20.05.2010 20:20 |
Шифрование данных | didar_ | Общие вопросы Delphi | 2 | 07.11.2009 12:24 |
Шифрование данных | frayerok | Общие вопросы C/C++ | 0 | 20.10.2008 22:35 |
Шифрование данных ASCII кодом на Assembler | Cerebrate | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 5 | 26.02.2008 13:56 |
Хранение и шифрование данных | Paul Hindenburg | БД в Delphi | 1 | 20.08.2007 09:04 |