Пользователь
Компактная реализация RSA для встраиваемых применений
C = (Me) mod n | (1) |
Расширование выглядит столь же просто:
M = (Cd) mod n | (2) |
При этом n=p*q, где p и q — простые числа (секретные), e обычно равно 65537, d вычисляется на основе e, p и q. Криптостойкость основана на том, что для достаточно больших p и q задача разложения n на множители или обращения формулы шифрования без знания p и q не решается за приемлемое время.
Но эта кажущаяся простота обманчива. За ней скрывается огромное количество деталей и сложностей реализации. Особенно если стоит цель получить эффективную по быстродействию и памяти реализацию, пригодную для применения в микроконтроллерах. Я не нашел в интернете подходящих библиотек, а попытки изучения исходников libgcrypt заводят в такие дебри, из которых не выберешься. Поэтому я написал свою компактную библиотеку, которой и делюсь с уважаемыми читателями.
Pygest #4. Релизы, статьи, интересные проекты из мира Python [14 февраля 2017 — 27 февраля 2017]
А теперь к делу!
Серия видеоуроков по Git для новичков
Однажды мой знакомый, который только начинал свой путь в ИТ кинул мне данный мемчик что слева, с вопросом "А чем плохо то?", поэтому чтобы понимать данную шутку и уметь работать с самым популярным на сегодня VCS (Version Control System) рекомендую к ознакомлению серии видеоуроков, которую я привел ниже.
Конечные автоматы в среде динамического моделирования SimInTech
Введение
SimInTech является средой для создания математических моделей любых систем, уравнение динамики которых можно представить в виде входо-выходных соотношений (представление DataFlow). Для реализации подхода конечных автоматов в среде SimInTech существовал блок условного выполнения субмодели, который обеспечивал остановку и запуск моделирования по условию, приходящему извне. Такой подход обеспечивает возможность разделить общую модель на состояния и в каждый момент времени рассчитывать только те субмодели, условия выполнения которых установлены в true. Однако, такая реализация автоматного подхода не очень удобна, с точки зрения наглядности, и требовала дополнительной настройки параметров системы.
В настоящее время все необходимые настройки реализованы в специальной библиотеке блоков, которая обеспечивает создание моделей систем в виде конечных автоматов, (представление State Flow) и может быть использована при создании моделей управления.
В данной статье показан пример использования элементов библиотеки «Конечные автоматы» для создания системы управления.
Создание модели электронного компонента для Proteus на Lua
Довольно скоро встал ребром вопрос: как быть с элементами, которые отсутствуют в Proteus?
На многих ресурсах подробно описано, как создать свою модель на С++ в Visual Studio.
К сожалению, при сборке под линуксом этот вариант не очень удобен. Да и как быть, если не знаешь С++ или нужно редактировать модель на лету для отладки?
Да и просто хочется сосредоточиться на моделировании, максимально упростив все остальное.
Так появилась идея делать симуляторные модели с помощью скриптов — на Lua.
Заинтересовавшихся прошу под кат (гифки на 2Мб).
90 рекомендаций по стилю написания программ на C++
От переводчика. Искал в интернете простой и легко применимый гайдлайн по написанию программ на C++. Мне понравился один из вариантов, и я решил его перевести и опубликовать. Если хабрапользователи хорошо встретят этот топик, могу перевести и другие связанные документы, а также гайдлайны по написанию кода от других компаний.
1 Введение
Настоящий документ содержит рекомендации по написанию программ на языке C++.
Рекомендации основаны на установившихся стандартах, собранных из различных источников, личного опыта, частных требований и потребностей определённых проектов, а также почерпнутых из источников (см. ниже).
Но для появления ещё одного списка рекомендаций, помимо указанных источников, есть несколько причин. Основная причина — их излишняя обобщённость, поскольку зачастую требуется задать частные правила (в особенности правила именования). Данный документ содержит комментарии, что делает его более удобным в использовании при проведении ревизий кода, чем другие уже существующие документы. К тому же, рекомендации по программированию обычно вперемешку содержат описания проблем стиля и технических проблем, что не совсем удобно. Этот документ не содержит каких-либо технических рекомендаций по C++, делая упор на вопросах стиля.
Беспроводная отладка STM32
Плюс у этого способа один и он очевиден, поэтому перейду сразу к недостаткам:
- Требуется патчить openOCD
- Необходимо изменить прошивку в ESP8266
- Низкая скорость работы
Платформа для «Интернета вещей»: чипы TI CC1310, CC2630 и CC2650
Привет, GT.
Несколько месяцев назад мы уже писали про то, какие протоколы связи используются (и не используются) в «Интернете вещей». Если говорить коротко, то вообще вся тема IoT в базисе сводится к предоставлению канала связи устройствам, у которых канала связи раньше не было — и чтобы это получило смысл, средства обеспечения такой связи должны быть:
- Компактными — чтобы не увеличивать размеры устройств
- Экономичными — чтобы долго работать даже на батарейках
- Дешёвыми — чтобы их использование имело какой-то экономический смысл
К всеобщему счастью, сейчас таких средств появилось достаточно много — начиная с в той или иной степени удачных попыток адаптации старого доброго Wi-Fi к этим требованиям (я сейчас в большей степени про устройства класса battery-powered Wi-Fi, от ESP8266 до QCA 4004 и TI CC3200) и заканчивая специализированными протоколами, изначально сделанными под данные требования: в первую очередь ZigBee, Z-Wave и 6LoWPAN.
Наиболее гибким, удобным и перспективным из этого является 6LoWPAN (а если вы слышали произносимое с придыханием слово «Thread», то он собственно поверх 6LoWPAN и работает) — и, собственно, мы как раз и занимаемся разработкой модулей и устройств с использованием 6LoWPAN.
Но сетевые протоколы — это, очевидно, лишь половина беды. Вторая половина — «железо», на котором они будут работать.
Модули 868 МГц нашей разработки на TI CC1310
В последнее время возникла мода клеить этикетку «IoT» буквально на всё, что хоть как-то умеет работать с «беспроводкой» — начиная с Arduino с нацепленными BLE- или Wi-Fi-шилдом и заканчивая всевозможными морально устаревшими чипами, к которым десять лет назад выпустили «официальный» стек ZigBee. У человека, который впервые в это погружается, голова закружится достаточно быстро и с неприятно большой скоростью.
Мы в своей работе однозначно определились с выбором платформы на обозримое будущее — это последнее поколение SoC Texas Instruments серии SimpleLink, чипы CC1310, CC2630 и CC2650.
Под хабракатом — объяснение, почему выбор именно таков и почему мы считаем его правильным.
Топ 10 технологий для Internet of Things: что будет происходить в ближайшие два года?
В январе 2016 года небезызвестная компания Gartner опубликовала прогноз для IoT на 2017-2018 годы. Собственно говоря, поскольку речь идет о ближайших двух годах, то это и не прогноз даже, а наши реалии. В настоящее время Top 10 IoT Technologies for 2017 and 2018 (G00296351) доступен на сайте ComputerWeelkly.com.
Я предлагаю посмотреть на основные идеи этого отчета-прогноза. Заглавная картинка содержит перечень десяти основных технологий (их также можно было бы назвать проблемами) для IoT от Gartner.
Укрощаем USB/IP
Конечные автоматы в среде динамического моделирования SimInTech. Часть 2
Во второй части мы покажем как создать вложенные и параллельно работающие конечные автоматы и осуществлять обмен данными между ними.
Пишем простой плагин для Sublime Text 2
Введение
Странно, но поискав на Хабре упоминания текстового редактора Sublime Text 2 я почти ничего не нашел. Спешу исправить положение и рассказать хабраюзерам об этом прекрасном инструменте. Вначале очень коротко расскажу о том чем же он так хорош, потом напишем простой но полезный плагин.
OpenHAB — стань программистом собственного жилища
Дом — это машина для жилья
Ле КорбюзьеВ этом посте я расскажу об opensource проекте домашней автоматизации openHAB.
openHAB переводится как "Open Home Automation Bus". Это значит, что он нацелен на создание универсальной платформы для объединения всей домашней «умной» техники в единую систему управления.
Что же это дает на практике? Под катом я расскажу о том, как с помощью этого решения можно создать настоящий интернет вещей в своем доме.
Драм-машина на нейронной сети
Драм-машина предназначена для создания и редактирования повторяющихся музыкальных ударных фрагментов.
Классическим примером драм машины является драм-машины от кампании Roland (TR-808 и TR-909).
Классические драм машины основаны на принципе пошагового программирования и включают в себя секвенсор, с помощью которого можно сделать цифровую запись аранжировки, то есть запрограммировать инструментальную пьесу.
Альтернативным подходом к программированию последовательности ударов является нейросетевой подход.
В данном случае драм машина использует нейронную сеть для получения повторяющихся ударов.
Запускаем простой блог на Wagtail CMS (Django) — часть 1
Все, кто знаком с разработкой на Django, знают насколько неудобно строить на нем интуитивно понятную админ.панель. До мегапопулярного WordPress очень далеко, что делает порог вхождения в разработку сайтов выше, чем у PHP-фреймворков и CMS.
После долгого поиска и тестирования различных решений я нашел для себя оптимальный вариант — Wagtail CMS.
Wagtail — это полноценная CMS написанная на Django компанией Torchbox. За что им большое спасибо. Проект с открытым исходным кодом, поддерживается сообществом энтузиастов и выпускается под BSD лицензией.
О трансформаторе импульсном замолвите слово
Картинок не будет, будет около 18 несложных формул и много текста. Всех желающих приобщиться прошу на борт.
Анонсирована ARM64 плата для разработчиков (и фана) за 40$ Odroid-C2 на Amlogic S905
Добрый день, уважаемые читатели!
Странно, что пока еще не появилось короткой новости об этом, поэтому возьмусь написать. На прошлой неделе компания Hardkernel, знакомая в основном производством dev-плат на базе процессоров arm разных производителей (в основном Samsung Exynos и Amlogic, но была у них и плата полный аналог RPi более маленького формата, которой им крепко прижали выпуск), анонсировала выход новой платы Odroid-C2 на базе 64-битного процессора ARM S905 от Amlogic.
Не смотря на то, что на официальном сайте про новую плату пока еще ничего не сказано, вся информация о ней уже доступна. Да и то, что плата разработана и отлажена, и находится в полшаге от производства совершенно очевидно. Как и то, что предзаказы открытые на начало марта через месяц уже начнут доставляться. Поэтому без промедления
10 приложений для изучения Python на Android-устройствах
Отладочная плата Orange Pi PC Allwinner H3 всего за $15
Ранее компания Shenzhen Xunlong Software CO. использовала процессоры Allwinner A20 и Allwinner A31s в отладочный платах Orange Pi. Но недавно компания представила модель Orange Pi PC на базе процессора Allwinner H3, которая стоит существенно дешевле предыдущих, и составляет $15. Низкая стоимость платы была достигнута, благодаря низкой цены самого процессора Allwinner H3, и составляет $6.
Информация
- В рейтинге
- Не участвует
- Откуда
- Донецкая обл., Украина
- Зарегистрирован
- Активность