1. Решение для сайтов-анонимайзеров
    -----
    Обновлен скрипт для ограничение доступа работникам госорганов: http://roscenzura.com/threads/713/
    -----
    Наш реестр запрещенных сайтов с широким функционалом.
    -----
    Кто захламляет реестр запрещенных сайтов?
    Скрыть объявление
  2. Создаем свой генератор зеркал для обхода блокировки.
    Скрыть объявление
  3. Roscomsos - скрипт для определения госоргановских IP.
    Скрыть объявление

[Программа] Шифрование Диффи-Хеллмана на JavaScript

Тема в разделе 'Софт и технологии для обхода цензуры', создана пользователем Алексаня Тюрик, 21 июл 2016.

?

Есть ли смысл дорабатывать программу, или есть готовые решения давно?

  1. Очень интересная работа, только "ВПЕРЁД"!!!

    1 голосов
    100,0%
  2. Есть аналоги, которые давно выручают без этой программы.

    0 голосов
    0,0%
  1. Алексаня Тюрик

    Алексаня Тюрик Ч0ткий!

    Симпатии:
    16
    Репутация:
    0
    Мне удалось реализовать на JavaScript достаточно быструю генерацию закрытых сесионных ключей криптоалгоритма Диффи-Хеллмана (при 2048-битном модуле и 256-битной экспоненте на это требовалось около 10 секунд или менее - на настольном ПК с двухядерным 3 ГГц процессором).
    -
    Рабочую библиотеку функций с сопутствующими файлами я передал в общественное достояние и выложил на Гитхаб:

    https://github.com/michael-hock/skrasite

    Там в файле DHJS_rus.rtf - математические выкладки со всеми формулами, по которым я создавал вычислительный алгоритм, краткое описание функций и файлов. DHJS_eng.rtf - то же самое на английском языке.

    DH_JS_Test.htm - файл для демонстрации возможностей: он работает и за Алису, и за Боба, которые обманиваются открытыми числами и генерят одинаковые сессионные ключи.

    DH.js - самое ядро: библиотека функций, реализующих на JavaScript достаточно быстрое умножение по модулю и возведение в степень по модулю очень больших натуральных чисел.

    consts*.js - файлы с предвычисленными константами, позволяющими в несколько раз ускорить вычисление (2^a) mod P.

    const_gen.htm - генератор таких файлов с константами.

    Пока это открытая библиотека функций.

    Дальнейшее развитие проекта SkraSite мне видится в создании мессенджера, для которого не надо будет специальной программы на клиенте (как для Telegram и WhatsApp), а будет достаточно любого браузера. А серверная часть - PHP-файл, который можно "подкинуть" на любой веб-сайт на хостинге с поддержкой PHP. В отличие от JS, в ядре современного PHP уже есть встроенная математика больших чисел, на сервере с этим будет проще.

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

    Протокол Диффи-Хеллмана, в отличие от RSA, обеспечивает forward secrecy. Если на RSA кому-то удастся похитить или подобрать закрытый ключ - им можно расшифровать сессионные ключи в перехваченном трафике, а сессиоными ключами - и само содержимое сообщений. На DH такое не получится, поскольку никаких постоянных закрытых ключей нет, а сесионные не пересылаются даже в зашифрованном виде и окончательно уничтожаются по завершению сессий.

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

    Если у меня дальше не получится - надеюсь, другим программистам эта библиотека функций будет полезна.

    ИСТОЧНИК
     

Поделиться этой страницей