Search
Write a publication
Pull to refresh
27
0.1
Григорьев Андрей @Pochemuk

Пользователь

Send message

Побег из Крипто Про. ГОСТ 34.10-2012 edition

Reading time4 min
Views55K
На Хабре есть великолепная статья "Побег из Крипто Про. Режиссерская версия, СМЭВ-edition", но наступил 2019 год и все УЦ стали выдавать ЭЦП по ГОСТ 34.10-2012 вместо ГОСТ 34.10-2001.

Под катом рассказ как можно модифицировать свой софт на Bouncy Castle для поддержки работы с ключами по новым гостам.

image
Читать дальше →

Делимые факториалы

Reading time10 min
Views21K
Недавно я был совершенно сбит с толку этим твитом «Библиотеки Ферма»:


«Вот что получится, если в факториале не умножать, а делить.»

Когда я увидел его, мне пришлось бросить свои дела, схватить блокнот и проверить формулу. Результат в черновом виде казался логичным. Так как мультипликативная версия $n!$ при увеличении $n$ стремится к бесконечности, то «делительная» версия должна стремиться к нулю. И $\frac{n^2}{n!}$ ведёт себя именно так; полиномиальная функция $n^2$ растёт медленнее, чем степенная функция $n!$ для достаточно больших $n$:

$\frac{1}{1}, \frac{4}{2}, \frac{9}{6}, \frac{16}{24}, \frac{25}{120}, \frac{36}{720}, \frac{49}{5040}, \frac{64}{40320}, \frac{81}{362880}, \frac{100}{3628800}$


Но почему результат деления принимает именно вид $\frac{n^2}{n!}$? Откуда берётся $n^2$?
Читать дальше →

Скорость Света не инвариантна

Reading time4 min
Views24K
image

История определения скорости Света уходит к временам Галилео Галилея. До Галилея скорость Света считалась бесконечной. Галилей первый попытался со своим помощником определить скорость Света. Опыт заключался в том, что Галилей и помощник, находились с фонарями на двух холмах, расстояние между которыми было известным. Один из них открывал заслонку на фонаре, а второй должен был проделать то же самое, когда увидит свет первого фонаря. Зная расстояние и время (задержку перед тем, как помощник откроет фонарь) Галилей рассчитывал вычислить скорость света. Однако ничего не получилось.

Олаф Ремер, исследуя движение спутника Ио на орбите вокруг Юпитера, заметил задержку прихода Света от спутника при разном положении Земли на орбите. Исходя из этого он определил скорость Света равной 220000км/сек.
Читать дальше →

Дизайн геймплея, основанный на принятии решений

Reading time15 min
Views10K
image


(Эта статья изначально была опубликована в Gamasutra Online Magazine)

Чтобы развить полезное понимание системы, нужно знать, как система работает изнутри, на самом нижнем уровне. Даже полное запоминание каждого входного сигнала и реакции на него, связанной с этой системой, это ничто по сравнению с пониманием основных элементов, которые заставляют систему реагировать тем или иным образом. Нужно очень хорошо понять маленькие элементы, которые составляют эту систему, понять как они взаимодействуют, прежде чем можно будет полностью предсказать вышеупомянутую систему. Вот почему химики пытаются понять, как взаимодействуют атомы, а не просто перечисляют, что происходит, когда вы смешиваете различные химические вещества. Дизайнер видеоигр должен понимать игру на таком же уровне.
Читать дальше →

Security Week 09: 19-летняя уязвимость в WinRAR

Reading time5 min
Views16K
Объявляем неделю доисторических багов. Уязвимость в архиваторе WinRAR, обнаруженную и закрытую в конце января, подробно описали специалисты компании Check Point Software (новость, оригинальное исследование). В худшем случае брешь позволяет распаковать вредоносный файл в произвольное место на жестком диске, например в директорию автозапуска Windows.

Эта уязвимость заставляет задуматься по поводу использования труднопроверяемых сторонних библиотек в своем софте, но не только. Сегодня мы кратко расскажем о самой проблеме, о решении разработчиков WinRAR отказаться от библиотеки для распаковки архивов в формате ACE, а также поднимем тему обновления WinRAR на компьютерах пользователей. Забегая вперед: хотя новость и вызвала серьезный резонанс, это скорее история с хеппи-эндом. А вот на класс уязвимостей, связанных с обработкой любых прилетающих на ваш компьютер архивов, стоит обратить особое внимание.

Математическое решение проблем относительности

Reading time8 min
Views7.7K
В данной статье проделан анализ теоретической части опыта Майкельсона и Морли. В частности, я привожу доводы об их досадной ошибке, допущенной в теоретической части опыта. Ценность проведенной работы заключается в пересмотре результатов опыта Майкельсона и Морли с вытекающими отсюда последствиями.

I. Введение


В 1887 году совместный эксперимент двух американских физиков — Альберта Майкельсона и Эдварда Морли (далее — опыт Майкельсона и Морли) должен был доказать, что светоносный эфир в реальности существует. Результат данного опыта, так или иначе, лег в основу теории относительности Альберта Эйнштейна, которая на данный момент является основополагающей теорией в современных релятивистских научных изысканиях, хотя он в своих работах напрямую не ссылается этому опыту. Однако при изложении теории относительности, редко какой автор обходит стороной эту тему.

Необходимо признать, что не все исследователи согласны с теорией относительности А. Эйнштейна, и в основном это сторонники существования светоносного эфира. Они считают, что все-таки влияние эфира при опытах присутствовало и что релятивисты в свое время игнорировали этот факт.

В данном анализе приводится альтернативный взгляд, выявляя ошибку опыта Майкельсона и Морли, которая может способствовать пересмотру взглядов обеих сторон.
Читать дальше →

Светодиодное враньё невиданных масштабов

Reading time3 min
Views261K
В магазинах можно встретить множество мощных светодиодных ламп, например «свечки» и «шарики» 9 и 11 Вт.

Вот только свечек и шариков такой мощности сегодня существовать не может.
Читать дальше →

Архитектура хранилищ данных: традиционная и облачная

Reading time8 min
Views203K
Привет, Хабр! На тему архитектуры хранилищ данных написано немало, но так лаконично и емко как в статье, на которую я случайно натолкнулся, еще не встречал.

Предлагаю и вам познакомиться с данной статьей в моем переводе. Комментарии и дополнения только приветствуются!


(Источник картинки)
Читать дальше →

HomoLudens: С днем рождения, Сид Мейер‎ (+ все статьи на русском)

Reading time2 min
Views13K
24 февраля — день рождения легендарного разработчика игр. Ему стукнуло 65 лет.
Поздравляем!

image
«В течение всего долгого пути вы просто обречены на ошибки, и это хорошо», – говорит он. – «Нужно ошибаться и каждый раз извлекать из этого новый опыт. Нужно совершить несколько ошибок. Наверное, в этом весь секрет. У меня есть жёсткий диск, забитый прототипами, так и не прошедшими в стадию производства. Не всякая идея хороша, но вы должны учиться на своих ошибках больше, чем на успешных результатах. Так что будьте готовы к провалу, будьте готовы пробовать что-то новое и просто продолжайте делать игры. Мы падаем каждый день, но каждый раз вновь поднимаемся».
Спасибо, Сид, за счастливое детство, когда с дискеты в оперативку 286-го загружали первую циву (не было HDD) и гоняли зулусов вместо написания программ на LOGO.

Исчерпывающая биография Сида есть на Википедии. Я же подсуетился и собрал в одном месте все материалы про Сида Мейера на русском.

Моделирование метрополиса

Reading time10 min
Views11K
В основе одной из самых знаковых игр всех времён лежит теория о том, как умирают города, внезапно оказавшая слишком влиятельной.


В 1984 году разработчик Уилл Райт как раз завершил работу над своей первой видеоигрой в жанре shoot-em-up под названием Raid on Bungeling Bay. В ней игрок управляет вертолётом, сбрасывающим бомбы на вражеские цели, расположенные на цепи островов. Райт был доволен своей игрой, получившей успех у покупателей и критиков, но даже после её выпуска продолжал экспериментировать с редактором рельефа, который использовал для дизайна уровней Raid. «Оказалось, что мне было гораздо интереснее заниматься этой частью, чем играть в саму игру и бомбить цели», — рассказывал Райт Onion AV Club. Очарованный создаваемыми островами, Райт продолжал добавлять в редактор уровней новые функции, создавая такие сложные элементы, как автомобили, люди и дома. Он был восхищён идеей сделать эти острова больше похожими на города, и продолжал выдумывать способы сделать мир «живым и более динамичным».

Пытаясь разобраться в том, как функционируют реальные города, Райт нашёл книгу 1969 года Джея Форрестера под названием Urban Dynamics. Форрестер был инженером-электротехником, начавшим вторую карьеру в области компьютерных симуляций; в Urban Dynamics используется его методология симуляции, позволившая ему предложить теорию о развитии и увядании городов, вызвавшую противоречивые отзывы. Райт использовал теории Форрестера, чтобы превратить создаваемые в редакторе уровней города из статичных карт зданий и дорог в живые модели растущего метрополиса. Со временем Райт убедился, что «подопытный город» был увлекательной видеоигрой без логического конца. После выпуска в 1989 году игра стала безумно популярной, продалась миллионами копий, выиграла десятки наград, зародила целую франшизу последователей и десятки подражателей. Она называлась SimCity.
Читать дальше →

VPN без VPN или рассказ об нетрадиционном использовании SSH

Reading time10 min
Views54K
По данным ssh.com и Wikipedia, первая версия и реализация протокола SSH увидела свет в 1995 году. Задачей автора было разработать безопасную альтернативу использовавшимся тогда для удалённого администрирования rlogin, telnet и rsh. Любопытно, что появлению протокола SSH поспособствовал инцидент информационной безопасности, в результате которого злоумышленник собрал внушительную базу логинов/паролей от серверов, просто прослушивая университетскую сеть и выделяя пакеты аутентификации (пары логин/пароль в них передавались в незашифрованном виде).

Протокол быстро завоевал популярность и после длительного периода доработок и улучшений был стандартизован IETF в 2006 году. С тех пор он успел стать де-факто стандартом для удалённого управления системами с текстовой консолью. Помимо собственно текстовой консоли в протоколе предусмотрена масса других полезных функций, таких как передача файлов и переадресация портов. Именно о переадресации портов (port forwarding) и её не слишком очевидном применении пойдёт речь в этой статье.
Читать дальше →

Как я решил защищать документы от подделки и «изобрел» электронную цифровую подпись

Reading time5 min
Views11K

О чем это


На идею создать свой маленький интернет-проект по защите документов от подделки, меня натолкнула дискуссия на форуме дефектоскопистов, посвященная повальной подделке выданных ими заключений по контролю качества.

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

Актуальность задачи защиты от подделок


Дело в том, что в наш век безбумажной информации ни одно капитальное строительство, будь то газопровод или торговый центр, не обходится без подготовки полного комплекта исполнительной документации (as built), частью которой являются заключения по неразрушающему контролю (визуальному, радиографическому, ультразвуковому).
Читать дальше →

Подготовка к проверке Роскомнадзора: суровая практика для смелых

Reading time7 min
Views6.3K
image

Вот уже 13 лет в российском правовом поле действует федеральный закон «О персональных данных» № 152-ФЗ.

Казалось бы, за эти годы компаниями-операторами ПДн пройдено всё: и осознание необходимости защищать персональные данные, и принятие того, что даже только ФИО – это тоже ПДн, и неизбежность написания более двадцати организационно-распорядительных документов, и даже покорное согласие с необходимостью построения полноценной системы защиты наряду с бумажной безопасностью.

152-ФЗ не только повысил осведомлённость операторов ПДн, сами субъекты также стали понимать, что являются обладателями конфиденциальной информации, и требовать её эффективной защиты.

Однако, несмотря на ежедневный опыт работы с ПДн, самым актуальным вопросом перед проверкой всегда будет: «А что конкретно смотрит Роскомнадзор?»

Читать дальше →

Нечёткий мир шума Перлина

Reading time5 min
Views20K
image

Что такое шум Перлина?


Шум Перлина придуман в 1983 году Кеном Перлином (получившим за это достижение премию Американской Академии кинематографических искусств и наук). Видите ли, в те времена все стремились к фотореализму, но его всегда не хватало. Кен Перлин придуман этот алгоритм шума, чтобы избавиться от жалкого «компьютерного» внешнего вида 3D-моделей. Шум — это генератор случайных чисел в компьютерной графике. Это случайный неструктурированный паттерн, он полезен в тех случаях, когда требуется источник подробных деталей, недостающих в очевидной структуре1. Шум Перлина — это многомерный алгоритм, используемый в процедурной генерации, текстурах, генерации рельефа, генерации карт, генерации поверхностей, генерации вершин, и так далее, и тому подобное.

Как все начиналось: оптические диски и их история

Reading time7 min
Views37K
image

В общем доступе оптические компакт-диски появились в 1982 году, прототип увидел свет еще раньше — в 1979. Изначально компакты разрабатывали в качестве замены виниловым дискам, как более качественный и надежный носитель. Считается, что лазерные диски являются результатом совместной работы команд двух технологических корпораций — японской Sony и голландской Philips.

При этом базовая технология «холодных лазеров», которая и сделала возможной появление лазерных дисков, была разработана советскими учеными Александром Прохоровым и Николаем Басовым. За свое изобретение они были удостоены Нобелевской премии. В дальнейшем технология развивалась, и в 70-х годах Philips разработала способ записи компакт-дисков, который и положил начало CD. Сначала инженеры компании создали ALP (audio long play) в качестве альтернативы виниловым пластинкам.
Читать дальше →

Тренинг Cisco 200-125 CCNA v3.0. День 5. Подключение устройств CISCO и режимы IOS

Reading time9 min
Views16K
Сегодня мы рассмотрим подключение устройств Cisco и различные режимы IOS. Те, кто только начинают знакомиться с Cisco, наверняка впервые видят это устройство. Это маршрутизатор Cisco 1921. По каким же признакам можно узнать, что это именно роутер?



Первое, что дает вам подсказку – это выключатель питания. Запомните, что свитчи Сisco не имеют выключателя. Кроме того, свитч обязательно будет иметь несколько портов, потому что он представляет собой коммутатор с 12, 24 или большим количеством портов.

Как правило, роутер имеет 2 гигабитных порта, и, возможно, быстрый Ethernet-порт. Слева вы видите свободное пространство, прикрытое заглушками. Оно предназначено для дополнительных модулей, и в принципе, сюда можно вставить модуль свитча, но обычно роутер просто имеет пару портов для подключения свитчей и кабеля интернет.

DNS прокси на Node.JS своими руками

Reading time23 min
Views15K
Понесло пакет по кочкам в дальний лес за DNS…
Л. Каганов "Гамлет на дне"

При разработке сетевого приложения иногда возникает необходимость запустить его локально, но обращаться к нему по реальному доменному имени. Стандартное проверенное решение — прописать домен в файле hosts. Минус подхода в том, что hosts требует чёткого соответствия доменных имён, т.е. не поддерживает звёздочки. Т.е. если есть домены вида:


dom1.example.com,
dom2.example.com,
dom3.example.com,
................
domN.example.com,

то в hosts нужно прописать их все. В отдельных случаях, домен третьего уровня не известен заранее. Возникает желание (пишу за себя, кто-то, возможно, скажет, что и так нормально) обойтись строкой вида:


*.example.com

Решением проблемы может стать использование собственного DNS-сервера, который будет обрабатывать запросы в соответствии с заданной логикой. Такие сервера есть, и вполне бесплатные, и с удобным графическим интерфейсом, например CoreDNS. Так же, можно менять DNS-записи на роутере. Наконец, воспользоваться сервисом наподобие xip.io, это не совсем полноценный DNS-сервер, но для некоторых задач отлично подойдёт. Словом, готовые решения существуют, можно использовать и не заморачиваться.


