Шифрование на VBS
Я иногда пишу проги на VBS или HTA. Хочу написать утилиту для шифрования текста. Можно использовать RC4 алгоритм или Rijndael AES 256. (Длина пароля до 32 знаков) Сама функция шифрования будет полностью доступна, поскольку это открытый код по определению. Возникает вопрос о степени защищенности зашифрованных текстов.
комментариев: 44 документов: 3 редакций: 0
Корректно реализованный RC4, будучи шифром Вернама, а следовательно – реинкарнацией обноразового блокнота, весьма безопасен по определению. В любом случае не стоит реализовывать тот алгоритм, который Вы не понимаете сами, в даннном контексте привлекательны также блочный XTEA и поточный SNOW 2.0.
Меня удивляет эта война с перехватчиками клавиатуры, экрана и клипбоарда. Только я ознакомился поверхностно с этой темой, как сразу придумал простое решение для обхода. К сожалению меня обошли американцы: http://www.rusdoc.ru/articles/11271/
:)
Существуют ли какие-то расширения для одноразового блокнота, которые позволяют преодолеть его одноразовость? Чтобы, используя один ключ, можно было шифровать много текстов. И где можно больше почитать побольше именно о нем?
Какие еще есть алгоритмы шифрования, которые можно реализовать минимумом кода?
Что касается RC4 и Rijndael – то это были просто первые, найденные мною реализации для VBS. Я понял, что сравнивать их бесполезно, без учета конкретной реализации.
Поскольку VBS – открытый код, то враг его может просмотреть и узнать как он работает. Значит алгоритм должен быть такой, чтобы этот просмотр не облегчал расшифровку.
комментариев: 11558 документов: 1036 редакций: 4118
Если ключ (шифроблокнот) используется больше, чем один раз, он уже по определению не одноразовый. Любой алгоритм с бегущим ключом (потоковый шифр) можно использовать для шифрования нескольких сообщений одним ключом. Но, как и в случае одноразового блокнота, это позволяет тривиальным образом их все взломать.
Для шифрования каждого сообщения поточным шифром ключ должен быть новым! В случае гамма-генераторов этого можно достичь, различными способами задавая его начальное состояние: nonce, salt и пр., о чём писал выше andrew. Но для одноразового блокнота Вам придётся для каждого сообщения создавать абсолютно случайный ключ из некоторого ГСЧ.
При расшифровке сначала вычисляем размер остатка из длины строки, а затем раскручиваем все обратно.
Шифруем строку ключевой строкой равной длины. Получаем зашифрованную. Затем ее и ключ делим пополам, и 1-ю часть зашифрованной шифруем 2-й частью ключа. И т.д.
Поскольку шифруемые тексты разные и имеют разную длину, то не поможет ли это преодолеть одноразовость ключа?
В качестве ключа используем берем короткую фразу и увеличиваем ее до нужного размера используя Г псевдо-СЧ, который инициализируется этой фразой.
комментариев: 11558 документов: 1036 редакций: 4118
Что касается предложенной схемы...
Возможно, я чего-то не понимаю, но как Вы, отбрасывая по половине сообщения на каждом цикле зашифрования, сможете восстановить сообщение при расшифрании? Попробуйте описать процедуру формально.
У меня обратная ситуация, мне нужно расшифровать тест написаный в формате .hta. Он точно зашифрованный блокнотом не могу просмотреть код, может быть кто-нибудь подскажет как дешифровать, а то с учебой запарился, тетка строгая. Я понимаю, что многие скажут выучи лекции, проблема в том что по лекциям очень мало вопросов меньше трети. Буду оченьблагодарен.