ningaz17

пикабушник
поставил 715 плюсов и 63 минуса
проголосовал за 0 редактирований
3004 рейтинг 60 комментариев 13 постов 2 в "горячем"
-15

Патриарх Кирилл о безналичном расчете

Патриарх Кирилл в интервью телеканалу Россия предупредил об опасности «тотального ограничения человеческой свободы» с связи с полным отказом от наличных денег.


ВСУ Украины. «Разве мы не герои?». Телеканал NBC о подвиге ЛГБТ в «войне с Россией»

По словам предстоятеля РПЦ, переход на безналичный расчет обеспечивает прозрачность расчетов и контроль, однако не нужно исключать возможности, что доступ к счетам в «какой-то момент исторического развития» может открываться в обмен на лояльность.


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


«А, если доступ к финансам будет ограничен вот такого рода условиями? Вот об этих опасностях сегодня церковь говорит во весь голос», - заявил глава РПЦ.


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


Источник: http://www.aif.ru/society/religion/patriarh_predupredil_ob_o...

4

Несколько слов об острове Кос

Доброго времени суток, друзья!


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


Природа и достопримечательности


По дороге к отелю гид употребил фразу “сад Эгейского моря”. На словах все хорошо, только вот реальный вид острова и хваленые отзывы — вещи кардинально разные. По пути мы увидели много сельскохозяйственных угодий, небольших ферм и частных домов. Мне все это напомнило не более, чем южную часть нашей необъятной: виды, запахи, растительность.


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

Несколько слов об острове Кос Греция, Туризм, Длиннопост, Отдых
Несколько слов об острове Кос Греция, Туризм, Длиннопост, Отдых

Хваленая гостеприимность

Несколько слов об острове Кос Греция, Туризм, Длиннопост, Отдых

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


Был даже казус в первый день. Мы пришли на муниципальный пляж. Уже расстилаем полотенца, к нам подходит женщина, указывает на бар через дорогу и на ломаном английском объясняет: “Тут находятся посетители бара. Закажите что-нибудь, а мы Вам даже шезлонг дадим. Либо идите дальше”. А дальше камни. И вроде бы не обман, но навязчивость сервиса оставила неприятный отпечаток. Уже на следующий день был найден более-менее нормальный пляж.


Однако, хочу отметить работу кафе и ресторанов. Порции большие, еда вкусная. Пока ждешь свое блюдо, приносят снэки. А после основных блюд приносят фрукты. Хотя фрукты приносили и на Кипре. Но это было приятно.

Пляж


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


Вода мало чем отличается от других мест. Маску для ныряния брать смысла нет — дно почти пустое. Также хочу отметить, что в некоторые дни активно курсируют корабли между Косом и Турцией, из-за чего поднимаются волны. Детям это нравится, а взрослым нет.


Отмечу, что пляжи не убираются. Только в тех местах, которые являются закрытыми.

Несколько слов об острове Кос Греция, Туризм, Длиннопост, Отдых
Несколько слов об острове Кос Греция, Туризм, Длиннопост, Отдых

Трафик


Движение на острове ужасное. По приезду нам сказали, что пешеходов уважают, пропускают и т.д. Это не совсем правда. Более ужасную ситуацию на дорогах видел разве что в Тунисе. Пешеходные зоны на Косе не приспособлены для перемещения. Есть проезжая часть и велосипедные дорожки. По проезжей части несутся, как сумасшедшие. А с велосипедных дорожек обязательно сгонят велосипедисты.

Несколько слов об острове Кос Греция, Туризм, Длиннопост, Отдых

Магазины


В большинстве своем на острове распространены минимаркеты, которые местные называют “супермаркетами”. Причем каждый магазин рассчитан на свой товар: в одном рыба, в другом мясо и т.д. Проблема только в ценах. Они высокие даже для Европы, если сравнивать с Кипром и Финляндией.


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


На второй день удалось найти хороший магазин, где закупаются местные. Магазин а-ля “четверочка”.

