Фон
Идея такова:
- Лицо предоставляет контактную информацию для онлайн-покупки книг
- Книга, как PDF, помечена уникальным хешем
- Лицо, загружающее книгу
- Пароли PDF легко обойти или поделиться
Идеальным процессом будет что-то вроде:
- Создание хэша на основе контактной информации
- Сохранение контактной информации и хэша в базе данных
- Получение блокировки книги
- Обновление файла "include" с текстом хеша
- Созданиекнига в формате PDF (с использованием
pdflatex
) - Применение хэша к книге
- Снятие блокировки книги
- Отправка письма с ссылкой для скачивания книги
Технологии
Можно использовать следующие технологии (возможны и другие языки программирования, но библиотеки, вероятно, будут ограничены теми, которые поставляются хостом):
- C, Java, PHP
- файлы LaTeX
- файлы PDF
- Linux
Вопрос
Какие методы программирования (или программное обеспечение с открытым исходным кодом) мне следует изучить, чтобы:
- Вставить уникальный хеш (или другую метку) в PDF
- Создание устойчивой к сговору метки
- Разработка нехрупкого (например,
PDF -> EPS -> PDF
все еще содержит метку) решения
Исследования
У меня естьрассматривал следующие возможности:
- Стеганография
- Обработка естественного языка (NLP)
- Преобразование пустых страниц в PDF в изображения;отметить эти изображения;повторно собрать PDF
- пакет водяных знаков LaTeX
- ImageMagick
Проблемы
Возможные решения, которые я исследовал, имеют следующие проблемы:
- Стеганография. (a) Требуется мастер-копия изображений, которые преобразуются в EPS, что требует значительных ресурсов процессора и времени;(б) выжил бы водяной знак
PDF -> EPS -> PDF
или другие типы конверсии;(c) большинство изображений - это рисунки или снимки экрана, а не фотографии в формате PNG. - LaTeX. Создает кэш изображений;любое стеганографическое решение должно каким-то образом перехватывать этот процесс.
- НЛП. Вносит грамматические ошибки;может изменить значение технических слов.
- Пустые страницы. Немедленно подозревать;подозрительные пустые страницы легко заменить.
- Пакет с водяными знаками. Рисует видимые метки.
- ImageMagick. Рисует видимые метки.
Какие другие решения возможны?
Ссылки по теме
Спасибо!