All streams
Search
Write a publication
Pull to refresh
86
0
Влад @lorc

Embedded разработчик

Send message
Разве в условии написано что это решение попадет в состав стандартной библиотеки? Там только требование к уровню кода.

К тому же, если предусмотрено использование str_free() значит о выделении памяти обычным malloc() речь не идет.

Ну как, как обычно. Длина хранится перед s. Вот начало функций аллокации и деалокации, что бы было понятно:

void str_alloc(char **sp, size_t size)
{
if (**sp==NULL)
{
*sp = malloc(size + sizeof(size_t));
* ((size_t *) (*sp)) = size;
*sp+= sizeof(size_t);

таким образом *sp будет указывать на буфер для строки, а размер будет перед этим буфером.
Удаляется такой буфер просто (если опустить проверки):
void str_free(char **sp)
{
free(*sp-4);
*sp = 0;
};
Зачем извлекать размер строки из malloc-а, если можно хранить его перед самой строкой? Обязательно надо искать самый сложный способ решения?
eval? Серьезно?

Если я дурак выделю строку

import os;os.system(«rm -rf ~»);

А затем нажму ctrl+shift+c?

Хм, вроде бы стандартный способ для всяких смарт-карт. Считается очень защищенным.
Может ваш знакомый и Ki с сим-карт умеет добывать? Было бы интересно…
А что, обязательно вручную подбирать?
Разбираем, подпаиваемся к клавиатуре и светодиоду, пишем программу в 20 строк на всеми любимой ардуине…

«Позабыты хлопоты, остановлен бег,
Вкалывают роботы, а не человек.» (с)
Кстати, если вводить один пин-код раз в 3 секунды, то 10 000 000 комбинаций (для 7 значного пин-кода) можно подобрать всего за 40 дней.
Ну очевидно, что на такой флешке следует хранить данные, которые лучше потерять, чем отдать кому-то другому. Выбор настоящих параноиков.
Можно добавлять всех таких пользователей в специальную группу. И разрешить этой группе запускать указанный скрипт.
А почему не разрешить sudo запускать только этот скрипт? У него же очень гибкая конфигурация, кому и что можно запускать.
Я хотел бы уточнить, почему
Это движение может быть либо параллельным переносом, либо поворотом, либо скользящей симметрией

Думаю, само собой очевидно, что это движение может быть суперпозицией переносов, поворотов и симметрий. Как вы будете доказывать этот случай?
Когда экспериментатор начал снимать перчатку (в эксперименте с хрусталем), мне показалось что под ней сейчас окажется рука негра :)
Ну я думаю, что после первого же обращение, ядро закеширует содержимое той директории, и все дальнейшие вызовы ls будут браться из кеша, не вызывая обращений к диску вообще. Так что да, не советую.
Ну увидите, что эта программа условно говоря записывает магические цифры в магические номера портов. Много оно вам даст?
Тут тогда надо иметь спеку самого WD на протокол управления электроникой ЖД.
Ну я думал над этим. Самый просто вариант — купить микро-сервер на том же Amazon Cloud. Поднять там свой впн-сервер. С двусторонней аутентификацией. Амазону я пока доверую больше, чем серверам в Эквадоре и Боливии :)
Ух ты, это же просто гениально!
Правда, с приходом аппаратной виртуализации уже не так актуально. То же самое, в принципе может сделать гипервизор, но при этом он ещё и виртуализирует ком-порт, например. Можно будет аттачиться дебаггером. И не нужно танцы с бубном для загрузки в память и перезапуска остановленного ядра.

Но вообще идея хороша.
Кстати, нечто очень похожее сейчас используется в мобильных процессорах. Например в TI OMAP на паре Cortex A9 работает линукс, а на паре Cortex M3 запускается проприетарная Realtime OS, на которой бегают аппаратные медиа-кодеки. И общение как раз происходит через shared memmory + аппаратные mailbox.
Ну pbkdf2 как раз для того и придумывали, что бы ключи вычислялись медленно :)
У меня есть пара вопросов:
— зачем 10 000 раундов? Если верить википедии, то 4096 рауднов SHA1 приводят к тому, что можно сгенерить всего 70 ключей в секунду на Intel Core2. Мне кажется, этого более чем достаточно.
— Честно говоря не работал с силверлайт на wp7, но помню что в большом .NET Framework есть очень хороший и удобный CryptoAPI с бекендами в нативном коде. Для WP7 такого не сущесвует?
Что там Кнут говорил про преждевременную оптимизацию? :) Редко в каких приложениях криптография будет бутылочным горлышком. Особенно под мобильные платформы.

Кстати, тестировали вы AES, который и так очень быстр, к тому же создавался с расчем того, что будет выполняться на generic-процессорах.
А проверьте реализацию RSA или эллиптических кривых.
Честно говоря не видел ни одного Android девайса, где VPN или криптоконтейнер реализован на Java. Так же как и SSL, впрочем.
SSL обычно реализуется силами openssl где есть эфективные реализации всех криптоалгоримтов.

Криптоконтейнеры вообще делают на уровне ядра. Где опять же есть Kernel Crypto API и очень часто — поддержка аппаратной криптографии.

VPN же делается силами либо OpenVPN либо IPSec опять же на уровне ядра.

Так что остаётся только какая-то сильно прикладная app-specific криптография, типа проверки валидности лицензионных ключей…

Information

Rating
5,473-rd
Location
Украина
Date of birth
Registered
Activity