Гмм, криптография -- не портянки! Каждый месяц не надо менять. Все ж работает, нет?
Да, прекрасно работает, но куда же девать Идеи?? Когда всякого тут накопилось... Эх, обновлю!!
Чтобы что?
Чтобы стало удобнее. Ведь теперь в новой версии:
С уважением, Сергей Деревяго.
На этот раз не будет Математики и нудных алгоритмов. Ведь наша цель -- решение проблем трудящихся! Что делать и как запускать.
Э... может "кто виноват"?
Как показало Время, не виноват никто! Из-за 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.
Помните, что абсолютно все современные операционные системы, доступные обывателю, являются шпионами. Их главная обязанность -- фильтровать всю доступную информацию и автоматически отправлять кому следует.
Никакая часть данного материала не может быть использована в коммерческих целях без письменного разрешения автора.