![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Шифрация файла. [D6, Win95/98, WinXP]
Xmen © (2005-09-08 15:28:00)Привет мастера.
У меня такое дело. Есть фирма и есть у него филиали. С каждого филиала приходить текстовые файлы (связаны с денгами), которую моя программа создаёт. Этих файлов принимает прога в фирме и обрабатвает его. Чтобы этого файла "умелыми ручками" не поправили на свой лад, нужно этого файла шифравать. И когда принимает этого файла прога в фирме чтобы провериял его целостьность и дешифравал бы его. Как мне нужно этого сделать и организовать? Я знаю что из меня все равно хорошого шифравалчика не выдеть, но хотелось бы как небуд зашитить данные в файле. У вас в практике такое было, поделитесь знаниями. Помогите начать уму шифрования.
SergP. (2005-09-13 10:26:00) [1]
> Программа и так архивируется но пароль легко может сломан
> с помощю программ.
Смотря какой пароль....
Что-то я не находил методов быстрого подбора пароля к архивам, даже таким как zip, если пароль представляет собой строку с довольно большим кол-вом символов
Ihor Osov'yak (2005-09-13 00:37:00) [2]> Это элементарно обходится.
Думаю, это зависит от особенностей национального законодательства. Хотя могу ошибаться - соотв. вопросом интересовался лет 6-8 назад...
simpson (2005-09-13 00:08:00) [3]> Xmen (08.09.05 15:28)
Как вариант, может, подойдет.
В моей конторе для таких целей используются электронные ключи. Имеется возможность менять определитель алгоритма для кодирования информации (что периодически делается), что позволяет варьировать сложность шифрования и сам шифр.
API для работы с ключами - достаточно простой, сам процесс кодирования/декодирования они берут на себя.
А документы между головным офисом и филиалами пересылаются уже по HTTP, в теле запроса идет шифрованный документ.
Ученик чародея (2005-09-12 23:55:00) [4]>>Ihor Osov'yak © (12.09.05 22:13) [21]
>>да, насколько я знаю, в некоторый странах есть уголовная ответсвенность за разработку соотв. систем в случае отсутсвия лицензии.
Это элементарно обходится. Просто назвать систему, например как "система защиты информации от НСД" и делай там все что хочешь. Хотя законодательно алгоритм и результаты работы программы признаны не будут.
Ученик чародея (2005-09-12 23:43:00) [5]HashLib! - это быстрая и гибкая библиотека для Delphi и C++ Builder, работающая с хэш-алгоритмами MD2, MD4, MD5, SHA-1, SHA (256, 384, 512), Haval (128, 160, 192, 224, 256), GOST R 34.11-94, Ripe-MD (128, 160), Tiger (128, 160, 192), CRC32, CRC32b, Adler32. Простой общий интерфейс (собственный API для каждого алгоритма), функции низкого и высокого уровня (буферы, строки, файлы). Шаблоны для самопроверки. Малый размер (SysUtils и другие системные модули не используются). Некоторые функции переписаны на Ассемблере. Включены примеры на C++ и Delphi.
http://bib.com.ua/info1647.html
Ihor Osov'yak (2005-09-12 22:13:00) [6]да, насколько я знаю, в некоторый странах есть уголовная ответсвенность за разработку соотв. систем в случае отсутсвия лицензии.
Ihor Osov'yak (2005-09-12 22:12:00) [7]Вообще-то такие вещи должны делаться согласно нормативной базы той страны (и довольно часто - ведомства), где система должна эксплуатироваться. Как правило, одним из условий разработки/эксплуатации есть требование получений лицензии и сертификация. Не факт, что лицензия дается первому обратившемуся.
palva (2005-09-12 21:50:00) [8]Вообще весь вопрос звучит очень странно. Филиалы направляют в центральный офис документы связанные с деньгами, а по дороге эти файлы могут быть злонамеренно подправлены. Теперь представим, что из филиала пришел файл с предписанием выплатить деньги некоему лицу за поставленный филиалу товар, а сумма оказалась завышена в два раза. Тот кто отправлял депешу уверяет, что он указал правильную сумму, и сумма была исправлена взломщиком слабого шифра. Получатель денег испарился. С кого взыскивать деньги?
А если к тому же депеша была получена не через EMail, а путем непосредственной модемной связи без участия почтового провайдера.
Теперь представьте себе начальника организации или главбуха, который попросит своего программиста написать простенький алгоритм для решения этой проблемы. А отправитель депеши оказавшись под судом будет вынужден покрыть недостачу, поскольку суд проанализировал алгоритм и признал его практически невзламываемым.
На федеральном уровне юридически этот вопрос уже давно решен. В частности, программы шифрования должны быть сертифицированны уполномоченной на это организацией. В противном случае любой суд будет считать, что депеша пересылалась в открытом виде. Далее, одного шифрования недостаточно. Требуется еще, чтобы депеша была подписана. Для того, чтобы суд признал электронную подпись тоже требуется сертифицированный алгоритм и много чего еще (типа, режим хранения ключей - в сейфе, под круглосуточной охраной).
Таким образом, пока на уровне руководства организации не решены все эти вопросы, думать об алгоритме преждевременно.
iXT (2005-09-12 20:24:00) [9]Остановись на PGP for Dos. Пятая версия позволяет делать ключи до 1024 (RSA). Если не нравится Dos то приется читать SDK - PGP Corp дает использовать свои dll, правда исходники на C++ (Сам с ними мучаюся). Зайди па RSDN.ru, там неплохая статья. Еще вариант - CriptAPI, там про него тоде есть!
Brother (2005-09-12 07:32:00) [10]Что шифруй, что не шифруй, все ровно получишь ...
:)
Alexander Panov (2005-09-09 10:00:00) [11]Вот эти 2 постинга не согласуются между собой.
Xmen (08.09.05 16:34) [10]
Мне бы простую программу (может функцию) написать, немножко сложнее чем простое замена букв
Xmen (09.09.05 8:49) [15]
Программа и так архивируется но пароль легко может сломан с помощю программ.
Между тем в [7] есть ссылка, где можно взять примеры генерации подписи, подписывания документов, шифрования и обратных операций.
На анализ написание своего кода понадобится около часа.
Xmen (2005-09-09 08:49:00) [12]2>>AlexWlad © (08.09.05 20:21) [14]
А не проще заархивировать?
uses Zlib и т.д. (ну то есть насколько умелы те самые ручки)
Программа и так архивируется но пароль легко может сломан с помощю программ.
AlexWlad (2005-09-08 20:21:00) [13]А не проще заархивировать?
uses Zlibи т.д. (ну то есть насколько умелы те самые ручки)
palva (2005-09-08 19:54:00) [14]> Алгоритм лучше придумать самому, авось дольше продержится. Но если файлы с деньгами, то это - не лучший вариант.
Это точно. Если деньги пропадут, кого будут сажать? Того, кто придумал алгоритм. До конца жизни будешь сидеть.
В свое время я написал для забавы консольную программу шифрования по ГОСТ с очень простым интерфейсом.
http://pa123.nm.ru/gost_pa.html
Она написана на паскале с ассемблером и имеет исходные тексты доступные для анализа. Можешь попробовать. Это именно шифрование, а не контроль целостности. Вообще, в алгоритме ГОСТ предусмотрена возможность так называемой имитовставки - криптографического хэша. То есть, человек, которому известен ключ шифрования, имеет возможность проверить, был ли искажен файл при передаче. Но у меня это не реализовано.
Но вообще таких программ написано очень много. Только мало кто прикладывает исходные тексты. А если прикладывает, то они такого объема, что очень трудоемко их проанализировать.
Игорь Шевченко (2005-09-08 17:39:00) [15]А эта...MD5 уже отменили ?
ANB (2005-09-08 17:05:00) [16]
> Xmen (08.09.05 16:34) [10]
xor с плавающим ключом. Писать не тяжело, но ломать тоже. Хотя обычный юзер уже не взломает. Алгоритм лучше придумать самому, авось дольше продержится. Но если файлы с деньгами, то это - не лучший вариант.
Xmen (2005-09-08 16:34:00) [17]2>>Anatoly Podgoretsky © (08.09.05 16:15) [9]
Цифровая подпись и писать программу не требуется, достаточно существующих.
Мне бы простую программу (может функцию) написать, немножко сложнее чем простое замена букв. Типа найти код буквы и добавить какую нибуд цифру и по этому коду найти букву выдить абракадабра, но при этом нужно имеет ввиду что коды недольжны привисить 255. когда это происходить то нужно на оставшися сумму начать с нуля.
Пример.
Если ато 45 добавим цифру 20 и получем букву с кодом 65 па если ято у него может быть код 240 если добавим 20 то получиться 260 токого в принципе недолжно быт потомчто коды должны быть до 255 и поэтому оставшися 5 начнем с нуля и получаем букву с кодом 5 г. Потамучто буквы с кодом до 21 свободны. Мне нужно в этом роде но посложнее.
Anatoly Podgoretsky (2005-09-08 16:15:00) [18]Цифровая подпись и писать программу не требуется, достаточно существующих.
Alexander Panov (2005-09-08 16:08:00) [19]Либо PGP for DOS.
Alexander Panov (2005-09-08 16:07:00) [20]http://www.crypto-central.com/