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

    mayton2019
    @mayton2019
    Bigdata Engineer
    У Дурова нет выбора на самом деле. Ему сделают предложение от которого нельзя отказаться.
    Либо он создает инфрастурктуру глобального наблюдения, как у Facebook, Whatsup e.t.c.
    мессенджеров "в законе". Либо его, как гражданина Франции упекут на 20 лет.

    Как вообще это повлияет на текущее управление сервисом Телеграм - мы не знаем. Я думаю,
    что на этот счет были созданы соотв. инструкции. Но будущее - туманно.

    Если по чесноку - то да. Была порнушка. Был Кракен с Гидрой. Постоянно реклама прыгала в глаза
    во многих каналах. Гемблинг, скам и крипта. И с точки зрения Франции Телега
    является площадкой для сбыта веществ.
    Франция не имеет такого покрытия тематических каналов. Может быть в этом проблема.
    Иначе французы сказали-бы ... ну слушайте Телега конечно ох и ах и наркоты много. Но есть
    и хороший контент. Но... видимо мало было развития Телеги во франции. Надо было Паше этот
    сегмент развивать сильнее. Не успел.
    Ответ написан
    Комментировать
  • Возможно ли идеальное шифрование?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Идеальным считается Шифр Вернама. В принципе это идея Книги Кодов или одноразового блокнота.
    При его использовании Алиса и Боб могли-бы спокойно переписываться и быть уверенными что никто
    их не читает. Но здесь возникает вопросы.

    Как Алиса и Боб ей обменяются?. Совершенно очевидно что
    классические цифровые каналы здесь не подходят. Нужна личная встреча. Иначе слабым местом
    в протоколе становится не Вернам а тот способ которым произошел обмен.

    Как ее сгенерируют?
    Нельзя использовать классические ГПСЧ иначе они станут еще
    одним слабым местом. Очевидно что книга кодов должна создаваться очень оригинальным
    и неповторимым методом который не дает злоумышленнику (Кларку например) никаких
    гипотез. Аналоговый шум радиоэфира. Рулетка. Игральные кости. Карты. Короче
    любые источники энтропии которые никак не связаны с цифровым миром где Кларк
    может строть гипотезы. Кроме того книга кодов (КК) должна быть достаточно
    длинной (я-бы рекомендовал терабайты) чтобы Алиса и Боб хотя-бы на пару
    лет могли не встречаться повторно для обмена новой книгой.

    И надежность самого десктопа Алисы и Боба. Наука криптография (К) полностью
    не изучает этот вопрос. Тоесть К является как-бы частью ИБ и полностью доверяется ей.
    И любой троян на десктопе Алисы может полностью обнулить все наши утверждения
    о надежности Вернама и книги кодов потому что книга кодов уже скомпрометирована
    и Алисе с Бобом надо договариваться снова о следующем протоколе.
    Ответ написан
    Комментировать
  • Какой аналог CryptoJS.AES.encrypt от js?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Симметричный шифр типа AES параметризируется многими настройками. В частности
    - длина ключа и длина блока. Например 128, 192, 256
    - вектором инициализации. Это что-то вроде виртуального первого блока. IV.
    - режимом сцепления блоков (ECB, CFB, CBC ... e.t.c.) в данном случае исходник на Python явным образом нам указывает и режим ECB является вобщем-то самым плохим и нежелательным для нужд криптографии.
    (на этот режим а в JS берется какое-то умолчание).
    - если мы генерируем ключ на основе парольной фразы то нам должен быть известен этот метод. Это не
    всегда преобразование символов в UTF-8. Могут быть нюансы.

    Для выравнивания хвоста открытого текста по границе блока есть еще режимы padding-a.
    Подозреваю что там - несколько вариантов может быть. Это - тоже надо прояснить.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Существует два механизма подписывания информации.
    - электронные подписи на базе RSA, ECDA
    - HMAC

    Все остальное таковым не является.
    Ответ написан
    Комментировать
  • Почему в https не используется асимметричное шифрование?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Оно используется для проверки сертификатов.
    Ответ написан
    9 комментариев
  • Что на клиенте создается свою пару ключей для https соединения?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Когда ты купил (устнановил себе ОС) в ней уже был браузер и в этом браузере прописаны центры сертификации. Это что-то вроде нотариальных контор. Ты им доверяешь по умолчанию. И они по цепочке являются гарантами сертификатов других доменов или других контор. И связка сет доменов + публичный ключ являются реквизитами сертификата. Ты их можешь увидеть в настройках безопасности браузера. И по протоколам TLS/SSL когда ты заходишь на сайт происходит быстрая проверка что интернет домен подтвержден и между вами устанавливается доверительный канал по которому вся инфа от сервера - прогарантирована. Но еще пока не скрыта. Но ввиду того что ассиметричка работает медленно и дорого, на самом деле эта процедура обрамляет другой протокол - создание симметричного канала с временным сеансовым ключом где дальше ты уже работаешь по обычному быстрому симметричному AES например до следующего сеанса обновления ключа. Этот канал уже скрытый от постороеннего наблюдателя. Если запускать openssl с некоторыми
    параметрами то эта процедура рукопожатия будет трассироваться на экран и можно подсмотреть что реально
    происходит у тебя на локалхосте.

    По поводу что там и где устарело. SSL/TLS это просто версии алгоритмов вот этого рукопожатия.
    Ответ написан
  • Где хранить iv, если я могу запомнить только пароль?

    mayton2019
    @mayton2019
    Bigdata Engineer
    IV не надо запоминать. Он может быть частью вашего программного обеспечения.
    Генерируете один раз и кладете в исходники.
    Ответ написан
  • Как создавать свои форматы файлов для криптографии?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Существуют стандартные файловые форматы для хранения ЭЦП ключей. Для RSA, PGP и прочее.
    Это текстовые файлы оформленные соотв образом и хранящие внутри себя закодированный
    в Base64 ключ. Это то что касается публичной части криптографии там где важно оповестить
    как можно больше респонентов и где нужна открытость. Я также видел аналогичные XML-форматы
    в эпоху SOAP. Но они как-то не особо популярны. Они скорее часть SOAP чем криптографии.

    В симметричной криптографии задач файловых форматов вобщем-то не стоит. Даже более
    того. Если условные Алиса и Боб решили наладить секретную переписку - то им не нужен
    никакой файловый стандарт. Они - в контексте и будут передавать блочно-шифрованную
    информацию безо всякого формата без хедера и без магических чисел.

    Что еще. Для этой-же симметрички может быть полезен padding. Это специальное оформление
    последнего блока шифро-текста. Чтоб подбить вариативный размер файла под размер кратный
    блоку. Например если вы решили шифровать через AES-256 то вам нужен блок в 256 бит
    и алгоритм паддинга для хвостового блока. Padding известен и его методы описаны в wiki.
    Берите перебирайте. Который совпадет - тот и ваш. Вот. Паддинг - это не файловый формат
    а просто инженерный трюк чтоб уйти от блоков или прийти к блокам.
    Ответ написан
    1 комментарий
  • Как подготовиться к Олимпиаде по криптографии?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если честно я впервые слышу именно про такую олимпиаду. Обычно идут Математика или Информатика. Совершенно не представляю какие задачи могут там (в криптографии) быть.

    Вообще. Есть только один способ готовиться к олимпиаде. Брать задачники и
    прорешивать задачи каждый день. По несколько часов. По программированию
    у меня был один такой задачник образца 2000х годов. Там почти все решения
    задач на Pascal.
    Ответ написан
    Комментировать
  • Как в Python перевести string в bytes, не меняя string?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для хранения байтов в базах данных обычно из заворачивают в строки в кодировках BinHex, Base64.
    Ответ написан
    Комментировать
  • Какой порядок использования криптографических методов и средств для обеспечения секретности, подлинности, цел-ти и неотказуемости от авторства?

    mayton2019
    @mayton2019
    Bigdata Engineer
    для обеспечения секретности, подлинности, цел-ти и неотказуемости от авторства


    1. Секретность обеспечивается симметричным шифрованием (AES, Blowfish, Twofish, GOST-28147-*)
    2. Подлинности, цел-ти и неотказуемости от авторства - тут варианты. Может быть HMAC или Digital Signature. Разница - в тонких нюансах. Может быть неотказуемость - это не свойство "шмяка". Зато шмяк работает быстро и им удобно подписывать мессенджинговые системы и REST. Accимметричка (цифровые сигнатуры) - более дорогая в ресурсах. DS бывают классические - RSA (Ривеста-Шамира-Адельмана) и новые эллиптические (EDSA). У них - сотни версий с разной длиной ключей и прочее. Для правильной работы ЭЦП и сертификатов к сожалению нужен некий довериельный орган который будет централизовано подписывать и раздавать сертификаты.

    Очень часто все средства работают в одном приложении (твой браузер в данный момент использует и проверку подлинности сертификата сайта и траф шифруется симметрично).

    UPD: поправил опечатку. Ассиметричка.
    Ответ написан
    Комментировать
  • Можете опознать хэш функцию?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Похоже на это?

    scala> java.util.UUID.randomUUID().toString().replace("-","")
    val res2: String = 2cf05b81a5694a32ae39c6d3c8d01089
    
    scala> java.util.UUID.randomUUID().toString().replace("-","")
    val res3: String = 0181ca262a2e40e8928c74d234ef71ae
    
    scala> java.util.UUID.randomUUID().toString().replace("-","")
    val res4: String = 90eb83a8216748c5bf6d475d09be41d1
    
    scala> java.util.UUID.randomUUID().toString().replace("-","")
    val res5: String = 94eab5fd1f174f08998bd9e4a12aee9a
    Ответ написан
    1 комментарий
  • Как системы поддерживают сохранность данных в blockchain?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для контроля целостности всего блокчейна используется другая структура данных - Дерево Меркла. Она обычно хранится рядом с блоками и закрепляет контрольные суммы для всех блоков сразу. На вершине дерева стоит главная контрольная сумма которая закрепляет всю известную историю блоков. Поэтому проверить расхождение двух хранилищ очень просто. Достаточно обратиться к дереву. Так-же просто понять где чейн оборвался и очень просто понять как его восстановить и продолжить дальше реплицировать.
    Ответ написан
    Комментировать
  • Почему bcrypt ложно срабатывает?

    mayton2019
    @mayton2019
    Bigdata Engineer
    А какие типы аргументов принимает эта функция?
    bcrypt.compareSync(...)
    Там наверное строки надо толкать. Вообще распечатай на экране чему у тебя равно token1, token2Hashed
    Ответ написан
    5 комментариев
  • Шифрование для защиты от MITM?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Но если, допустим, два человека ведут беседу в текстовом чате, а во время обмена публичными ключами, "по середине" незаметно вторгнется еще один человек (MITM - Man In The Middle)

    Давай в этой схеме я выброшу двух людей. И заменю их на браузер и сайт. Там на самом деле и просиходит такой-же чат. Браузер спрашивает и сайт отвечает. Так вот. Эта схема защищена цифровыми сертификатами. И центром сертификации. Тоесть еще до того как вы начали хоть какой-то обмен работают протоколы установки соединения по TLS/SSL когда браузер может удостоверится что центр сертификации одобрил одного из людей и подтвердил его личность. Это Боб проверяет что Алиса - это действительно Алиса. И также получает ее public key который вобщем-то публичен и тоже является частью сертификата.

    Вот придумай где подпихнуть твоего человека-Кларка посередине.

    Я слышал про "квантовое шифрование", но это уже следующий век.

    Квантового шифрования не существует. Есть алгоритм быстрог разложения длинного числа на множители который является частью протоколов RSA. Но все успехи в науч-попе пока ограничены тем что создали комп очень малой разрядности который и близко не подошел к нужным границам и комп сам представляет собой физ-лабораторию с криогеном и защитой от всеговсего. И нет даже надежды что такой комп вставят в телефон или десктоп. Физика - здесь наука злая и циничная. Более того даже если будут успехи в этой области у КК - то у нас в запасном кармане есть эллиптическая криптография EDSA на которую пока еще ничего не придумано. Поэтому насчет КК и криптографии нам можно вообще не беспокоиться. И нашим детям тоже. И внукам.

    Кстати я вижу что qna.habr для меня использует алгоритм EDSA + SHA256
    Ответ написан
  • Как будет взломан алгоритм с генерацией бесконечного ключа шифрования?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно криптоаналитик знает что ищет.

    А что будет если я, (Боб к примеру) прикольнулся и вместо отмысленного сообщения посылаю белый шум? Не известно сколько таких шумных сообщений я посылаю. Алиса предупреждена об этом методе и просто игнорирует первые N сообщений.

    P.S. Число Pi в данном случае не удовлетворяет Керхгофсу. Не параметризируется и его сложно менять на что-то новое в случае компрометации.
    Ответ написан
  • Как в блокчейне постоянно проверяется корректность транзакций?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Невозможная ситуация. Дерево Меркла хранит цепочку хешей от корня до листьев и чтобы что-то изменить безследно - надо менять все дерево до корня.
    Ответ написан
    Комментировать
  • Какой есть алгоритм шифрования с 2 ключами?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно брать любой симметричный алгоритм и разделив его ключ на 2 половинки передать его лицам принимающим решение. Получается что-то вроде схемы Шамира. Нужен кворум людей чтобы сделать какое-то важное дествие.

    Если я верно понял вопрос.
    Ответ написан
  • Какие алгоритмы помехоустойчивого кодирования можно использовать для передачи зашифрованных сообщений?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно начинают с кодов Хемминга. Они - простые и исправляют 1 бит на блок.

    Вообще, в стеке шифрования, коды восстановления не подмешиваются к шифроблокам, а скорее оборачивают как конверт.
    Ответ написан
    Комментировать
  • Что посоветуете для криптования раздела где установлен Windows?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нужно понять от кого автор защищается. От лоха - да это прокатит.

    1) Если диск будут смотреть специалисты - они увидят подозрительную разность в физическом объёме диске и доступное место на фейковом диске.

    2) Я пока себе не представляю алгоритм. Симметричная криптография нигде не хранит ключ. Поэтому реализовать этот выбор фейковая-нефейковая мне пока не представляется никак возможным. Просто в случае кривого пароля у вас не поднимется никакая ОС.

    А хранения пароля для проверки - противоречит тому о чем я писал выше.
    Ответ написан
    3 комментария