Несколько слов об острове Кос Греция, Туризм, Длиннопост, Отдых

Не относящееся к Косу


По новым правилам, горячее питание в чартерах предусмотрено только при полетах от 4 часов. У нас был полет 3 часа 50 минут. Нам дали по бутеру сандвичу. Имейте это ввиду.


Я только в этом году узнал, что в самолет можно проносить фрукты, орехи (булки, печенье и т.д.) и воду в маленьких емкостях (объем зависит от страны).



Всем приятного отдыха! Выбирайте направления заранее, изучайте материалы и не верьте никому читайте отзывы!


Вместо заключения, пара цитат от гида:

1) "думайте сейчас насчет экскурсий, я не собираюсь в эту дыру сюда приезжать второй раз"

2) "ну что вы как маленькие, спросите у местных, говорить же можете" (вопрос о магазинах, куда выносить мусор и т.п.)

Показать полностью 6
9

JPEG2000 на пальцах. Часть 3. Схема сжатия и итоги

Доброго времени суток, друзья!


Представляю Вам третью и последнюю часть статей по JPEG2000.

Предыдущие части:

1) Вейвлеты

2) Арифметический кодер


После разбора вейвлетов и арифметического кодера можно посмотреть на схему кодирования и оценить достоинства и недостатки данного формата. Схема кодирования:

JPEG2000 на пальцах. Часть 3. Схема сжатия и итоги Jpeg, Jpeg2000, Сжатие, Длиннопост

Сначала во входном изображении выравнивается динамический диапазон, что увеличивает степень сжатия. А затем производится преобразование из цветового пространства RGB в YCbCr (подробнее об этом в статье). Эти операции называются “препроцессингом”.


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

Как было описано в статье про вейвлеты, после ДВП у нас имеется два набора данных, т.е. на выходе объем информации увеличивается в два раза. Поэтому после каждого раунда изображение уменьшается в 2 раза. Раунд — это проход отдельно по столбцам и строкам. После каждого раунда мы имеем 4 части:

1) LL – низкие частоты по строкам и столбцам

2) HL – высокие частоты по строкам и низкие по столбцам

3) LH – низкие частоты по строкам и высокие по столбцам

4) HH – высокие частоты по строкам и столбцам


В следующем раунде будет обрабатываться только область LL (уменьшенная в 2 раза) из предыдущего раунда, так как является наиболее значимой. Об этом подробнее написано в статье про вейвлеты. Раундов может быть до 32-х. Тем не менее, чаще всего их не проводят более 8-ми раз, т.к. вейвлетное преобразование является вычислительно сложным.


Это проиллюстрировано на рисунке ниже:

JPEG2000 на пальцах. Часть 3. Схема сжатия и итоги Jpeg, Jpeg2000, Сжатие, Длиннопост

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


После квантования все данные разбиваются на блоки и сжимаются арифметическим кодером. Процесс сжатия описан в части про арифметическое сжатие. Единственное, что нужно знать – арифметический кодер эффективнее кодов Хаффмана.

JPEG2000 на пальцах. Часть 3. Схема сжатия и итоги Jpeg, Jpeg2000, Сжатие, Длиннопост

Теперь подведем итоги, действительно ли данный формат лучше, чем JPEG, почему он не “выстрелил” и т.д.


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


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


Поддержка кодирования тайлов (блоков) разных размеров — это действительно хорошо, если блок одноцветный. Но разбиение на блоки перед сжатием все портит.


Ну и напоследок, скорость кодирования/декодирования в сравнении с JPEG куда ниже, т.к. косинус-преобразование менее затратно, чем вейвлет. Это и было основной причиной непопулярности этого формата.


Не смотря на эти недостатки, JPEG2000 сжимает одни и те же изображения эффективнее, чем JPEG. В среднем, выигрыш 15-20%.



На этом с темой JPEG2000 можно закончить. Надеюсь, что это было познавательно. До скорого!

