Перейти к публикации

HeroBrine1st

Пользователи
  • Публикации

    108
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    12

Последний раз HeroBrine1st выиграл 7 марта

Публикации HeroBrine1st были самыми популярными!

Репутация

57 Обычный

Контакты

  • Сайт
    Array

Информация

  • Пол
    Array

Посетители профиля

314 просмотра профиля
  1. HeroBrine1st

    RSA

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

    RSA

    Похоже, да. Но я провел тестирование на слишком малых числах, возможно на больших числах появляются проблемы. В любом случае. такой алгоритм должен быть на широкую публику (я имею ввиду описание), ибо.. он очень простой. Но его нет, так что похоже он на больших числах не работает, либо через алгоритм Эвклида быстрее. Нужно тестирование и бенчмаркинг. Но, кажется, это не такая уж и задача. Для меня сейчас главное - оптимизировать поиск больших простых чисел, вот это действительно увеличит скорость. А возможно, просто на больших phi он очень долго возводит. Те же 64 бита - там числа порядка 10^30
  3. HeroBrine1st

    RSA

    Разобрался с алгоритмом Евклида. Генерация ключей происходит реально быстро, и с первого раза (цикл в коде - ну не знаю, можно и убрать). Основное время занимает генерация простых чисел, что неудивительно - с увеличением диапазона их количество в нем все падает и падает. Тест ферма берет некое число a в степень p-1 (p - проверяемое число), а вычисление степени, тем более на таких огромных числах - это невероятно сложное вычисление. Даже по модулю. Поиграюсь с тестами простоты, найду самый быстрый и выпущу еще одно обновление. А дальше - только избавляться от костылей вроде subNum - я решил не ждать Zer0Galaxy и не нагружать его работой, а накостылить целые числа на основе натуральных (и не переделывать алгоритм под натуральные - я не нашел даже описания алгоритма на натуральных числах), тем более, что нужно всего 3 операции - умножение, сложение и вычитание. Обновление уже на гитхабе, можно скачивать. Охх, знали бы вы, как у меня бомбило при поиске ошибки в алгоритме Евклида. А оно просто возвращало отрицательное число, и нужно было модуль прибавить к нему.
  4. HeroBrine1st

    RSA

    Хотел сегодня провести сногсшибательное обновление с полной оптимизацией всего и вся. Не вышло. Собственно, появилась оптимизация теста ферма, при первом непрохождении числа возвращает false. Это ускоряет тест для составных чисел (не всех) в 8 раз, но оставляет точность теста нетронутой. Так же после создания ключа он проверяется шифрованием какого-нибудь простого числа (оно само выбирается). Из нереализованного, но закомментированного: расширенный алгоритм евклида :C Прошу помочь с оптимизацией и фиксом уже его (xD), ибо например 64-битный ключ мне так и не удалось на нем сделать - постоянно отбраковывает ключ (с 8ю битами с раза 2-3 делает). Хотя ускоряет создание ключа реально сильно. https://github.com/HeroBrine1st/RSA/blob/master/RSA/RSAB.lua UPD: я почти разобрался с этим алгоритмом евклида и понял, что какого-то хрена алгоритм обрезает число до семи знаков)) Вот и вся проблема UPD2: Выход за пределы натуральных чисел - вычитание большего из меньшего. Передлываю алгоритм под натуральные числа.
  5. HeroBrine1st

    RSA

    Да) Я использовал твои наработки с сети фейстеля, когда там строка в 4 символа в число преобразовывалась.
  6. HeroBrine1st

    RSA

    Еще одно большое обновление. Добавлено то, что сказал выше + работа с текстом. С hpm одна большая проблема - пекейдж просто не добавляется. Опять же, требуется помощь с оптимизацией. Подробности мелким шрифтом в шапке внизу. (вкратце - нужно оптимизировать поиск экспонент).
  7. HeroBrine1st

    RSA

    Собственно, поддержка ООП. Когда Zer0Galaxy выложит metaint на npm,я это добавлю в npm и в шапку темы (просто не хочу у себя ее выкладывать, все же большую часть работы он сделал) https://github.com/HeroBrine1st/RSA/tree/master/RSA require("RSA") - все как обычно. RSA(filepath or bitlen) - импортирует или создает класс RSA. Методы класса - save - сохраняет, sign - подписывает число, verify(num:number, cryptedNumber: number) - проверяет подпись, encrypt - шифрует, decrypt - расшифровывает. Наличие публичного ключа в файле ключа обязательно. Для обратной совместимости - require("RSA/RSAB")
  8. HeroBrine1st

    RSA

    Я пока не готов это сделать. Я переведу эту библиотеку на ООП, тогда выложу на hpm. Предложенный выше алгоритм еще имеет кучу недостатков и не готов к полноценному использованию. Но это уже огромный шаг вперед - библиотека адекватно работает с огромными ключами)
  9. HeroBrine1st

    RSA

    Пришло большое обновление. В сотрудничестве с Zer0Galaxy (не буду тегать второй раз) мы доделали библиотеку metaint и RSA. Добавлена поддержка кастомной длины ключа.
  10. HeroBrine1st

    TabletOS

    В канале Experimental появились эти QR коды. Удалите файл /TabletOS/Settings.bin и переустановите систему с каналом Experimental, затем пройдите Setup Wizard и найдите в настройках уведомление "Добро пожаловать в графическую оболочку TabletOS" (это и есть те самые инструкции для юзера). Слова перед "кликабельно" вроде как кликаются. Вроде как, потому что не знаешь, как работать с этой луа, например у меня сегодня один и тот же код в разных функциях давал разный результат)) отличие было в цвете текста. Пока это в канале Experimental, могу послушать рекомендации по изменению вида этого QR-кода, ибо я не знаю. как убрать эту черную область (черный на зеленый не сменить - считыватель не видит тогда код) Использовал костыль от ECS (unicode.find из ECSAPI), либу qr кодов с гугла и braile bicycle с этого форума, модифицировав под даблбуфер. (Спасибо всем, что почти ничего не пришлось писать самому ) + свайпы таки могут появиться, я решил просто убрать анимацию, что позволит В РАЗЫ уменьшить количество кода. Что забыл сказать при обновлении вчера. Все необновившиеся до 1.0.6 потеряют доступ к обновлениям перед обновлением 1.0.7. Связано оно с тем, что в системе обновлений есть автоматическая подчистка файлов, которых уже нет в файллисте, а я как раз в 1.0.7 удаляю /lib/TabletOSGraphics.lua и переделываю ее в папку - будет несовместимость. Переустановить систему, к сожалению, не поможет :C Надеюсь с помощью installerScript исправить это
  11. HeroBrine1st

    TabletOS

    Если юзер хочет перейти по ссылке, но ему лень списывать, он на нее нажимает и сканирует QR-код, получает ссылку и переходит по ней. Ну у меня не исчерпывает, у меня вон на сервисе_нейм подписчиков штук 40 пришло без пиара за месяцев 3. Да и кодят для удовольствия вообще-то) Я щас доделываю саму концепцию оболочки (где-то в 2019м, мб раньше), выпущу 2.0 и начну клепать прожки Ээ, это может конечно доставить несовместимостей, но попробовать стоит. Тем более, что в оболочке весь ввод от одной функции зависит. UPD: не будет несовместимостей, я же при добавлении детектора малой памяти заодно все проги на перерисовку экрана раз в 0.5сек переписал
  12. HeroBrine1st

    TabletOS

    Еще одно обновление. Удалил из TODO свайпы - слишком сложно и бесполезно. Добавил в TODO QR-коды для ссылок - очень просто (нашел либу и научился ей пользоваться) и полезно - с сервиса_нейм ко мне в соцсеть_нейм и в мессенджер_нейм будут (надеюсь) быстрее перетекать юзеры и писать багрепорты, которые я сам не обнаруживаю. Фиксы: Ассоциации файлов не работали вообще Теперь "низкий уровень свободной памяти" - 64 килобайта. При меньших значениях возникали проблемы. Всплывающие окна теперь располагаются правильно. Добавлено: Подсказки пользователю о некоторых аспектах работы с системой (решил перевести все на нормальный фреймворк вместо однотипных кусков кода по всей оболочке). Кнопка "Продолжить" у поля ввода. Кнопка удаления уведомления, а так же при клике по самому уведомлению оно откроется полностью. У файлов в "Все программы" появилось контекстное меню. Изменения: Полный рефакторинг системы обновлений. Внимание: вам придет два обновления. Одно обновление обновит оболочку, а второе - инициализирует систему обновлений.
  13. package.preload - таблица с функциями, возвращающими библиотеку. Используется самой опеносью, что бы закинуть туда библиотек в незагруженном формате и загрузить одну из них - тогда все зависимости загрузятся сами и не надо будет танцевать с бубном. Если изменить на loaded, надо еще заменить все после "=" на просто api.
  14. HeroBrine1st

    Telegram Interface

    Неплохо бы найти способ так же делать в либе
  15. HeroBrine1st

    Telegram Interface

    Обновил библиотеку. Появился longpoll и запросы к API теперь асинхронные. Однако вылетает ошибка, скорее всего из-за блокировок (тем не менее, телеграм без прокси у меня работает прекрасно). Если у вас даже с впн выпадает ошибка - напишите. + появилась поддержка веб-прокси, надо раскомментировать 7ю строку и вставить url, + переписать функцию encode (ради одной функции тащить web.lua от ECS не очень хотелось), если сайт использует другой вариант кодирования URL.
×