Ответы пользователя по тегу Криптография
  • Можете подсказать какие-нибудь статьи\курсы связанные либо вообще с анонимизацией в интернете, либо отдельно с криптологией?

    @throughtheether
    human after all
    Так же хочу изучать криптологию, но вики-страницы помогают не всегда.
    По криптографии (как части криптологии) могу порекомендовать курс от Дэна Бонэ (Стэнфорд).
    Ответ написан
    Комментировать
  • Какой криптопротокол реализовать?

    @throughtheether
    human after all
    Мне лично было бы интересно исследовать Keccak или другой на основе функции губки. Или отсюда (other algorithms) можете выбрать.
    Ответ написан
  • Насколько устойчив этот метод шифровании?

    @throughtheether
    human after all
    Насколько устойчив этот метод шифровании?
    При шифровании одним ключом нескольких сообщений - очень ненадежен. Да и без этого, у вас длина ключа в общем случае меньше длины сообщения. Попробуйте зашифровать длинную строку (~200-300 байт) и проверьте результат.

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

    А есть ли абсолютный метод шифрований?
    Что значит "абсолютный"? Абсолютно стойкий? Абсолютно удобный?
    Ответ написан
    Комментировать
  • Как расширить протокол "покер по телефону" на троих?

    @throughtheether
    human after all
    Эта задача иногда именуется "mental poker". Я такую статью нашел, может быть, вам поможет. Сам протокол описан на 5й по счету странице (стр. 88), начиная со слов Proof of Theorem 1.
    Ответ написан
    Комментировать
  • Возможно ли обратить SHA-256?

    @throughtheether
    human after all
    Возможно ли обратить SHA-256?
    В общем случае это называется preimage-атакой. В таблице по ссылке указаны примерные оценки вычислительной сложности проведения подобных атак. Сложность порядка 2^128, насколько мне известно, считается достаточной для того, чтобы полагать атаку непрактичной.

    можно ли найти серийник?
    Если вы обладаете каким-либо знанием о структуре серийного номера, позволяющем вам на порядки (до значений, делающих атаку практичной) сократить мощность множества возможных вариантов, то логично попытаться реализовать атаку грубой силы (brute force).

    сколько серийников может быть у одного хэша SHA-256?
    В вашем случае, думаю, разумно предполагать соответствие от 0 до 1 серийных номеров произвольному хэшу.
    Ответ написан
    Комментировать
  • Что необходимо понимать при реализации криптоалгоритма?

    @throughtheether
    human after all
    У меня релевантного образования нет, выскажу свое мнение дилетанта.
    Чем, например, моя реализация хуже той, что представлена в каком-нибудь криптопровайдере (я говорю не о скорости работы, а о безопасности)?
    Тем, что существующие реализации имеют некоторую историю эксплуатации или даже прикладного криптоанализа. Поэтому авторы этих реализаций имеют внешнюю оценку своих решений. У вас такой оценки, я полагаю, нет. Будет очень грустно, когда об уязвимости вы узнаете уже после того, как при помощи эксплуатации этой уязвимости будет нанесен ущерб.
    В общем, что стоит помнить/знать/понимать, чтобы сделать свою реализацию такой же надёжной, как и промышленные аналоги?
    Следует иметь в виду, что одна лишь математически корректная реализация не гарантирует надежности/безопасности. Следует учитывать поведение системы в целом. Если ваше решение - некий общедоступный сервер, то имейте в виду, что третья сторона может с некоей точностью замерять ответы вашей системы на поступающие запросы и делать из этого выводы. Если ваше решение - смарт-карта, то будьте готовы к тому, что третья сторона может измерять потребление электричества в разные моменты времени и делать из этого выводы, целенаправленно изменять напряжение питания и тактовую частоту процессора, подвергать систему воздействию ионизирующего излучения с целью нарушения работы алгоритма и анализа данных, полученных в ходе наблюдения. Если вы даже всего лишь пишете простую программу на языке высокого уровня, будьте готовы к тому, что нюансы этого языка приведут к некоторым последствиям.
    Вкратце, наивное математически корректное решение не защитит вас, в общем случае, от атак по времени и прочим сторонним каналам.
    Вышесказанное не означает, что кто-то в общем случае вправе вам запретить самостоятельно реализовывать криптоалгоритмы, но с вашей стороны было бы разумно оценить возможные последствия.
    Ответ написан
    Комментировать
  • Как сгенеририровать строку по id?

    @throughtheether
    human after all
    Есть пользователь с закрепленным за ним id (например, 10 цифр). Надо получить уникальную строку из букв и цифр большей длинны (около 200). Надо что бы в любой момент эту строку можно было получить зная только id юзера, не прибегая к БД.

    Наивный (но имеющий место, на мой взгляд) подход таков. Вычисляете 2-3-4 различных хэш-суммы (md5, sha-1, и т.д.) от id + произвольная соль (которую храните глобально). Полученные 'hexdump', т.е. представления хэшей в шестнадцатеричном формате конкатенируете. Результат кодируете в base64. Для достижения необходимой длины может понадобиться: 1) конкатенация хэша с самим собой несколько раз, до кодирования 2) конкатенация результата base64-кодирования с самим собой несколько раз.

    Можно использовать только один алгоритм вычисления хэш-суммы, в таком случае вероятность коллизии повысится (но все равно будет пренебрежительно мала, как я понимаю). Можно наоборот, добавить еще солей, все зависит от того, как вы планируете использовать этот идентификатор.
    Ответ написан
  • Используется ли шифрование в мобильной и проводной связи?

    @throughtheether
    human after all
    Читал где-то,что в обычных телефонах (домашних) используется шифрование

    Предполагаю, вы читали про DECT. Там, насколько я знаю, некоторое шифрование присутствует.
    Ответ написан
    Комментировать