Показать полностью 2
17

Таксист брызнул перцовым газом в трехлетнего ребенка в Петербурге

В Санкт-Петербурге водитель такси решил отомстить женщине за то, что та отменила вызов машины. Разозлившийся таксист брызнул в лицо ребенка из перцового баллончика.


По информации телеканала «Санкт-Петербург», о случившемся стало известно из уст самой матери, чей ребенок подвергнулся насилию со стороны водителя. Она рассказала, что воспользовалась онлайн-сервисом по вызову такси. Когда автомобиль подъехал, то мужчина сказал, что не повезет ребенка без детского кресла, которое отсутствовало в салоне. Женщина была вынуждена отменить заказ, после чего водитель пришел в ярость и начал ругаться. Затем он достал баллончик с перцем, прыснул в сторону неудавшихся клиентов и скрылся....

Источник: https://inforeactor.ru/region/spb/90961-v-peterburge-razyare...

8

JPEG2000 на пальцах. Часть 2. Арифметическое кодирование

Доброй ночи, пикабушники!


Продолжаю серию статей про JPEG2000

Прошлый пост был про вейвлеты: http://pikabu.ru/story/jpeg2000_na_paltsakh_chast_1_veyvlety...


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


Теперь немного о том, как это работает.

Есть строка: Пикабу—лучший_ресурс

(Пробел заменен на подчеркивание)


Подсчитаем количество букв и выделим частотные интервалы для них на промежутке [0;1].

JPEG2000 на пальцах. Часть 2. Арифметическое кодирование Сжатие, Шакалы, Артефакт, Jpeg, Jpeg2000, Длиннопост, Привет читающим тэги

Пояснение: первая строка — буква, вторая — частота символа, третья — вероятность возникновения (частота / количество символов в строке), четвертая — граница интервала справа.


Попробуем закодировать слово “ПИКАБУ”. Возьмем первый символ “П” и принимаем его границы [0;0.05) за начало отсчета. Для кодирования следующего символа “И” нужно пересчитать границы по формулам:

JPEG2000 на пальцах. Часть 2. Арифметическое кодирование Сжатие, Шакалы, Артефакт, Jpeg, Jpeg2000, Длиннопост, Привет читающим тэги

Для слова “ПИКАБУ” получаем следующие результаты:

JPEG2000 на пальцах. Часть 2. Арифметическое кодирование Сжатие, Шакалы, Артефакт, Jpeg, Jpeg2000, Длиннопост, Привет читающим тэги

Теперь попробуем декодировать этот результат. Для этого будем использовать левую границу последнего символа — 0.0033033125. Обращаемся к исходной таблице и видим, что это число лежит в диапазоне [0;0.05), а значит это “П”.


Теперь попробуем получить следующий символ. Мы уже знаем, что первый символ — “П”, а значит знаем и его границы. Если подставить известные данные в формулу ниже, то будет известен новый интервал:

JPEG2000 на пальцах. Часть 2. Арифметическое кодирование Сжатие, Шакалы, Артефакт, Jpeg, Jpeg2000, Длиннопост, Привет читающим тэги

Новый интервал 0.06606625 лежит в пределах [0.05;0.15), что соответствует символу “И”. В таблице ниже результат для всего слова.

JPEG2000 на пальцах. Часть 2. Арифметическое кодирование Сжатие, Шакалы, Артефакт, Jpeg, Jpeg2000, Длиннопост, Привет читающим тэги

Теперь Вы владеете основами арифметического кодирования :)


За кадром, как всегда, осталась масса различных математических нюансов. Надеюсь, что Вам было интересно и Вы узнали что-то новое.

Показать полностью 3
15

JPEG2000 на пальцах. Часть 1. Вейвлеты

Добрый день, пикабушники! По просьбе @SimplyFree, делаю серию постов про JPEG2000.

Для начала, поговорим об основных преимуществах этого формата сжатия

изображений в сравнении с JPEG:


1. Большая степень сжатия при том же качестве

2. Поддержка кодирования отдельных областей с лучшим качеством

3. Основной алгоритм сжатия заменен на вейвлет

4. Для повышения степени сжатия в алгоритме используется арифметическое сжатие

5. На уровне формата поддерживается прозрачность

JPEG2000 на пальцах. Часть 1. Вейвлеты Сжатие, Шакалы, Артефакт, Jpeg, Jpeg2000, Длиннопост

Описание начну с отдельных частей алгоритма, а потом уже приведу схему.

В данном посте будет рассказано о вейвлетах. Вейвлет — это

преобразование, которое позволяет разделить сигнал на высокие и низкие

частоты.


“Стоп. Что еще за сигнал?“ — возможно, спросите Вы.


Изображение, как и звук, является сигналом. Вообще, любая

информация может быть представлена сигналами, но об этом как-нибудь в

другой раз.


Алгоритмы сжатия любят длинные последовательности одинаковых чисел.

Почему? Их легко можно представить в виде последовательности нулей,

которые можно эффективно сжать.


Пример: 155, 155, 155, 155, 155, 155, 155, 155

При использовании дельта-кодирования: 154, 0, 0, 0, 0, 0, 0, 0

(дельта-кодирование — разность между соседними элементами)


Но в реальных изображениях (фотореалистичных) соседние пиксели

отличаются на небольшие значения, которые человеческий глаз уловить не в

силах, а вот эффективность алгоритма они снижают.


Пример: 154, 155, 156, 157, 157, 157, 158, 156

При использовании дельта-кодирования: 154, 1, 1, 1, 0, 0, 1, -2


Напрашивается вопрос, а почему бы не сгладить эти неровности? Для начала, разобьем все числа на пары:

(154, 155), (156, 157), (157, 157), (158, 156)


И вычислим полусуммы и полуразности:

(154.5, 0.5), (156.5, 0.5), (157, 0.0), (157, -1.0)


Из них с помощью простых операций можно вычислить оба значения в паре.

Как можно увидеть, второе число в новой паре маленькое, а значит, его можно сжать эффективнее.


Описанный метод называется преобразованием Хаара. Это преобразование как раз и разделяет сигнал на низкочастотную и высокочастотную части.


Эффективности сжатия при использовании вейвлетов добиваются при небольших потерях на высокочастотных составляющих (квантование), т.к. их человеческий глаз не способен определить.


Такой трюк с разделением на высокие и низкие частоты может повторяться много раз. В JPEG2000 он может проделываться до 32 раз.


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


Конечно, в этой статье не были рассмотрены многие математические детали. Но нельзя объять необъятное. Да и многое сложно объяснить не повышая градус матана. Надеюсь, что и написанное оказалось кому-то полезным.


Спасибо за внимание!

Показать полностью
17

Как работает JPEG

В наше время трудно найти человека, который не знает про JPEG, но многие ли понимают, как он сжимает?

Как работает JPEG Jpeg, Сжатие, Шакалы, Длиннопост

Начнем с основ, пока не будем переходить к схеме кодера JPEG. Наш глаз воспринимает оттенки трех цветов: красного (R), зеленого (G), синего (B). Отсюда и пошло название цветовой модели RGB. По этому же принципу работают дисплеи — каждый пиксель включает в себя три светодиода. Иногда четыре и больше, но это не важно.


В эру черно-белого телевидения была придумана другая цветовая модель — YCbCr. В ней Y — это черно-белая составляющая изображения (яркость), а Cb и Cr — цветоразностные. Из YCbCr можно легко получить RGB практически без потерь в качестве. Справедливо и обратное. Формулы приводить не буду, оставлю ссылку в конце.


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

Как работает JPEG Jpeg, Сжатие, Шакалы, Длиннопост

Итак, экономия места в JPEG начинается на этапе представления изображения. Вместо привычного RGB в нем используется YCbCr. Изображение разбивается на блоки 8х8 пикселей. Каждый блок подвергается Дискретному Косинусному Преобразованию (ДКП), которое переводит блок из пространственного в спектральный вид.

Визуальное представление есть в этом посте: http://pikabu.ru/story/naglyadnoe_obyasnenie_preobrazovaniya...


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


Почему эти нули так важны? Все просто. Отквантованные спектральные коэффициенты сжимают сериями.

Например серия: 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 19

Будет иметь вид: 4, 6, 8, 19

(первое число количество нулей, второе прерывающее серию)

Намного меньше чисел, неправда ли?


После сжатия серий результат подается на кодер Хаффмана, который делает сжатие еще более эффективным. Далее весь процесс повторяется для каждого блока изображения.

Как работает JPEG Jpeg, Сжатие, Шакалы, Длиннопост

Многих наверное интересует момент, а что же так "жмет" изображения?

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

Сразу хочу сказать, я опустил подробности зигзагообразного обхода, ограничения длины серий и другие подробности для упрощения повествования.


Надеюсь, Вам было интересно!


Баянометр ругался на картинки.


Ссылки на материалы:

1) JPEG: http://rain.ifmo.ru/cat/view.php/theory/data-compression/jpe...

2) Квантование: https://traditio.wiki/Квантование_(обработка_сигналов)

3) YCbCr: https://ru.wikipedia.org/wiki/YCbCr

Показать полностью 1
8

End-to-End шифрование в месседжере WhatsApp. Шифрование медиа и звонков.

Доброго дня, пикабушники!

В продолжении темы со сквозным шифрованием WhatsApp: http://pikabu.ru/story/endtoend_shifrovanie_v_messedzhere_wh...


В прошлый раз я остановился на шифровании прикрепляемых файлов.


Медиа и другие прикрепляемые файлы шифруются алгоритмом AES256 в режиме сцепления блоков (Cipher block chaining mode). Особенностью данного режима является то, что шифрование следующего блока зависит от предыдущего результата шифрования (иллюстрация ниже).

End-to-End шифрование в месседжере WhatsApp. Шифрование медиа и звонков. Whatsapp, Мессенджер, Шифрование, Длиннопост

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


Групповые сообщения


Эта часть является наиболее интересной, как мне кажется. Типовые мессенджеры для групповых общений без шифрования передают одно и то же сообщение N - 1 раз (N — количество участников). Это решение является простым и лаконичным. Многие мессенджеры с шифрованием для группы шифруют сообщение для каждого из участников, что повышает нагрузку на Ваше устройство (100 участников — 99 раз шифруем).


В WhatsApp решили применять схему с отправкой одного сообщения всем участникам группы. Сначала участники договариваются об одном общем ключе. Точнее его им выдает создатель группы. Secret получается методом, схожим с тем, который описан в секции “создание защищенной сессии” в предыдущем посте. Только с тем нюансом, что secret получается только из данных создателя группы. Затем создатель шифрует secret для каждого участника его открытыми ключами, полученными с сервера. После этих шагов все участники имеют идентичные ключи и могут общаться в группе.


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


Голосовые звонки


Для передачи голосовых звонков используется стандарт sRTP, который применяется для потоковой передачи медиаданных. Сам стандарт внутри себя содержит шифрование SIP/TLS. Метод шифрования очень схож с тем, что применяется в HTTPS.


Проверка ключей


Последней интересной особенностью WhatsApp является возможность проверки открытых ключей, которые были получены с сервера. Это можно сделать либо с помощью сканирования QR-кода с экрана проверяемого устройства, либо вводом 60-значного ключа.

End-to-End шифрование в месседжере WhatsApp. Шифрование медиа и звонков. Whatsapp, Мессенджер, Шифрование, Длиннопост

Такая проверка позволяет убедиться, что открытые ключи проверяемого абонента на Вашем устройстве подлинные, что исключает атаку “человек посередине”.


На этом тему с WhatsApp можно закрыть. Спасибо за Ваши отзывы!


