XOR-шифрование Powershell

Discussion in 'Windows' started by Filipp, 15 Aug 2016.

  1. Filipp

    Filipp Elder - Старейшина

    Joined:
    10 May 2015
    Messages:
    257
    Likes Received:
    57
    Reputations:
    31
    Опыта с PS у меня мягко говоря не много. Мне нужно написать функцию XOR-шифрования, которая на вход принимала бы 2 строки (data + key) и возвращала зашифрованную строку.
    Находил пару вариантов, только привести к жизни их у меня не получилось.
     
    M0deraT0r likes this.
  2. M0deraT0r

    M0deraT0r Member

    Joined:
    14 Aug 2016
    Messages:
    11
    Likes Received:
    5
    Reputations:
    0
    xor? Но почему не AES например?
    напрямую кодировать простой текст нельзя. Во-первых, число, представляющее пробел, будет по-прежнему разделять слова и в шифротекте. Выделив это часто встречающееся одно и то же число, пользователь догадается, что это закодированный пробел. Во-вторых, короткие часто встречающиеся предлоги и союзы также помогут взломщику в определении ключа. Поэтому самым эффективным способом является использование длинного ключа, покрывающего несколько букв, а лучше равного по длине самому сообщению. Так, если мы кодируем достаточно длинное сообщение (не менее 5-10 предложений) с помощью случайного ключа такой же длины, то такое сообщение очень сложно расшифровать. Еще более высоких результатов по надежности можно достичь, если перед шифрованием произвести, например, сжатие текста каким-либо архиватором. Плюс к тому же, если сообщение имеет малую длину, можно добавить в начало и конец сообщения случайные последовательности символов
     
  3. Filipp

    Filipp Elder - Старейшина

    Joined:
    10 May 2015
    Messages:
    257
    Likes Received:
    57
    Reputations:
    31
    XOR намного легче AES'a, да и дешифровка займет уйму времени, которого не будет) Но впрочем да, раз реализации XOR'a на PS нет, пусть будет AES.
     
  4. Anklav

    Anklav Active Member

    Joined:
    14 Aug 2016
    Messages:
    165
    Likes Received:
    113
    Reputations:
    4
    Шифр Вернама хотите реализовать? ) Похвально.
    Потому что это как тёплое и мягкое. Xor это логическая функция, а AES это сложный алгоритм шифрования.
    XOR легче AESа? Ребята. Да это полный ад!!! В AES_е тоже используется функция XOR многократно, при чём тут это?! Она в жесткой логике процессоров используется и к шифрованию не имеет ни малейшего отношения - это алгебра-логика!
    Если говорить о коде Вернама - он значительно проще чем AES как алгоритм. Но в отличии от AES код Вернама принципиально невозможно взломать, если соблюдены определенные условия (см. википедию). А вот в реализации безопасной передачи ключей в кодах Вернама есть проблемы практически нерешаемые. Потому и не получил распространения в энторнетах (да и вообще). Фактически, какой смысл шифровать сообщение кодом Вернама если у вас есть возможность безопасно передать ключ, размером с само сообщение. С таким же успехом можно тогда и не зашифрованное сообщение передать. Вот такая логика.
    Но есть одна фича. Если допустим нужно в ответственный момент передать важное сообщение. Например что началась ядерная война ))) А AES_у и программам нет доверия... Вот и едете в штаб или куда там, генерируете истинно случайный код спец оборудованием, везёте его копию к себе (с охраной из 3 танков) ...куда там вам надо. На станцию дальнего обнаружения например. И блин охраняете этот код всё время так, будто само секретное сообщение (а это уже гемор!). Потом, когда потребуется - пишете письмо, переводите его в двоично-десятичный код или ASCII/КОИ7 или во что вы там хотите, абы свелось к двоичному (и пофиг там пробелы и частотные распределения - это в Вернаме не важно, это вам блин не Энигма где надо было мусор вбивать), ксорите с случайным кодом. Шлёте это в штаб. Случайный код сжигаете. Пепел съедаете. И запиваете водой. Или водкой. Если вы заранее привезли 10 таких кодов, то у вас ещё 9 возможностей слать сообщения. Потом всё. ГОСТы или AES. Ну или в открытую уже. И матом ;)
     
    AntiduPb and Filipp like this.
  5. pas9x

    pas9x Elder - Старейшина

    Joined:
    13 Oct 2012
    Messages:
    423
    Likes Received:
    585
    Reputations:
    52
    А не проще-ли писать на нормальном языке? Не понимаю людей которые на баше и бате пытаются писать сложную логику.
     
    AntiduPb likes this.