Ответы пользователя по тегу Алгоритмы
  • Где я мог увидеть задачу про то как объект идёт по шагам вперёд и впереди строится стена?

    Ocelot
    @Ocelot
    Задача про ангела и дьявола? https://en.wikipedia.org/wiki/Angel_problem
    Ответ написан
    Комментировать
  • Какой отрезок содержит в себе больше целочисленных значений?

    Ocelot
    @Ocelot
    Во втором ответе первое число будет не 10, а 12. Аналогично в третьем — не 20, а 22. Тогда правильный ответ будет четвёртый
    Ответ написан
    Комментировать
  • Как сделать плавный переход высот в шуме перлина?

    Ocelot
    @Ocelot
    Если дизеринг не подходит, а нужна именно чёткая граница, но не хочется, чтобы она проходила по прямой. Сгенерируй ещё одну случайную карту высот, с меньшим диапазоном, и пусть она задаёт пороговую высоту для каждой отдельной точки. Например, если горы от 0 до 128, а снег нужен выше 100, пусть карта порогов будет в диапазоне 90..110 — получится снеговая линия, плавно гуляющая по высоте на +-10.
    Ответ написан
    Комментировать
  • Как отсортировать точки против часовой стрелки в трёхмерном пространстве по правилу правой руки имея их координаты и нормаль?

    Ocelot
    @Ocelot
    Берём два вектора: 1->2 и 1->3, считаем их векторное произведение. Если его направление совпадает с направлением нормали треугольника, значит точки идут в правильном порядке. Если нет, меняем точки 2 и 3 местами.
    Ответ написан
    Комментировать
  • Как работает запись фото/видео до нажатия на кнопку (Live Photo, etc.)?

    Ocelot
    @Ocelot
    Видео пишется в циклический буфер, новые кадры перезаписываются поверх старых. В момент нажатия на кнопку то, что было в буфере, сохраняется в файл. Это и будут те 1,5-30 сек видео до нажатия.
    Ответ написан
    Комментировать
  • Автосигнализация не вскрываемая кодграббером?

    Ocelot
    @Ocelot
    Многие системы инициируют сессию не по нажатию кнопки на брелоке, а по его появлению в «зоне видимости» базы. Такие вскрываются путем ретрансляции сигнала.
    Ответ написан
    Комментировать
  • Автосигнализация не вскрываемая кодграббером?

    Ocelot
    @Ocelot
    1. Алгоритм требует двустороннего обмена данными. В простых сигналках (которые вскрываются граббером) поток данных однонаправленный: в брелоке передатчик, в базовом блоке — приемник.

    1.1 Если уж у нас есть двусторонний канал, что мешает применять нормальные криптографические протоколы аутентификации? Логика подсказывет, что в современных сигналках так и делается. Конкретные модели не назову, самому интересно. Производители почему-то тщательно скрывают информацию о своих протоколах.

    2. Запрашивать пароли нужно не по порядку, а рандомно (но следя, чтобы не было повторов). Иначе возможна следующая атака:
    — Жертва снимает машину с сигнализации. Брелок начинает сессию. Сигналка запрашивает пароль номер 100500. Брелок говорит пароль и команду. Запоминаем номер.
    — Жертва садится в машину и едет, следуем за ней.
    — Жертва ставит машину на сигнализацию. Брелок начинает сессию. Ставим помеху, база ничего не слышит.
    — Притворяемся базой и запрашиваем пароль номер 100501. Брелок говорит пароль и команду. Записываем.
    — Жертва видит, что ничего не произошло, и снова нажимает на кнопку. Брелок начинает сессию. Опять ставим помеху, база вновь ничего не слышит.
    — Притворяемся базой и запрашиваем пароль номер 100502. Брелок говорит пароль и команду. Записываем.
    — Притворяемся брелоком и начинаем сессию. База запрашивает пароль номер 100501. Говорим пароль и команду.
    — Машина становится на сигнализацию, жертва уходит.
    — Притворяемся брелоком и начинаем сессию. База запрашивает пароль номер 100502. Говорим пароль и команду. Машина наша.

    3. Брелок будет плохо защищен от копирования. Одно дело — хранить 128 бит ключа в защищенной памяти внутри криптопроцессора, а другое — сотни кБ-мегабайты одноразовых ключей. Потребуется внешняя флешка, которую можно легко прочитать.

    4. Что делать, когда ключи все-таки закончатся? Перепрошивать сигналку? Генерировать новые? А как их потом в брелок заливать? Нужно тщательно продумать этот момент.

    5. Как будет выглядеть процедура добавления в систему нового брелока?

    В целом идея хорошая и при грамотной реализации будет надежно работать. Но дьявол, как всегда, в деталях :)
    Ответ написан
    4 комментария
  • Помогите опознать алгоритм ГПСЧ

    Ocelot
    @Ocelot
    Магические константы 0x0011 и 0x0005 действительно встречаются в генераторе Фибоначчи, но на этом сходство заканчивается. Во-первых, схема Фибоначчи не использует сдвиги, только сложение/вычитание. Во-вторых, там константы 0x0011 и 0x0005 задают не сами числа, а индексы в массиве предыдущих сгенерированных значений. Думаю, это самопал какой-то.
    Ответ написан