Ответы пользователя по тегу Криптография
  • Как реализовать защищенный и не отслеживаемый телефон?

    @nirvimel
    Как считаете, такая схема достаточно надежна или есть более защищенные/удобные способы?

    На этом погорели многие. Люди настолько привыкли окружать себя удобными вещами, что не понимают, что это их удобство иногда может оказаться просто несовместимо с безопасностью.
    Зачем в бане прикрываться тазиком, если без него мыться удобнее?
    Так многие думали пока за мылом не нагнулись.

    Разговор в реальном времени (не важно с каким шифрованием и через сколько туннелей) позволяет сопоставить двух абонентов друг с другом на основании только того, что они начинают и заканчивают разговор одновременно! Этой мелочи часто бывает достаточно, чтобы по логам (за много лет до того) выявить связь между двумя субъектами, которые находились в разных странах у разных операторов и пользовались разными технологиями связи (GSM/Skype/SIP). И это не решается применением никакого чудо-софта или никакими технологиями шифрования. Это фундаментальный неустранимый недостаток коммуникаций в реальном времени. Единственное решение - полностью отказаться от общения в реальном времени и вернуться к использованию старой доброй почты (электронной, конечно), с ней тоже связаны многие проблемы в плане безопасности, но они, по крайней мере, имеют техническое решение.
    Ответ написан
    Комментировать
  • Поставить пароль на внешний HDD?

    @nirvimel
    диск нехочет скидывать файлы

    Хочет/не_хочет, кто его спрашивать будет? После того как введен верный ключ и диск успешно смонтирован он функционирует точно также на логическом уровне, как и не шифрованный, то есть с него можно читать любые файлы и не отчитываться перед ним о том, что вы собираетесь с этими файлами дальше делать, куда копировать и переносить.
    Ответ написан
    Комментировать
  • Как зашифровать документ так, чтобы к нему могла обращаться другая программа?

    @nirvimel
    Если программа может что-то расшифровать, значит программе доступен ключ для расшифровки, значит ключ доступен юзеру от имени которого эта программа запущена в системе, значит это юзер имеет возможность расшифровать документ. В любом случае приходим к необходимости разделять доступ на уровне ОС и настраивать права. Можно, конечно, запускать какой-то серверный процесс от имени одного юзера, которому доступен ключ, и подключаться к нему клиентом от имени юзера, которому ключ не доступен. Но такую систему еще надо разработать, готовое решения вы вряд ли найдете.
    Ответ написан
    Комментировать
  • Можете подсказать какие-нибудь статьи\курсы связанные либо вообще с анонимизацией в интернете, либо отдельно с криптологией?

    @nirvimel
    8fa368a5ee40cf3bcf8a02fe622.jpg
    К сожалению в русском переводе есть только несколько устаревшее 2-е издание. Но все равно это лучше, чем вторичная продукция тех, кто сам учился по этой книге.
    Ответ написан
    1 комментарий
  • Электронные адреса в БД в зашифрованном виде на PHP, как реализовать?

    @nirvimel
    использовать дополнительные поля нельзя

    Это очень жестокое условие, оно вынуждает городить сложные решения, которые могут обернуться проблемами в дальнейшем. Но если вам так хочется приключений, тогда можно пойти таким путем:

    1. Изначально разбирать емейл на юзернейм и домен.

    2. Шифровать эти части каким-нибудь блочным шифром, чтобы длины получаемых строк не коррелировали с начальным содержимым. Тут возникают ограничения на длины изначальных юзернейма и домена, ну так в реальной жизни все равно длина емейла чем-то ограничена.

    3. Писать в базу строки такого вида:
    sprintf("%s_%s", base64_encode($encripted_domain), base64_encode($encripted_username));

    4. Осуществлять выборку с фильтрацией по домену так:
    sprintf("SELECT * FROM table WHERE email LIKE \"%s_%%\" ", base64_encode($encripted_domain));

    5. Восстанавливать исходный емейл так:
    list($domain_base64, $username_base64) = explode("_", $encripted_email_from_db);
    $decripted_email = sprintf("%s@%s", decript_function(base64_decode($username_base64)), decript_function(base64_decode($username_base64)));

    Тут decript_function - пользовательская функция расшифровки.
    Ответ написан
    Комментировать