Задать вопрос
@zdiii

Насколько устойчив этот метод шифровании?

Насколько устойчив этот метод шифровании?
Сколько минут потребуется профессиональному криптографу для расшифровки?
А есть ли абсолютный метод шифрований?
<?php

    $data           = 'my secrect string...';
    $key            = md5( 'passwd123' );

    $crypted        = $data ^ str_pad( '', strlen( $data ), $key );
    print_r( $crypted ); // \HGZPLCE_VTJ

    $decrypted      = $crypted ^ str_pad( '', strlen( $crypted ), $key );
    print_r( $decrypted ); // my secrect string...
?>
  • Вопрос задан
  • 839 просмотров
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 5
laska
@laska
PHP/JS разработчик
Никогда, ну то есть совсем никогда не используйте придуманные вами методы шифрования.

Любой человек, который разбирается в шифровании лучше вас (поверьте, это скорее всего вообще любой человек который попытается расшифровать ваш код) расшифрует его очень быстро. Минуты или часы - это будет зависеть от того, что он получит. Если он получит строку просто HGZPLCE_VTJ, без всякого контекста, то вам беспокоится не надо. В противном случае надо.

В любом случае, вы изобрели плохенькую симметричную криптосистему, В пхп есть встроенная и хорошая: mcrypt, используйте ее.
Ответ написан
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
Присоединяюсь ко всем предыдущим ораторам, но от себя добавлю:
Ваш шифр ещё менее надёжен чем стандартный XOR, так как функция md5 возвращает строку. В этой строке в каждой позиции может стоять один из 16 символов (а по хорошему символ маски должен покрывать весть байт целиком).
Что Вас сподвигло на разработку собственного шифра без знания криптографии?
Если вам просто нужно прятать какие то осмысленные текстовые последовательности в файле или другом наборе данных. чтобы они не были видны при беглом просмотре, то возможно Ваш шифр и подойдёт, но не более того.
Ответ написан
Комментировать
@throughtheether
human after all
Насколько устойчив этот метод шифровании?
При шифровании одним ключом нескольких сообщений - очень ненадежен. Да и без этого, у вас длина ключа в общем случае меньше длины сообщения. Попробуйте зашифровать длинную строку (~200-300 байт) и проверьте результат.

Сколько минут потребуется профессиональному криптографу для расшифровки?
Не знаю. Знаю по опыту, что студенту, изучающему криптографию, требуется около получаса, чтобы извлечь ключ и исходные сообщения из нескольких шифротекстов, полученных при использовании шифра Вернама с повторением ключа (один ключ на все шифротексты) при "нормальных условиях" (в качестве открытого текста используется грамотная письменная речь, без сжатия и прочего).

А есть ли абсолютный метод шифрований?
Что значит "абсолютный"? Абсолютно стойкий? Абсолютно удобный?
Ответ написан
Комментировать
@vilgeforce
Раздолбай и программист
Ниочем. Даже TEA сильнее будет.
Ответ написан
Dark_Scorpion
@Dark_Scorpion
Обычное симметричное шифрование на хоре! Ломается очень быстро!
Во первых шифр основан на хоре без создания шумов, а значит операция обратима (шифрованный текст + исходный текст = ключ).
Вторая более сильная слабость можно подбирать на коротких промежутках ключ, т.е не 20 символов, а 5 и если появится читаемый текст, пол дела уже сделано.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы