Cellar Door

29 декабря 2005

CipherSaber

In George Lucas' Star Wars trilogy, Jedi Knights were expected to make their own light sabers. The message was clear: a warrior confronted by a powerful empire bent on totalitarian control must be self-reliant. As we face a real threat of a ban on the distribution of strong cryptography, in the United States and possibly world-wide, we should emulate the Jedi masters by learning how to build strong cryptography programs all by ourselves. If this can be done, strong cryptography will become impossible to suppress.

Такими словами Arnold G. Reinhold описывает мотивацию создания им CipherSaber - симметричного шифра, базирующегося на RC4, или ARCFOUR. Возможно, реальность таких намерений станет более ясной, если сказать, что потоковый шифр RC4, будучи по существу реализацией шифра Вернама, или схемы с одноразовым блокнотом (OTP, One Time Pad), крайне прост в реализации и - при должном качестве реализации - является исключительно надежным. Замечу, что это "должное качество реализации" подразумевает применение таких техник, как "multi-round initiation" или 2-байтового RC4. В подтверждение же простоты RC4 повторю слова Брюса Шнайера: "The algorithm is so simple that most programmers can quickly code it from memory."

Это описание было бы не полным, не упомяни я того факта, что автор всячески поощряет именно написание собственной реализации шифра, - это важная составляющая культуры CipherSaber.

В качестве "тестового вектора" на сайте CipherSaber размещен зашифрованный gif-рисунок, и в случае успешной реализации шифра (как это сделал я :) Вы сможете лицезреть следующее:

Более подробную информацию Вы найдете по нижеследующим ссылкам:
CipherSaber Home Page
RC4 - Wikipedia
CipherSaber - Wikipedia
A Stream Cipher Encryption Algorithm "Arcfour"

Мне же остается выразить благодарность людям из группы USENET'а sci.crypt и каналов ##c и #crypto сети irc.freenode.net.

06 декабря 2005

"Сердце Пармы" Алексея Иванова

Без преувеличения, одна из лучших книг в моей жизни. Тяжелая и великая книга о естественном ходе вещей и предрешенном трагическом их исходе в борьбе с судьбой и временем, о порождающем гораздо более сильные чувства, чем те, что можно передать словами...

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

Михаил, Бурмот и Калина задержались возле седого старика‑шамана. Старик приносил в жертву щенков. Полуслепой, он нашаривал на земле щенка, нежно брал его в ладони, гладил его, беззубо улыбаясь, совал ему в рот пососать палец. И вдруг тихо, легко, незаметно прокалывал ему сердце тонкой иголкой из рыбьей кости, а потом бросал трупик в большой костер. Михаил глядел и не видел в лице, в руках старика ни злости, ни жестокости, ни безумия исступленной веры. На щеках шамана блестели слезы. Ему и самому было жаль щенков. Пушистые кутята бестолково ползали в прошлогодней траве у его ног, тыкались носами, взвизгивали, переваливались друг через друга.

«Зачем же он их убивает?..» — с гневом и щемящей нежностью к щенкам думал Михаил. Бурмот вдруг отвязал от шапки монету и положил на пенек возле костра. И Михаил неожиданно почувствовал, что эти гибнущие щенята — просто искорки, которые старик бережно выпускает в остывшие за долгую зиму угли жизни, такой хрупкой и быстротечной. Озноб инеем пробежал по груди и плечам князя, и князь поспешно отошел прочь.

— А наш Христос не та же ль искра? — вдруг спросил Калина, шагавший рядом. — Только такая, что вовеки не погаснет…

Михаил покосился на него, поразившись странной созвучности мыслей.
"Сердце Пармы" на OCR Альдебаран
Интервью с Алексеем Ивановым

05 декабря 2005

Armouring the ELF, Phrack Magazine #58

Крайне любопытную идею встретил, читая Armouring the ELF: Binary encryption on the UNIX platform by grugq and scut:
The following is a short list of encryption methods that have been used to protect the main object code of the executable:
[:..12 lines skipped..:]
  • Virtual CPUs: A painstaking and powerful method of securing a binary. The object code actually runs on a virual CPU that needs to be independantly analysed first. Very painful for a reverse engineer (and also the developer).
Весьма увлечен, отправляюсь на поиски примеров реализации такого подхода...

01 декабря 2005

Season of change

"Время Года открывает дверь и выходит, - а через другую дверь заходит другое Время Года. Кто-то вскакивает, бежит к двери: эй, ты куда, я забыл тебе кое-что сказать! Но там никого. А в комнате уже другое Время Года - расселось на стуле, чиркает спичкой, закуривает. Ты что-то забыл сказать, - произносит оно. - Ну так говори мне, раз такое дело, я потом передам. - Да нет, не надо, ничего особенного... А кругом завывает ветер. Ничего особенного. Просто умерло еще одно время года..."

Харуки Мураками "Пинбол-1973"