Форум: "Основная";
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];
ВнизКак можно шифровать текст в Memo ListBox RichEdit перед сохранением на диск. А при чтении расшифровывать. Чтоб никто не читал его. Желательно чтобы было быстро и просто. Найти похожие ветки
← →
Shirson (2002-02-28 12:50) [21]>Poirot
Так, давайте не будем выяснять кто на кого и как посмотрел и вернемся к: "И вообще - я пытаюсь выяснить прелести и недостатки, т.к. это моя будущая специальность... В споре рождается истина (кто-то говорил)..."
(Чесно говоря, лекции по криптографии не фходили в мои планы на сегодня :))
Итак, имеем XOR. Как я уже говорил и как верно заметил Reindeer Moss Eater, сообщение зашифрованное с ключем, длинною, равной длине сообщения, не поддается вскрытию впринципе. Если ключ сформирован генератором случаных чисел с равномерным распределением (принимаем что период генератора >> длины ключа), на выходе мы получаем набор случайных чисел с равномерным распределением. Частотный анализ, как врочем и любой другой тут совершенно бессильны. Даже элементарный перебор не дает возможности вскрытия, из-за неоднозначности трактовки результатов (тот же пример Reindeer Moss Eater)
То что вас, Poirot, возмутило (или удивило?) что длина ключа равна длине сообщения - для меня загадка. Практика современной криптозащиты использует этот метод на всю катушку. Если же использовать однобитный ключ, или ключ, длина которого << длины сообщения, смысла в таком кодировании ровно 0 и упоминать о нем я просто не видел смысла.
Из вышесказанного встает вопрос, если XOR такой замечательный, то почему его не используют в пром.криптографии?
Есть несколько минусов:
Первый - реверсивность кодера. Если кодеру скормить криптованный текст, при наличии ключа получим декриптованное сообщение. Это неприемлемо.
Второй - один ключ. Т.е. нет понятий открытого/закрытого ключа.
Наглядный пример.
Некто А обладает открытым ключем и посылает сообщение к Б.
Открытый ключ это русско-английский словарь. С его помощью русское сообщение переводится на английский и по незащищенному каналу отсылается к Б.
Сколько бы человек не приняло это сообщение и сколько бы из них не имело русско-английского словаря, дешифровать сообщение они не смогут в разумные сроки. (я у трирую, главное общий смысл)
Однако Б имеет закрытый ключ: англо-русский словарь. С его помощью он дешифрует сообщение А в первоночальный вид.
Такая система не ломается нахрапом, даже если у злоумышленника есть сообщение, кодировщик и ключ, с которым это сообщение было зашифровано.
Если принять то, что нужно дикому Кенгуру, можно решить задачу так:
На первом этапе вставляем в дисковод дискетку и формируем на ней байтовый файл из генератора случайных чисел. Длина файла пусть 1024 кБ (не жалко :) )
На втором этапе, сформированным ключем кодируем текст по методу XOR, необходимый для шифровки и сбрасываем его на винт.
На третьем вынимаем дискетку и прячем запазуху.
Теперь мы можем быть совершенно уверены, что если злоумышленник не получит дискетки, ему ни вжисть не прочитать, что мы записали.
Обратная операция проста - считываем с винта криптованный файл, с дискеты грузим ключ и им, все тем же XORом, декодируем текст.
Я надеюсь, Poirot, между нами нет больше недопонимай? Или есть? :) Тогда пишите.
Страницы: 1 2 вся ветка
Форум: "Основная";
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.298 c