Гмм, криптография -- не портянки! Каждый месяц не надо менять. Все ж работает, нет?
Да, прекрасно работает, но куда же девать Идеи?? Когда всякого тут накопилось... Эх, обновлю!!
Чтобы что?
Чтобы стало удобнее. Ведь теперь в новой версии:
С уважением, Сергей Деревяго.
На этот раз не будет Математики и нудных алгоритмов. Ведь наша цель -- решение проблем трудящихся! Что делать и как запускать.
Э... может "кто виноват"?
Как показало Время, не виноват никто! Из-за DersCrypt еще никто не пострадал. Но были благодарности! Даже пара забавных случаев (потом напомните рассказать).
А теперь коня за рога:
> derscrypt DersCrypt v2.0 (2025-02-15), symmetric-key cipher, freeware Copyright (c) Sergey P. Derevyago Usage: derscrypt e key_file plain_file encrypted_file derscrypt d key_file encrypted_file decrypted_file derscrypt t key_file encrypted_file derscrypt c key_file |
Именно эту картину вы будете видеть при запуске. Пройдемся по пунктам использования:
key_file зашифровать plain_file и записать в encrypted_file.
key_file дешифровать encrypted_file и записать в decrypted_file.
key_file попробовать дешифровать encrypted_file.
key_file.
И как уже говорилось, в качестве ключа можно использовать любой файл размером 32-64 байта, удовлетворяющий простым условиям:
32 буквы и цифры.
| key.txt |
|---|
S9f3g7zD5jtT0t4c7ks62d4mgWIpy5Mv |
Чушь? То, что надо!
А теперь применяем красавца:
> derscrypt e key.txt plain.txt plain.dc2 ders::Exception [main.cpp:109], message: Can't encrypt plain_file ders::Exception [key.cpp:104], message: Invalid key: The least significant bit is zero |
Так, ошибка! Что за ошибка? Младший бит у нас равен нулю, а хотелось бы единичку.
Не вопрос. Еще раз откроем редактор и исправим последнюю букву v на предыдущую по значению (u) или следующую (w):
| key.txt |
|---|
S9f3g7zD5jtT0t4c7ks62d4mgWIpy5Mw |
Сохраняем и запускаем:
> derscrypt e key.txt plain.txt plain.dc2 515 K/s |
Песня! Наш ключ работает и появился plain.dc2.
А что там по криптостойкости? Мы же сходили на жертвы??
Ну, смотрите. 32 случайных байта -- это честные 256 случайных бит! Но если использовать только буквы (большие и маленькие) и цифры, то получится всего 62 (=26+26+10) варианта.
А 62 значения -- это только 5.95 бита вместо 8. Т.е. 32 случайных буквоцифры нам обеспечат лишь 190.4 случайных бит... Сойдет для сельской местности!
Ну, все так все. Но для этого нужен отличный источник случайности! Например, монета (2 варианта), а лучше игральная кость (сразу 6).
Я знаю, вы помните. Лет двадцать назад мы запустили бы KeyGen в жабамашине. Но теперь та же самая функция уже встроена в сам derscrypt.
Итак, для создания ключа key33 длиной 264 бита с помощью игральной кости (6 вариантов) мы будем использовать команду:
> derscrypt c key33 Enter key size in bits [256,512]: 264 Enter number of dice sides [2,999]: 6 1/102: enter value [1,6]: 2 2/102: enter value [1,6]: 5 3/102: enter value [1,6]: 1 ... 102/102: enter value [1,6]: 3 |
Еще сто два броска, синьор, -- и ключик у нас в кармане!
Много? Это вы не метали копейку! Безопасность требует жертв.
А нетерпеливые могут использовать хитрые кости со многими гранями... Но с точки зрения физики, у меня есть сомнения в равновероятности их сторон.
Мы попробуем зашифровать мои логин (фактически, номер паспорта) и пароль для доступа к Интернет-Банку:
| bank1.txt |
|---|
|
login: 2609152A052PB3 passw: Wv4Rv4G1ji7hrTf8ModR77HssLhrP |
Так полагаю, вы уже сгенерировали свой собственный ключ? Если нет, то у нас уже есть key33:
> derscrypt e key33 bank1.txt bank1.dc2 ders::Exception [main.cpp:109], message: Can't encrypt plain_file ders::Exception [derscrypt.cpp:105], message: File too small: At least 1947 bytes required |
Ошибка! Для использования 264-битного ключа требуется как минимум 1947 байт данных, а наш bank1.txt всего 61 байт размером. Что делать?
Ну, вариантов довольно много. Лично я, например, ищу редкостный бред и вставляю в него свои данные:
| bank2.txt |
|---|
|
Программы поведения срабатывают в ответ на особый сигнальный стимул, признаки которого заложены в программу. Задача распознания в окружающем мире врожденного сигнального стимула для мозга сложна, поэтому инстинктивные программы часто ошибаются, запускаются по сигналам, случайно несущим признаки стимула. Набор программ действий и образов врожденных стимулов образуют систему передаваемых по наследству знаний об окружающем мире и правил поведения в нем. Животное родится на свет не "tabula rasa", и человек в этом не исключение. Без программ мозг не способен работать. Если нет соответствующей программы - нет и сколько-нибудь сложного и эффективного поведения.
login: 2609152A052PB3 Сила этологов - в знании поведения огромного числа разных видов животных. Человек для этологов - один из видов: многие особенности его поведения, кажущиеся другим уникальными или загадочными, не выглядят такими, если знаешь целый букет сходных и родственных образцов поведения других видов. Причем оказывается, что врожденную мотивацию своего поведения человек, как правило, не чувствует (ему кажется, что он сам так решил, так хочет, так надо), а объясняет обычно путанно и неверно. Со своими объектами этолог не может поговорить об их поведении, поэтому все методы этологии ориентированы на внешние проявления поведения. Приложения этого метода к человеку (меня не интересует, что ты думаешь, меня интересует только, что ты сделал и в ответ на какой стимул) по-своему плодотворно, особенно тем, что удачно дополняет достижения гуманитариев, анализирующих в первую очередь мысли и чувства. В нашей стране с этологией боролись, как могли. Один из результатов - не только полная неосведомленность, но и воинствующее неприятие самого этологического подхода к поведению человека. Эта реакция выработана и у людей, в остальных отношениях непредвзятых, любознательных и доброжелательных. Взявшись кратко рассказать о том, что же могут поведать этологи о врожденных программах, мотивирующих социальное поведение людей, я прекрасно сознаю эту трудность и призываю читателя-соотечественника попытаться преодолеть в себе навязанное ему в течение всей жизни мнение о недопустимости сравнивать его поведение с поведением жука, рыбы, птицы да и обезьяны. |
А теперь повторим процедуру, но уже с файлом bank2.txt:
> derscrypt e key33 bank2.txt bank2.dc2 335 K/s |
Это победа!
Во ржака, да. Спросил тоже.
А ведь не ржака! Вы шифруете информацию, которая может вам повредить!
Например, чек ресторана, где вы ЧРЕЗМЕРНО потратились... На кой он вам?! Лучше сразу же удалите! Ну право слово: потенциальная возможность пролить над ним умильную слезу лет через надцать никак не стоит той БЕДЫ, если увидят домочадцы!
Что я советую?
Я советую ОЧЕНЬ СЕРЬЕЗНО ЗАДУМАТЬСЯ и все-таки удалить тое-сёе! А мы пока что-нибудь расшифруем:
> derscrypt d key33 bank2.dc2 bank2.dc2.txt 326 K/s |
Вот они -- слезы счастья! Мы только что обрели bank2.dc2.txt, и он полностью совпадает с bank2.txt.
Да, обязательно! Никогда не удаляйте исходный файл, пока не убедились, что можете его дешифровать.
А, вы и так доверяете алгоритму? Прекрасно! Я тоже ему доверяю, но сдуру можно и диск сломать! Или ключ шифрования выбрать не тот... Да и вообще, что угодно!
Вам же дороги ваши данные? Ну так проверьте:
> derscrypt t key33 bank2.dc2 326 K/s |
И никаких следов!
Но для начала я приведу широко известную в узких кругах цитату:
и не важно на все остальное, если можно давить гражданина.
| потому что полумеры практически дают результат хуже чем если бы не реализовывали ничего а вот вам цитата Серьезного Безопасника из 90х годов: ЛЮБОЕ минимальное шифрование ВСЕГДА лучше ограничения прав доступа! ваш текст не должен СРАЗУ читаться. точка.
но сначала поговорим про ГОСТы ;) почему? ну, прежде всего нужно четко себе представлять, что весь Мир сейчас жестоко разделен на дружественные и вражественные юрисдикции:
и что же крестьянину делать?
1. но перед этим шифровать свои данные любым доступным способом. сразу после вашего наивного шифрования (но перед ГОСТом) его нужно чуточку исказить:
|
Уже догадались? Правильно! Пусть расцветают сто цветов.
Сколько честных криптостойких алгоритмов могли использовать простые люди? Пять? Десять?? А сейчас их появятся ТЫСЯЧИ!
200 каких-либо бит в начале файла. Ведь любой бит в первом блоке зашифрованного файла мгновенно испортит весь файл! Но только никому не сообщай подробности.
Что дальше? Прежде всего, обратите внимание на исходный код:
derscrypt под Linux.
Помните, что абсолютно все современные операционные системы, доступные обывателю, являются шпионами. Их главная обязанность -- фильтровать всю доступную информацию и автоматически отправлять кому следует.
Никакая часть данного материала не может быть использована в коммерческих целях без письменного разрешения автора.