sRTP: https://www.rfc-editor.org/rfc/rfc3711.txt

WhatsApp Encryption Overview: https://www.whatsapp.com/security/WhatsApp-Security-Whitepap...

Показать полностью 1
16

End-to-End шифрование в месседжере WhatsApp

Здравствуйте, друзья! После предыдущего поста на меня подписалось аж 55 человек, за что Вам большое спасибо! Также хочу выразить благодарность людям, которые указывали на недочеты — это помогает делать материал лучше.


Некоторые читатели предыдущего поста задавали вопросы про End-to-End шифрование (оно же сквозное) и просили рассказать о нем подробнее. Чтобы не было разночтений, буду писать на примере сквозного шифрования в месседжере WhatsApp.


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


Для начала немножко теории. Почти все современные средства шифрования используют криптографию с открытым ключом (асимметричная криптография). Ключ представляет из себя пару чисел, которые называют открытым и закрытым ключами. Между этими ключами есть зависимость: один ключ шифрует — другой дешифрует. Существуют различные варианты использования этих ключей в зависимости от алгоритма.


Современная асимметричная криптография использует эллиптические кривые ввиду того, что при меньшей длине ключа она гарантирует большую стойкость взломам. А некоторые реализации “эллиптических” алгоритмов работают намного быстрее “классических”. Одним из таких алгоритмов является Curve25519, который используется в криптографическом протоколе Signal, используемом в WhatsApp.

End-to-End шифрование в месседжере WhatsApp Шифрование, Мессенджер, Whatsapp, Длиннопост

В приложении используются три основных типа ключей:

1. Ключ идентификации (Identity key pair) — генерируется при установке приложения. Как правило, меняется только принудительно или при переустановке приложения.

2. Ключ подписи (Signed key pair) — генерируется при помощи идентифицирующего ключа и периодически изменяется.

3. Набор одноразовых ключей (One-time pre keys) — набор ключей, которые используются для различных нужд, пополняются постоянно.


Из основных ключей генерируются сессионные ключи:

1. Корневой ключ (Root key) — используется для создания цепи ключей.

2. Цепь ключей (Keys Chain) — используется для создания Ключей сообщения.

3. Ключ сообщения (Message Key) — 80-байтовое значение для шифрования сообщений, из них 32 используется для AES-256, 32 для HMAC-SHA256 (подпись) и 16 для IV. Ключ для шифрования сообщений.


При регистрации клиент отправляет на сервер публичные идентифицирующий, подписывающий и одноразовые ключи. Сервер хранит эти ключи, но не имеет к ним доступа. Закрытые части ключей хранятся только на устройстве абонента.


Создание защищенной сессии


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


Алгоритм создания защищенной сессии:

A — клиент, который инициирует первое соединение

B — клиент, которому нужно доставить сообщение

1. A запрашивает открытые ключи (идентифицирующий, подписывающий и одноразовый (один)) B с сервера.

2. Сервер возвращает эти ключи. Одноразовый ключ удаляется с сервера.

Если на сервере нет одноразовых ключей, а B не может пополнить их (оффлайн), то сервер не вернет публичный одноразовый ключ.

3. A сохраняет ключи B.

4. Из своих и ключей B A получает секретное выражение (secret), которое будет использовано для получения корневого ключа и цепи ключей.

5) A передает слепок своих ключей, чтобы B смог получить идентичное выражение (secret). B удаляет одноразовый ключ, который был использован A для создания секрета.


После этих шагов оба абонента имеют одинаковый secret и генерируют идентичные ключи сессии.


Шифрование сообщений


Для шифрования используется блочный алгоритм шифрования AES-256. Предположу, что дело в более высокой скорости работы и надежности данного алгоритма, чем большинства асимметричных.


Ключ цепи и корневой ключ генерируются алгоритмом Диффи-Хеллмана на эллиптических кривых. Ключ цепи обновляется после каждого использования. Тут есть важный момент, который отмечают сами авторы криптографической системы. Так как цепочка используется для одного сообщения один раз, то сообщения должны приходить в строгой последовательности (цепочка обновляется только вперед). Пока нам не придет предыдущее сообщение, мы не сможем расшифровать следующее.


Вместо заключения


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


Если Вам интересна данная тематика, то в следующем посте могу рассказать о том, как шифруются прикрепляемые файлы, групповые сессии и голосовые вызовы.


Спасибо Вам за то, что прочитали! :)



Ссылки:

WhatsApp Encryption Overview: https://www.whatsapp.com/security/WhatsApp-Security-Whitepap...

Эллиптическая криптография: теория: https://habrahabr.ru/post/188958/

Небольшая справка о Curve25519: https://habrahabr.ru/post/247873/

Показать полностью
2828

Как работают https и vpn

Сейчас все вокруг говорят про запрет VPN (от англ. Virtual Private Network -- виртуальная частная сеть), но при этом не всегда пытаются объяснить, что это такое и зачем нужно. А самое главное, почему их работу нельзя ограничить. Привожу список наиболее популярных задач, решаемых с помощью такой сети:

1. Создание приватного тоннеля домой/в офис. На основе VPN создаются тоннели для доступа к Вашим частным ресурсам, т.к. данный протокол позволяет производить End-to-End шифрование (об этом будет ниже).

2. Создание защищенного канала в незащищенной сети. Предположим, Вы сидите в кофейне и хотите проверить почту с помощью внутренней Wi-Fi сети заведения. А Вы уверены в том, что Ваши данные никуда не уйдут? VPN позволяет создавать шифрованный канал в незащищенной сети, что практически предотвращает утечку Ваших данных.

3. Обход блокировок. Данная задача является краеугольным камнем в вопросе "быть или не быть VPN в РФ" для чиновников.


Теперь важно понять, как же работает эта приватная сеть. Ниже представлена упрощенная схема работы с VPN:

Как работают https и vpn Vpn, Https, Технологии, Интернет, Безопасность, Длиннопост

Как видно из данной схемы, изначально данные по защищенному каналу передаются на сервер приватной сети, который будет провоцировать соединение к серверу, который Вам требуется.

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


Протокол HTTPS использует криптографию с открытым ключом для шифрования и подписывания сообщений. Если говорить без математики, то такая криптография работает с двумя ключами -- один для шифрования сообщения, другой для дешифрования. Открытый ключ отправляется собеседнику, чтобы он мог шифровать сообщения для нас, приватный ключ мы никому не сообщаем. С его помощью мы дешифруем сообщения.


Сначала абонент должен удостовериться, что сервер является подлинным. Для этого существуют сертификаты безопасности. Если говорить совсем по-простому, то в сертификате указано, кто его выдал, кому и когда. А затем абонент обращается к серверу, который выдал сертификат и сверяет данные.


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

Чтобы предотвратить данную атаку, используется алгоритм обмена ключами Диффи-Хеллмана. Этот алгоритм позволяет клиенту и серверу договориться по поводу общего секретного ключа, без необходимости передачи этого ключа по каналу связи:

Как работают https и vpn Vpn, Https, Технологии, Интернет, Безопасность, Длиннопост

Пояснение к иллюстрации: Алиса и Боб (абонент и сервер) договариваются о некотором общем цвете, чтобы выработать общий секрет, который впоследствии будет использоваться в качестве ключа шифрования. Пусть это будет один из оттенков желтого, данная информация является общедоступной и может быть известна Еве (злоумышленник). Затем каждый добавляет к одной части общей краски часть секретной, которая известна только Алисе или только Бобу, в итоге получается некий промежуточный цвет, который можно отправить по открытому каналу другой стороне. Даже перехватив оба этих цвета и располагая сведениями об общем цвете Ева в разумный промежуток времени не сможет быстро восстановить исходные цвета Алисы и Боба.


