Рубрика «шифрование»

Привет.

Я Java-разработчик и в основном работаю с backend: Spring Boot, базы данных, интеграции, авторизация, WebSocket — всё то, что обычно находится за интерфейсом.

В какой-то момент я поймал себя на мысли: я каждый день пользуюсь мессенджерами, но плохо понимаю, как они устроены внутри. Окей, JWT, WebSocket, PostgreSQL, Redis — это понятно. Но что технически означает фраза “end-to-end encryption”? Как сервер доставляет сообщения, если он не должен их читать? Где живут ключи? Что хранится в базе? Что происходит, если у пользователя два устройства?

Решил разобраться через практику. Написал мессенджер с нуля. Назвал Chaos Messenger.

Читать полностью »

Представьте: вы — шумерский купец, III тысячелетие до нашей эры. Достаёте из кожаного мешочка цилиндрическую печать из яшмы, прокатываете её по сырой глине — и сделка закреплена. 

Теперь перемотаем на пять тысяч лет вперёд. Вы нажимаете «Подписать» в сервисе электронного документооборота Контур.Диадок, и через секунду договор обретает юридическую силу. 

Между этими двумя действиями — тысячи лет экспериментов с доверием, правом и технологиями. Рассказываем о них в статье.

Глина, воск и перстни: как подписывали документы в древнем мире

Около 3500 года до н. э.: первый документооборот в истории

Читать полностью »

Я - разработчик 1С с 10-летним стажем.
Однажды утром захотелось разработать что-то свое - не сложное, но нужное и я решил обратиться к своему искусственному другу Qwen3.5:

- Привет, дружище. 
Подскажи прибыльный и интересный проект, который можно не сложно продать (монетизировать). 
Что спрашивают пользователи 1С в основном на форумах? 
Дай топ 10 идей для разработки интересного приложения на 1С.

Немного подумав, друг выдал мне довольно развёрнутый ответ. Первой в Топ-10 идеей был именно он: Телеграм-бот «Директор в кармане».
ИИ расписал его так:

Читать полностью »

Добрый день! Сегодня расскажу, как с помощью PHP создать генератор случайных байт ( чисел ) с помощью 12 таймеров. Энтропия данного генератора составляет примерно 7.1 бит на символ ( у меня ), но на более мощном железе может подняться до 7.9-8, что по идее не отличимо от истинной случайности. Вот, как работает весь "конвеер":

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

Начнем с таймеров, их у нас 12 штук. Каждый выполняет свою функцию:

Таймер 1: Большие часыЧитать полностью »

Введение: Почему не VeraCrypt?

Всё началось с простой задачи: нужно было безопасно передавать файлы на обычных USB-флешках. Существующие решения либо создавали контейнеры (VeraCrypt), что неудобно для быстрого доступа к отдельным файлам на разных ОС, либо работали слишком сложно для конечного пользователя.

Мне нужно было решение уровня «вставил флешку -> ввел пароль -> файлы зашифрованы». Но главное требование — безопасность данных даже при сбое питания. Если выдернуть флешку посередине шифрования, данные не должны превратиться в кашу.

Так появился crypto_engineЧитать полностью »

Когда смотришь на существующие self-hosted мессенджеры, часто видишь одно из двух: либо сложную инфраструктуру, которую непросто развернуть (Matrix/Synapse), либо минимализм без шифрования. ONYX — это попытка найти середину: простой в развёртывании сервер, полноценное E2E-шифрование и режим работы в локальной сети без интернета вообще.

Архитектура проекта

Компонент

Технология

Клиент

Flutter (Android, Windows, macOS, Linux)

Сервер

Node.js — Express + express-ws + ws

База данных

MariaDB + Redis (сессии, кэш)

Читать полностью »

Как я сделал шифрование поверх MAX, когда приватность стала роскошью

Когда единственный работающий мессенджер — в «белом списке», а тебе нужно отправить что-то, что видеть должен только получатель. История о том, как я без Mac, с помощью ИИ и GitHub Actions собрал кроссплатформенное приложение для шифрования.

Предыстория: интернет работает, но не для тебя

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js