Но в этой статье описан другой путь — написание собственного велосипеда, стартовая точка для создания инструмента наподобие перечисленных выше. Мы напишем свой DNS-прокси, который будет слушать входящие DNS-запросы, и если запрашиваемое доменное имя есть в списке, вернёт заданный IP, а если нет — запросит вышестоящий DNS-сервер, и переправит полученный ответ без изменений запрашивающей программе.

Читать дальше →

Точечная маршрутизация на роутере с OpenWrt. WireGuard и DNSCrypt

Level of difficultyMedium
Reading time13 min
Views167K
Данный материал не является призывом к действию и публикуется исключительно в образовательных целях.

UPD 14.10.2023
Эта статья немного устарела. Здесь можно узнать, как использовать готовые списки IP-адресов, что не совсем актуально. Актуальная статья с маршрутизацией по доменам: https://habr.com/ru/articles/767464/


UPD 16.10.2022


  • Исправлены конфиги для Openwrt 22
  • Добавлен community список
  • В скрипт добавлена проверка загрузки файлов. Которая решает проблему, если при старте устройства не удалось сразу загрузить списки
  • DNSCrypt изменён на DNSCrypt v2

UPD 15.03.2023


  • Добавлена логика для работы с доменами, используются список доменов из community
  • Изменена проверка загрузки файлов в скрипте
  • В Ansible playbook теперь можно выбрать определённые списки

UPD 20.04.2023
Если у вас роутер получает IPv6 адрес, то роутинг будет работать криво. Пока нет инструкции для IPv6, поэтому нужно будет его выключить на роутере.


Часть 2: Поиск и исправление ошибок


Чем отличается от подобных материалов?


  • Реализация на чистом OpenWrt
  • Использование WireGuard
  • Конфигурация роутера организуется с помощью конфигов OpenWrt, а не кучей в одном скрипте
  • Предусмотрены ситуации при рестарте сети и перезагрузке
  • Потребляет мало ресурсов роутера: подсети содержатся в ipset, а не в таблицах маршрутизации. Что позволяет развернуть это дело даже на слабых устройствах
  • Автоматизация конфигурации с помощью Ansible (не требуется python на роутере)
Читать дальше →

Настройка BGP для обхода блокировок, или «Как я перестал бояться и полюбил РКН»

Reading time11 min
Views144K

Ну ладно, про «полюбил» — это преувеличение. Скорее «смог сосуществовать с».


Как вы все знаете, с 16 апреля 2018 года Роскомнадзор крайне широкими мазками блокирует доступ к ресурсам в сети, добавляя в "Единый реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено" (по тексту — просто реестр) по /10 иногда. В результате граждане Российской Федерации и бизнес страдают, потеряв доступ к необходимым им совершенно легальным ресурсам.


После того, как в комментариях к одной из статей на Хабре я сказал, что готов помочь пострадавшим с настройкой схемы обхода, ко мне обратились несколько человек с просьбой о такой помощи. Когда у них всё заработало, один из них порекомендовал описать методику в статье. Поразмыслив, решил нарушить свое молчание на сайте и попробовать в кои-то веки написать что-то промежуточное между проектом и постом в Facebook, т.е. хабрапост. Результат — перед вами.

Читать дальше →

Выборочный обход блокировок на маршрутизаторах с прошивкой Padavan и Keenetic OS

Reading time23 min
Views382K
Инструкций с разными вариантами обхода блокировок Интернет-ресурсов опубликовано огромное количество. Но тема не теряет актуальности. Даже всё чаще звучат инициативы на законодательном уровне заблокировать статьи о методах обхода блокировок. И появились слухи, что Роскомнадзор получит ещё одну пачку денег налогоплательщиков на «более лучшие» блокировки. Опытные пользователи ничего нового и полезного из статьи не узнают. А вот другие получат готовые пошаговые инструкции для простого и эффективного выборочного обхода блокировок на популярных маршрутизаторах с прошивкой Padavan и Keenetic.


Читать дальше →

Information

Rating
5,354-th
Location
Коломна, Москва и Московская обл., Россия
Date of birth
Registered
Activity