Таким образом, абонент и сервер имеют общие ключи шифрования, которые известны только им -- это как раз и называется End-to-End шифрованием. При таком шифровании зашифрованная информация передается напрямую получателю. Помимо шифрования, абонент точно знает, что сервер подлинный. Сервер тоже может проверить, что абонент настоящий. Как правило, это делается в специализированных VPN (офисы, домашние сети и т.д.). Например, Вы предварительно вводите свои логин и пароль или предоставляете отпечаток/слепок (от англ. -- fingerprint) ключа, который был выдан при регистрации и т.д. Эти нюансы связаны с конкретными реализациями VPN.


В результате, Вы получаете защищенную сеть, которой можно пользоваться без опасности утечек данных. Как видно, данная система в большей степени является полезной, чем опасной. Если у Вас возникнут вопросы, буду рад на них ответить. :)


Ссылке по теме:

Введение в криптографию: https://interface31.ru/tech_it/2016/09/vvedenie-v-kriptograf...

Как работает HTTPS: https://habrahabr.ru/post/188042/

Что такое VPN: https://blog.kaspersky.ru/vpn-explained/10635/

Показать полностью 1

У «Пикабу» будет своя банковская карта, и вы можете выбрать ее уникальный дизайн

У «Пикабу» будет своя банковская карта, и вы можете выбрать ее уникальный дизайн Длиннопост

У каждого большого классного сообщества должны быть свой маскот и свой мерч. А что, если бы еще была своя дебетовая карта с уникальным дизайном? Вместе с «Тинькофф Банком» мы планируем выпустить такую карту — специально для пикабушников.


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


Почему именно «Тинькофф Банк»?

Потому что у «Тинькофф Банка» есть крутая дебетовая карта Tinkoff Black. Хороший кешбэк в рублях, процент на остаток каждый месяц, партнерские предложения и акции, удобное мобильное приложение. Если вы никогда не слышали о карте Tinkoff Black, прочитайте о ее преимуществах в этом посте, и сразу поймете, почему мы выбрали именно ее.

У «Пикабу» будет своя банковская карта, и вы можете выбрать ее уникальный дизайн Длиннопост

А кроме плюшек самой карты и уникального дизайна что-то есть?

Есть. От «Тинькофф Банка» вы получите полгода бесплатного обслуживания карты, а от нас — набор пикабушных стикеров с Печенькой (они отлично смотрятся на ноутбуках и чехлах для смартфонов).


Окей, как я могу предложить свой дизайн?

Прислать прямо нам на почту editorial@pikabu.ru. Опишите свою идею словами или нарисуйте, если вам так проще. Умеете рисовать только схематично карандашом на бумаге — сгодится! Словом, предлагайте вашу идею так, как вам удобнее. Главное, чтобы задумка была понятна. Присылая нам свою идею, вы соглашаетесь, что она будет участвовать в конкурсе. А полные правила страшным языком вот тут по ссылке.

У «Пикабу» будет своя банковская карта, и вы можете выбрать ее уникальный дизайн Длиннопост

Но как вы узнаете, по каким идеям рисовать макеты карт?

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


А карту можно предзаказать?

Да! И даже нужно. Мы ведь должны понимать, сколько людей хотят получить себе такой драгоценный артефакт, как банковская карта с Печенюхой! Чтобы приступить к выпуску карты, нам нужно собрать хотя бы 1001 предзаказ.

У «Пикабу» будет своя банковская карта, и вы можете выбрать ее уникальный дизайн Длиннопост

Но у меня уже есть карта Tinkoff Black. Я в пролете?

Нет. Вы можете дождаться, когда выйдет карта «Пикабу», и перевыпустить свою Tinkoff Black в новом дизайне. Ну или выпустить ее в качестве дополнительной карты, как хотите. В любом случае вы ничего не потеряете.


Ладно, вы меня убедили, предзаказываю. Куда нажимать?

Показать полностью 3
Отличная работа, все прочитано!