|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Реализация алгоритма шифрования AES средствами AutoLisp
строю, ломаю
Украина
Регистрация: 03.04.2008
Сообщений: 5,515
|
||
Просмотров: 7048
|
|
||||
Инженер Регистрация: 27.04.2009
Deutschland
Сообщений: 208
|
|
|||
![]() |
|
||||
Инженер Регистрация: 27.04.2009
Deutschland
Сообщений: 208
|
gomer
Цитата:
![]() А чем так сильно отличается Автолисп, что для него нельзя применить уже готовое? Там совсем другие функции или что еще? Вроде бы как CommonLisp и автолисп похожи, это в визуаль-лиспе наворотов много ![]() |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Тонкий намек на то, чтобы какой-то бездельник это сделал
![]() Вообще-то зашифровать текст на LISP можно одной строчкой. С достаточной для большинства реальных применений надежностью. Код:
|
|||
![]() |
|
||||
По диагонали прочел алгоритм шифрования, если правильно понял, то вся соль в возведении в степень и взятии логарифма. Здесь, у автолиспа будут проблемы - есть ограничения на размер целого числа и они достаточно жесткие - в примере, числа возводятся в степень от 1087 до 3571, это не возможно сделать в автолиспе встроенными методами, нужно либо использовать внешний математический процессор с хранением чисел в виде текста, либо писать свой...
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны. /Сунь Цзы/ |
||||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
ИХМО - учитывая то, что AES уже ставят в опкоды современных процесорров, писать его на автолиспе - мягко говоря - не самое правильное время провождения, да и скорость реализации боюсь будет не самая высокая (тем более, как заметил Евгений, автолисп, в отличие от других лиспов, с такими разрядностями чисел "напрямую" не работает - то есть придеться преобразовывать в строки (списки?) и работать с ними - вобщем скорость стремиться к нулю).
Самое правильное (если необходим именно aes, а не просто зашифровать\расшифровать) поискать com библиотеки, или - же написать самому (уверен, что усилий будет потраченно меньше т.к. для более низкоуровневых языков библиотеку aes найти не проблемма - то есть по сути надо будет только "com обертку" сделать). А если не найдешь (хотя наверное это будет означать - плохо искал) - есть ленивый вариант - вызвать через ado->obdc->mysql->встроенную функцию AES_encrypt/AES_decrypt - метод корявый и требует дополнительного софта - но если вдруг он и так есть(или например другая БД с аналогичной функцией), да еще и официально беслпатно.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Конечно, как написал Дима_, использовать навороченные алгоритмы надо через COM.
Однако, надо крепко думать - надо ли "крепкое" шифрование вообще. Ведь зачем об нем начинают думать применительно к Автолисп? Да чтобы "хитро" защитить свою "супер-пупер" программу или данные. "Шаровары" сделать и т.п. А для этого бесполезного по сути дела не нужны никакие хитрые алгоритмы. Все делается гораздо проще. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Ну, если для этого - тогда'б RSA спрашивали, наверное - больше подходит. Я вижу только одно реальное применение - надо работать с данными которые для чего-то зашифрованны именно в aes, для защиты - если есть рабочая копия - то что aes, что des, что просто "за'xor'енные" файлы - все будет взломанно одинакого - можно даже не париться по этому поводу (уж этим делом я в свое время "плотно" занимался), своей-же программой "откроют" и сохранят - бред это. Лучшая защита - меньше настроек, индивидуально так скажем. А уж если делаешь для широкого круга - то только "административными рычагами".
p.s. за все время я видел только одну "неломаемаю" программу - суть очень простая - программа по сути являеться оболочкой для хардового usb-устройства которое не хранит данные (ключи и пр), а именно их обрабатывает (со своим процессором, памятью и пр.), чтоб в него не влезли - наглухо в эпоксидку залито (наши соотечественники сделали), вот такую штучку можно взломать - только украв у разработчиков "прошивку".
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994
|
Цитата:
ссылка поиск по ключевым словам "совершенный шифр" |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
почему-то получилось что мои слова VVA сказал, но не суть - читаешь не внимательно - если есть рабочая копия - вот ключевое слово - то есть программа (чтоб работать) в любом случае должна сама себя расшифровать - этим и пользуются, а без ключа работать не будет, и не какой "мегахакер" здесь ничего не сделает.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Цитата:
http://www.enlight.ru/ib/tech/crypto/index.htm ps. Кстати, в автокаде, можно создать и использовать нестандартный ключ, вычисляемый из геометрии и удобный для проектировщика ![]() Для примера, вместо ключа, можно запрашивать графические построения итд. Или наоборот, по паролю, вычислять построения и по параметрам этих построений генерировать ключ любой длинны, в том числе больший или равный длине шифруемых данных. Пример, по пяти точкам, можно создать сплайн, взять у него любое количество параметров и по ним шифровать...
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны. /Сунь Цзы/ Последний раз редактировалось Елпанов Евгений, 08.09.2010 в 20:31. |
||||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
По поводу ссылок - во всех современных шифрах конткстные методы не действуют (ну увеличется вероятность подбора с 1/2^256 до 1/2^240 и что), любой шифр (хоть элементарное сложение) ДАЖЕ ТЕОРИТИЧЕСКИ не вскрываем (а тем более на практике) при 2 условиях: 1 - ключ является случайным набором данных, длинна ключа равна длинне шифруеммой информации (и реально такие методы используют - достаточно 1 раз передать достаточно длинный ключ (100 мегабайт например) и в любое время по открытым каналам можно "смело" передавать информацию - вскрыть не возможно т.к. при помощи различных ключей можно получить АБСОЛЮТНО ЛЮБУЮ последовательность данных такой-же длинны).
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
crosandr, что ты думаешь о десятке фильмов, которые архивируются, из них удаляются заголовки и делается побитный XOR? Я согласен, что данные будут не проверены на истинную случайность, но для шифрования, на мой взгляд, они достаточно надежны...
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны. /Сунь Цзы/ |
||||
![]() |
|
||||
Инженер-строитель Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994
|
Цитата:
Все ведь зависит от цели. Кому-то может хватить и обычной подстановки)) Но про длинные абсолютно случайные ключи что-то не удалось обнаружить ничего. Может Дима_ просветит? |
|||
![]() |
|
||||
MCAD/MCSD Экзамены 70-330, 70-340. Разработка защищённых приложений на Visual Basic .Net и Visual C# .Net. Там глава 8 - "Защита данных при помощи криптографии". Подробно рассматриваются шифрование как с симметричными, так и с ассимметричными ключами. Вообще Майкрософтом рекомендуется для симметричного шифрования использовать алгоритм Rinjdael (реализован полностью с помощью управляемого кода). Для асимметричного существует два класса, производных от AsymmetricAlgorithm (один для шифрования расшифровки данных, а второй - для цифрового подписания сообщений).
В инете есть книга в электронном виде - можно поискать. Имхо можно почитать указанное мною чтиво и написать на .Net лисповскую функцию, которая будет шифровать/дешифровать данные. Я этим (в смысле шифрованием) пользовался давно и недолго - чисто из любопытства.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Какими средствами пользуются программисты при создании кода AutoLISP | Малявка | Разное | 4 | 22.10.2009 12:46 |