• Авторизация


мысли вслух 04-05-2006 13:41


Как известно, чтобы сделать что-то хорошо, всегда полезно сначала посмотреть - как это сделано у других. Намедни я снова в этом убедился.

Дело было так. На выходных нашел старые исходники своей утилитки для подсчета всяческих чексумм и хэш-функций. В принципе, она так и не была доведена до ума, многие фичи не реализованы или реализованы очень криво. Поглядев на сорцы я понял: из всех исходников по-настоящему грамотно написан лишь код самих хэш-алгоритмов, все остальное никуда не годится. Причем исправить это нельзя, потому как проще переписать с нуля, изменив код почти полностью. Чем и было решено заняться на досуге.

В процессе размышлений над некоторыми функциями на предмет "как бы это сделать покрасивше да поизящней", я залез в архив вирусных исходников (ибо мой проект хоть и под Win, но полностью на ассемблере). Вот, стало быть, залез, и...

...и лишний раз убедился - насколько среди вирмаков попадаются талантливые кодеры. То, что у обычных программеров на С или паскале занимает пару экранов на HLL, у этих товарыщей занимает пол-экрана на asm'e. Причем работает в несколько раз быстрее. Хотя иногда без 100 грамм не разберешь - как оно работает :)

С грустью подумал, что HLL - это в чем-то зло. Оно, конечно, значительно ускоряет и упрощает разработку, но... Теперь каждая кухарка может налабать за пол-минуты на C# свой 'Hello, World', при этом он будет требовать 256 мег памяти и грузиться пол-минуты на не самом слабом "пеньке". А на изящество, скорость и эффективность кода уже давно никто не смотрит. Вот так.
комментарии: 8 понравилось! вверх^ к полной версии
ретро софт: PGP v1.0 12-04-2006 18:35


Программа PGP, автором которой был Philip Zimmermann, оказалась знаковой в истории развития шифрования на IBM PC-совместимых микрокомпьютерах. PGP позволяла пользователям не только обмениваться зашифрованными файлами и сообщениями, но и проверять при этом их подлинность.  В те времена существовало немало "шифровалок", большинство которых использовали либо DES, либо самодельные алгоритмы неизвестной стойкости. Но ни одна из этих программ не обеспечивала возможность обмениваться данными, обезопасив их от перехвата, просмотра или изменения третьими лицами.

Немного истории.

В 1980 году вскоре после окончания колледжа Zimmermann вместе со своими друзьями организовал фирму Metamorphic Systems. Их проект не имел вообще ничего общего с криптографией: предполагалось создать карту на основе нового процессора Intel 8088 для апгрейда компьютеров Apple II, работавших под управлением более медленных MOS 6502.

И вот однажды в
Metamorphic Systems раздался телефонный звонок. Звонил программист из Арканзаса Charlie Merritt. Его интересовало "железо", которое обладало бы достаточной скоростью для реализации криптографической схемы с открытым ключем RSA. Этот звонок оказался одним из совпадений, которые в последствии оказывают огромное влияние на будущее.

Еще во время обучения в колледже,
Zimmermann интересовался криптографией, но не обладал достаточной математической базой. Merritt же оказался хорошим математиком. Именно благодаря ему Zimmermann заинтересовался криптографией с открытым ключем и, в частности, RSA. Летом 1986 года они впервые встречаются, и уже тогда Zimmermann всерьез думает о реализации алгоритма RSA на IBM PC. Вскоре Merritt организует их встречу с Jim Bidzos - президентом RSA Data Security Inc, чтобы обсудить вопросы с лицензированием.

Вскоре после этого
Zimmermann объявил, что Bidzos предложил ему бесплатную лицензию на RSA, хотя Bidzos это отрицал. Так или иначе, в июне 1991 года появляется PGP v1.0. Изначально тот релиз не был предназначен для широкого распространения. Однако Zimmermann дал программу одному из своих друзей, а тот опубликовал её в Usenet. В RSA Data Security не были особо рады этому событию, так как PGP оказалась главным конкурентом их собственному продукту - RSADSI’s MailSafe. Фирма заключает с Zimmermann'ом договор, что против него не будет выдвинут судебный иск, если он прекратит распространение PGP. Но поезд уже ушел...

На что это было похоже...

Изначально предполагалось, что симметричным алгоритмом в PGP должен был быть DES. Однако Zimmermann заменил DES на собственный, созданный на основе работ Merritt'a симметричный криптоалгоритм, названный Bass-O-Matic.  На Crypto Conference '91 Zimmermann обращается к Adi Shamir (тому самому, благодаря которому в аббревиатуре RSA присутствует буква S) с просьбой проанализировать стойкость Bass-O-Matic. но Shamir отказывается. Тогда Zimmermann обращается с той же просьбой к не менее весомой фигуре в мире криптографии - Eli Biham. Biham дает согласие, и вскоре не оставляет от Bass-O-Matic камня на камне.
Остается лишь добавить, что в качестве хэш-функции в PGP 1 использовался алгоритм MD4, 2 из 3х раундов которого полностью обратимы, а поиск искусственных коллизий для MD4 на современных компьютерах занимает считанные секунды. В детали реализации RSA я, несмотря на доступность исходников, не вдавался. Но доводилось видеть старую библиотеку генерации ключей, написанную
Zimmermann'ом, и использовавшуюся в свое время в первых версиях навесной защиты ASProtect.В этой библиотеке ключи RSA генерировались в зависимости от 32-битного PRNG, и сложность взлома даже 1024-бит ключа осставляла всего 2^31.

В общем, с точки зрения
Читать далее...
комментарии: 2 понравилось! вверх^ к полной версии

на заметку домохозяйкам 11-04-2006 18:46


Мало кто задумывался о том, что рука - мощный счетный инструмент, позволяющий показывать числа от 0 до 31. Однако большинство людей используют её ресурсы менее чем на 20%...
комментарии: 0 понравилось! вверх^ к полной версии
sometimes size matters 11-04-2006 14:49


Году этак в 1993-94 в Доме Книги на Новом Арбате появились отделы, торгующие компьютерами, софтом и играми. И вот среди этих игрушек была одна совершенно диковинная - Mad Dog McCree. Диковинность её была вовсе не в содержании - это был примитивный ковбойский шутер, портированный под PC с игрового автомата. В геймплее и графике тоже не было ничего примечательного. Но...

Игра занимала 4 CD ! Сейчас единственная реакция на такой объем - "фигня, щаз торрент запущу и по-быстрому скачаю". Но это сейчас. А тогда на дворе было начало 1994 года, и винчестер на 120 мегабайт считался нормальным, на 210 - большим, а на 420 - вообще неимоверного размера, предел мечтаний. И вот представьте себе, как на фоне таких объемов смотрелась игра, занимавшая 4 компакта.

Казалось бы, все это ушло в прошлое и стало историей, объемами софта больше никого не удивишь. Однако, просматривая свежие релизы игр, я уткнулся в строчку "X-Plane v8.21 (c) Laminar Research" - этакая глобальная "леталка". Но размер... 7 двухслойных DVD, 419 х 100 Mb (!!!).

Пожалуй, это лишь второй раз за все время, когда размер произвел на меня неизгладимое впечатление :)
комментарии: 2 понравилось! вверх^ к полной версии
Дневник TraxxOfAxe 22-12-2005 23:00


Ну вот я и сюда добрался. Правда накой - пока сам не понимаю.
комментарии: 4 понравилось! вверх^ к полной версии