Fedryk |
Отправлено: 09.11.2006, 19:26 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 9
|
Доброе время суток.
У меня возникла немножко странная задача сравнить два файла. Один файл имеет цифровую подпись, у второго таковой нету. Нужно установить равно ли их вместимое не принимая к вниманию цифровую подпись. Сравнение побайтное.
т.е. вопрос: можно ли удалить подпись из файла? Или узнать её значение для подальшего удаления/игнорирования.
Спасибо всем кто ответит. |
|
gvg |
Отправлено: 10.11.2006, 09:36 |
|
Машинист паровоза
Группа: Участник
Сообщений: 222
|
Обычно криптосистемы имеют средства удаления ЭЦП |
|
Fedryk |
Отправлено: 10.11.2006, 13:02 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 9
|
Да, обычно так и есть
А как программно это решить?
Искать в инете программу, которая удаляет ЭЦП? Это не имеет смысла, т.к. вызывать из моей программы другую которая удаляет подпись? Это принцип .bat файла, а мне нужна программа с исходным кодом . |
|
Gedeon |
Отправлено: 10.11.2006, 14:01 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
ну как-то разобраться в структуре файла и бабахнуть эту подпись.
|
|
Fedryk |
Отправлено: 10.11.2006, 14:31 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 9
|
Это ответ-шутка ? Есть по меньшей мере 4 алгоритома подписи, т.е. международных стандартов, которые сунут свою подпись вместе или не вместе с сертификатами в совсем разные места в файле. И по структуре файла в бинарном представлении или дажэ открыв блокнотом, я очень сомневаюсь, что ктото сможэт сказать где начинаеться и заканчиваеться подпись и её размер, т.к. очень плохо, что он зависит от длины ключа (в моём случае плохо ), и в подписаных файлах размер подписи можэт быть разный, используя один и тотже алгоритм.
Например, есть очень распространенная программа которую обозвали Виндовс, и которая в свою очередь можэт определить алгоритм, которым подписали файл и прочесть его, т.е. эта задача вполне реальна. |
|
AVC |
Отправлено: 10.11.2006, 15:35 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Ну почему шутка? Вы действительно знаете что подпись хаотично разбросана по разным местам файла? А сам исходный текст кодирован?
Если нет, то берем тестовый файл, подписываем его и пытаемся отделить в результате "суп от мух". А так как нас интересует не алгоритм подписывания а место нахождения этой самой подписи, то задача представляется вполне разрешимой. Мне так кажется. |
|
Fedryk |
Отправлено: 10.11.2006, 16:17 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 9
|
QUOTE (AVC @ 10.11.2006, 15:35) | Ну почему шутка? Вы действительно знаете что подпись хаотично разбросана по разным местам файла? А сам исходный текст кодирован?
Если нет, то берем тестовый файл, подписываем его и пытаемся отделить в результате "суп от мух". А так как нас интересует не алгоритм подписывания а место нахождения этой самой подписи, то задача представляется вполне разрешимой. Мне так кажется. |
1. Есть в наличии разные файлы и разные подписи (длина ключа может быть разной) — т.е. узнать чем именно подписан конкретный фал.
2. Из первого — т.е. возможно разное размещение подписи в структуре файла.
3. Зачем писать/искать программу чтобы подписать файл, если в наличии может и не быть секретного ключа. |
|
vvkot |
Отправлено: 11.11.2006, 21:12 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 20
|
Что вы тут бред советуете: типа отделить мух от котлет. Весь смысл цифровой подписи состоит в том что она удостоверяет содержимое, чтобы нельзя было изменить содержимое, т.е. цифровой подьписью содержимое закодироовано все, поэтому отделить ее от содержимого никак нельзя. Если бы подпись представляла собой некую длинну символов в конце или начале файла, то можно было без каких либо проблем изменить содержимое и приклеить подпись и какой в ней тогда смысл??? Зашифрован файл при лубом из способов с использованием криптостойких алгоритмов. Соответственно только перебором можно вычислить подпись |
|
AVC |
Отправлено: 13.11.2006, 10:29 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE (vvkot @ 11.11.2006, 20:12) | Что вы тут бред советуете: типа отделить мух от котлет. Весь смысл цифровой подписи состоит в том что она удостоверяет содержимое, чтобы нельзя было изменить содержимое, т.е. цифровой подьписью содержимое закодироовано все, поэтому отделить ее от содержимого никак нельзя. Если бы подпись представляла собой некую длинну символов в конце или начале файла, то можно было без каких либо проблем изменить содержимое и приклеить подпись и какой в ней тогда смысл??? Зашифрован файл при лубом из способов с использованием криптостойких алгоритмов. Соответственно только перебором можно вычислить подпись |
Может и бред, скажу сразу с подписями не разбирался, но
1. Я ведь уточнил " ... исходный текст кодирован? Если нет, то ..."
2. То что мне было известно
QUOTE |
Электронная цифровая подпись (ЭЦП)— реквизит электронного документа, предназначенный для удостоверения источника данных и защиты данного электронного документа от подделки.
Общая суть электронной подписи заключается в следующем. С помощью криптографической хэш-функции вычисляется относительно короткая строка символов фиксированной длины (хэш). Затем этот хэш шифруется закрытым ключом владельца — результатом является подпись документа. Подпись прикладывается к документу, таким образом получается подписанный документ. Лицо, желающее установить подлинность документа, расшифровывает подпись открытым ключом владельца, а также вычисляет хэш документа. Документ считается подлинным, если вычисленный по документу хэш совпадает с расшифрованным из подписи, в противном случае документ является подделанным.
|
Т.е. подпись призвана удостоверять документ а не скрывать содержимое, что позволило мне сделать первое предположение.
|
|
Fedryk |
Отправлено: 13.11.2006, 16:12 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 9
|
Ребята, давайте жить дружно
Есть ли у кого какие навыки работы с ЭЦП или чем-то схожим? |
|
gvg |
Отправлено: 13.11.2006, 20:06 |
|
Машинист паровоза
Группа: Участник
Сообщений: 222
|
QUOTE (vvkot @ 11.11.2006, 21:12) | Весь смысл цифровой подписи состоит в том что она удостоверяет содержимое, чтобы нельзя было изменить содержимое, т.е. цифровой подьписью содержимое закодироовано все, поэтому отделить ее от содержимого никак нельзя. |
Вот здесь не согласен. Подпись и шифрование — разные вещи. Скажем, у того же PGP есть Encrypt и Sign. И еще раз повторю — лучше пользоваться средствами криптосистемы. Пусть даже и запуская батник...
Отредактировано gvg — 13.11.2006, 20:08 |
|
Fedryk |
Отправлено: 13.11.2006, 20:47 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 9
|
Содержимое кодируеться в специализованых файлах, как пример, может шифроваться сообщение по электронной почте и т.п.
Но если взять простую .dll или .exe, то где тут кодирование?
Туда попросту долепливаеться ЭЦП, которую мне и надо , значение которой делаеться из усёго содержание файла, патаму что никакой экстрактор ресурсов не смог бы открыть в таком случае кодированный файл.
Вывод: криптография — это криптография, аутентификация — это аутентификация, зачем путать различное?
Суть: у кого, если кому не жаль поделиться чуток опытом, собственно есть какие либо познания в этом вопросе.
Патаму что я не спрашивал что есть ЭЦП, ребята начали писать кто что знает. Это очень харашо, мне приятно что у вас нашелся кусочек времени пасматреть сюда в тему и ответить. Но суть вопроса не та. |
|
Fedryk |
Отправлено: 13.11.2006, 21:03 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 9
|
Да, забыл добавить, все дело в этой дискусии в том, что как для шифрования, так и для проверки подленности используются в принципе те же самые алгоритмы, но по-разному, т.е. входные данные есть разные.
Патаму если нужно зашифровать сообщение, то ему не обязательно давать удостоверение владельца, т.е. у меня локальный комп, прога шифрует мои письма, я знаю что они мои, зачем мне в этом удостовериваться что они мои?
Но если надо знать что письмо мне прислала падруга с пагаными славами, а не бывшая девушка, что бы мне подпортить всё, то падруга подписывает письмо, чтобы я понял чё ей надо . |
|
AVC |
Отправлено: 14.11.2006, 09:22 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
2Fedryk
Вы определились у вас сообщения кодированы или просто подписаны и что вас интересует. Потому как
QUOTE |
Туда попросту долепливаеться ЭЦП, которую мне и надо
|
и
QUOTE |
задача сравнить два файла. Один файл имеет цифровую подпись, у второго таковой нету. Нужно установить равно ли их вместимое не принимая к вниманию цифровую подпись.
|
Это две разные задачи.
Если сообщения при подписывании шифруются, то, скорее всего, для извлечения первоначального сообщения придется повторять все предполагаемые алгоритмы подписывания. Я так думаю.
|
|
gvg |
Отправлено: 14.11.2006, 09:57 |
|
Машинист паровоза
Группа: Участник
Сообщений: 222
|
Может конкретно — чем ЭЦП ставится? |
|
Fedryk |
Отправлено: 15.11.2006, 13:41 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 9
|
Есть десять .dll файлов, которые не шифруются.
Один файл подписан, остальные возможно нет.
Задача: найти из оставшихся 9-ти файлов один (или несколько), которие равны по содержимому подписаному .dll файлу. При этом:
- при сравнении нужно не учитывать подпись если така имеется в файлах, т.е. из подписаного файла надо извлечь усё содержимое, кроме подписи, посмотреть подписан ли второй, и такжэ извлечь усё содержимое. Два извлеченных содержимых сравнить.
- это усё надо делать программно. |
|
Георгий |
Отправлено: 19.11.2006, 03:09 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
помоему это проснулись нерадивые студенты, которые надеются решить свои проблемы за чужой счёт. если б человек дейстивтельно работал с ЭЦП, то но понимал бы, что любая криптосистема имеет API для обращения к ней из внешних систем. и этот API может сделать все вышеназванные операции |
|
Fedryk |
Отправлено: 21.11.2006, 20:13 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 9
|
QUOTE (Георгий @ 19.11.2006, 03:09) | и этот API может сделать все вышеназванные операции |
CryptoAPI & Crypto++ делают лишь часть того что нужно,
если у Вас есть такие глубокие познания в API, поделитесь со "студентом" функциями, которыми можно реализовать вышеупомянутую задачу
Отредактировано Fedryk — 21.11.2006, 22:16 |
|