Ничего не найдено :(
    В гостях у Самоделкина! » С сайтов » Спец » Устройство для обмена сообщениями со сложным алгоритмом шифрования

    Устройство для обмена сообщениями со сложным алгоритмом шифрования


    Это устройство мастер назвал "Мессенджер Судного дня". Предположим, что произошло стихийное бедствие, война и т.д.
    Линии электропередач, мобильная сеть, интернет - не работают. Возможен ли в таких условиях обмен сообщениями?

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

    После того, как пользователь настроили это устройство, оно работает автономно.

    Инструменты и материалы:
    -ESP8266 - 2 шт;
    -Клавиатура;
    -ЖК-дисплей 16x2 - 2 шт;
    -ЖК-адаптер 16x2 - 2 шт;
    -Arduino Nano / Uno;
    -Резистор 470 Ом;

    Шаг первый: алгоритм шифрования
    В устройстве используется очень сложная схема шифрования, которая состоит из четырех основных частей:
    1) Serpent
    Serpent - это сеть подстановки-перестановки с 32 этапами, работающая с четырьмя 32-битными словами. У Serpent более высокий запас безопасности, чем у Rijndael (AES).
    2) 3DES
    Стандарт шифрования данных - это алгоритм с симметричным ключом, разработанный в начале 1970-х годов. Эта схема шифрования использует тройную версию DES, называемую 3DES.
    3) S-блоки
    Rijndael S-блок Rijndael - это блок подстановки, который отображает 8-битный вход на 8-битный выход. В сочетании с другими частями схемы шифрования он увеличивает безопасность зашифрованного текста.
    4) IV
    IV Интеграция векторов инициализации защищает шифр от атаки повторного воспроизведения и в то же время не позволяет злоумышленнику узнать о содержимом перехваченных пакетов, реализовав атаку с выбранным открытым текстом. Даже если вы зашифруете одну и ту же комбинацию символов более одного раза, результат будет каждый раз отличаться из-за IV. IV5 используется для настройки IV на приемнике.

    Шаг второй: установка драйверов и настройка Arduino IDE
    Для прошивки ESP8266, необходимо настроить Arduino IDE и установить драйверы для загрузки прошивки на платы. Драйверы можно загрузить ниже.
    Драйвер CH340
    Драйвер CP210x
    Arduino IDE можно скачать здесь.
    О настройке IDE можно узнать здесь.
    Прошивку можно скачать здесь.

    Шаг третий: библиотеки
    Библиотеки можно скачать ниже.
    DES_Library
    Serpent
    Software Serial
    ESP Software Serial
    GyverBUS
    LiquidCrystal I2C

    Шаг четвертый: MAC-адрес
    Чтобы получить MAC-адрес платы, нужно загрузить код ниже на плату.
    #include <ESP8266WiFi.h>
    void setup(){
      Serial.begin(115200);
      Serial.println();
      Serial.println(WiFi.macAddress());
    }
    void loop(){}

    Затем нужно открыть монитор последовательного порта и перезагрузить плату.
    Если все сделано правильно, MAC-адрес будет виден в консоли.
    MAC-адрес этой платы 5C: CF: 7F: FD: 85: 1D.
    Устройство для обмена сообщениями со сложным алгоритмом шифрования

    Шаг пятый: алгоритм IV
    Существует множество методов для создания векторов инициализации. В данном случае мастер решил сделатьэто с помощью 20-гранного "кубика". Каждый раз, когда выпадал номер из двух цифр, он записывал последнюю цифру. В конце концов, он получил эти пять 8-значных чисел:
    74167432
    83624730
    31637439
    35095347
    39298901
    Максимальное значение IV - 99999999. Если сгенерировано число больше 99000000, лучше либо изменить первую цифру, либо сгенерировать новый код IV.

    Дальше нужно загрузить IV в оба ESP. Для этого нужно открыть скетч с названием IV и замените IV в этом скетче на свой. После этого загружаем измененный скетч в оба ESP.
    Если все сделано правильно, то скетч IV будет отображен в последовательном мониторе.

    Шаг шестой: ключи
    Можно сгенерировать ключи с помощью генератора случайных чисел или хешировать фотографию, но мастер решил сделать это с помощью игральных костей.
    Если выпадает число от 0 до 9, оно записывается.
    Если выпадает число от 10 до 15, то пишется буква соответствующая этому числу.
    10 = А;
    11 = B;
    12 = С;
    13 = D;
    14 = E;
    15 = F.
    Если выпадает 20, пишется 0.
    В конце концов, он получил следующие результаты:



    Шаг седьмой: прошивка
    Дальше открываем файлы ESP_transmitter.ino и ESP_receiver.ino Заменяем MAC-адрес приемника в скетче ESP_transmitter.ino своим MAC-адресом.
     uint8_t broadcastAddress [] = {0x5C, 0xCF, 0x7F, 0xFD, 0x85, 0x1D};

    Заменяем ключи в обоих эскизах на ранее созданные.

    Загружаем прошивку из папки \ Doomsday_Messenger-main \ ESP_transmitter на плату передатчика.

    Загружаем прошивку из папки \ Doomsday_Messenger-main \ ESP_receiver на плату приемника.

    Загружаем прошивку из папки \ Doomsday_Messenger-main \ Firmware_for_Arduino на Ардуино.

    Шаг восьмой: сборка передатчика
    Передатчик собирается согласно схемы.



    Шаг девятый: сборка приемника
    Приемник собирается согласно схемы.



    Шаг десятый: тестирование
    После сборки нужно протестировать устройство.
    Сначала включаем приемник, затем включаем передатчик.
    Должна высветиться надпись "Delivery success" на дисплее, подключенном к передатчику, и надпись "IVs adjusted!" на дисплее, подключенном к приемнику. Вводим сообщение на клавиатуре, нажимаем «Backspace», чтобы удалить последний символ, нажимаем «Enter», чтобы отправить сообщение.

    Синий дисплей (справа) подключен к передатчику, желтый дисплей (слева) подключен к приемнику.
    Из-за плохо реализованного интерфейса клавиатуры PS / 2 с ESP мастер советует, вводить не быстрее одного символа в секунду.
    Примечание: приемник принимает только IV5, который больше, чем ранее сохраненный IV5, но не больше, чем сохраненный IV5 + 50. Передатчик увеличивает IV на две единицы при каждом включении. Нельзя включать передатчик без приемника более 24 раз подряд.





    Этот проект - больше, чем просто офлайн-мессенджер. В нем так же реализуется очень сложная схема шифрования.
    Хотя расстояние между приемником и передатчиком может едва достигать 200 метров (650 ярдов), это компенсирует этот недостаток возможностью работать полностью автономно.

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

    Поскольку ключи хранятся на устройствах и никогда не пересылаются между ними, есть только два способа поставить под угрозу безопасность канала связи:
    1) Третья сторона получает одно из устройств в свое физическое владение;
    2) Сторонние пользователи получают доступ к созданным ключам и IV.

    Источник (Source)
    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.
    Подборки: ESP8266

    Умный дом - удаленное управление электроприборами

    Сканер отпечатка пальцев

    10
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    10
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    10
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 10 из 10 (голосов: 3 / История оценок)

    Добавить комментарий

    3 комментария
    Korolev
    Валерий,
    ожидающие всемирную квтвстрофу, и к ней готовящиеся! Бляха, такие реально существуют!!!!  И не от жиру бесятся!

    Ну и чё? Я вот тоже "готовлюсь"! На кладбище широкую сторону оградки сделал съёмной, чтобы людям проще было меня заносить. Вот разделаюсь с домашними делами, поеду пень спиленной берёзы корчевать, чтобы людям легче было могилку мне копать. yes  smile 


    Валерий
    Гость Степан,


    Как-то искал сроки хранения для уксуса, и набрёл на сайт, на котором общались пальнутые, ожидающие всемирную квтвстрофу, и к ней готовящиеся! Бляха, такие реально существуют!!!!  И не от жиру бесятся! Один с женой развёлся из за того, что все-все деньги вкладывал в строительство бункера! И с таким аппломбом пишет: "Ну и пошла нахер эта дура! Зато, когда настанет большой п===ц, она подохнет, и я буду с неё ржать, а не она с меня!".)))) И их таких много!!! При этом, там такой детский лепет стоит... И арбалеты они ищут, и луки. Типа, будут потом всех победять и пистчу себе стрелять! ))) А стрелы они из палок выстругают ножами, которые (судя по хвастливым фото), пятиклассникам бы понравились - выглядят, как в фильмах про Блэйда!))) 

    Але нови ностра алис!
    Гость Степан

    Думается, бесполезно это всё. Если наступит БП...такие вещи будут только продлевать страдания..даже если у твоего собеседника будет жизненно- необходимый тебе ресурс ( вода,пища, медикаменты и тд.) преодолеть эти пресловутые 650 ярдов не сможешь.

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

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние комментарии

    Все комментарии