The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Зависимость времени выполнения инструкций от данных на CPU ARM и Intel, opennews (??), 29-Янв-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


202. "Зависимость времени выполнения инструкций от данных на CPU A..."  –2 +/
Сообщение от Аноним (-), 30-Янв-23, 15:49 
> в случае превышения уровнем шума уровня полезного сигнала - сигнал не восстановить.

Почему это? Берёшь N одинаковых сигналов вместе с шумом, суммируешь их, рандомные значения суммируются по random walk и увеличиваются пропорционально корню из N, а вот сигнал в сумме будет увеличен в N раз. Тебе надо лишь подобрать N достаточно большим, чтобы N/sqrt(N) (т.е. sqrt(N)) был бы больше, чем отношение уровня шума к уровню сигнала.

Всё что ты можешь получить своим шумом -- увеличить сложность атаки. Сделать атаку принципиально невозможной принципиально невозможно таким образом.

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

Ответить | Правка | Наверх | Cообщить модератору

214. "Зависимость времени выполнения инструкций от данных на CPU A..."  +1 +/
Сообщение от Аноним (214), 30-Янв-23, 20:10 
> Берёшь N одинаковых сигналов вместе с шумом

Уже ошибка: выборки в _разное_ время. Шум же неидеальный.

Ответить | Правка | Наверх | Cообщить модератору

215. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Аноним (214), 30-Янв-23, 20:13 
Т.е. с увеличением времени анализа ситуация на _реальных_ системах будет только ухудшаться для хакера.
Ответить | Правка | Наверх | Cообщить модератору

240. "Зависимость времени выполнения инструкций от данных на CPU A..."  +2 +/
Сообщение от Омномним (?), 31-Янв-23, 10:37 
Верно.

Ну и да - речь-то у нас о timing attack, где мы дополнительно ну никак точно время начала передачи сигнала определить не можем. А значит - складывай, не складывай, на выходе получишь только шум.

Ответить | Правка | К родителю #214 | Наверх | Cообщить модератору

241. "Зависимость времени выполнения инструкций от данных на CPU A..."  +2 +/
Сообщение от Омномним (?), 31-Янв-23, 10:38 
(как только шумовая составляющая превысит сумму определимых значений времени старта и длительности)
Ответить | Правка | Наверх | Cообщить модератору

256. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Аноним (214), 31-Янв-23, 13:30 
А, да, ещё один момент: дискретность компутерных чисел. Если складывать большой шум и маленький сигнал - точность сигнала будет подавлена, возможно, даже полностью.
Ответить | Правка | Наверх | Cообщить модератору

258. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 31-Янв-23, 13:59 
Да не, там всё проще.

Нам надо либо множество сэмплов одного и того же сигнала с разным шумом - но в timing атаке мы не знаем, "что есть сигнал", поэтому нет исходного критерия для сравнения = нет сигнала вообще, timing атаки как раз и основаны на сравнении конечного времени, позволяющие понять, что есть "0", что есть "1", а если домешать шума - тут у нас даже базы не оказывается.

Либо надо множество сигналов с одинаковым шумом, что опять же априори исключено.

Т.е. рандомизация конкретно от этого типа атак - идеальный вариант.

Ответить | Правка | Наверх | Cообщить модератору

328. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Аноним (-), 08-Фев-23, 04:07 
> шумом - но в timing атаке мы не знаем, "что есть сигнал",

А вот это - ну не факт. Мы можем и некие тесты на известных паттернах прогнать.

> Т.е. рандомизация конкретно от этого типа атак - идеальный вариант.

Есть шансы что удастся ее аннулировать.

Ответить | Правка | Наверх | Cообщить модератору

216. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Аноним (214), 30-Янв-23, 20:13 
> надо лишь подобрать N достаточно большим, чтобы N/sqrt(N) (т.е. sqrt(N)) был бы больше, чем ...

Вот этим и отличаются математики от инженеров.

Ответить | Правка | К родителю #202 | Наверх | Cообщить модератору

239. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 31-Янв-23, 10:33 
Угу, по ходу там BSD-теоретик. N даже для фонового шума питания будет запредельным.
Я уж молчу, если для генерации ещё с внешней среды что-нибудь ловить дополнительно.
Ответить | Правка | Наверх | Cообщить модератору

262. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Аноним (-), 31-Янв-23, 18:47 
"Запредельным" -- это каким? 10^12? Гигагерцовому процессору на выполнение 10^12 инструкций потребуется порядка часа.
Ответить | Правка | Наверх | Cообщить модератору

274. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Аноним (214), 01-Фев-23, 07:25 
> порядка часа

и что может произойти за час? ничего ведь не поменяется, всё будет стоять, как вкопанное...

Ответить | Правка | Наверх | Cообщить модератору

281. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 02-Фев-23, 08:11 
Точно BSD-теоретик.
Даже если мы имеем дело с side channel leak, а не сетевой эксплуатацией, в лабораторных условиях - посчитай число инструкций, которое тебе потребуется, удивись.
Ответить | Правка | К родителю #262 | Наверх | Cообщить модератору

238. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 31-Янв-23, 10:32 
Нет.
Ты исходишь из того, что шум имеет паттерн.
Естественно, идеального шума не будет, но ликать пару байт столетие - так себе затея.
Ответить | Правка | К родителю #202 | Наверх | Cообщить модератору

261. "Зависимость времени выполнения инструкций от данных на CPU A..."  –1 +/
Сообщение от Аноним (-), 31-Янв-23, 18:37 
> Ты исходишь из того, что шум имеет паттерн.

Нет, это ты хочешь, чтобя я исходил из этого, потому что это позволит тебе считать себя очень умным, а меня круглым дураком, который вообще не смыслит. На самом же деле, я исхожу из того, что полезный сигнал имеет паттерн, а шум рандомен. Паттерны выявляются статистикой. Иногда статистика сводится "к сложить и поделить на N", этот простой случай описан выше. Иногда она оказывается посложнее. Но если у тебя в шуме сокрыт паттерн, то ты его оттуда можешь вынуть повторными измерениями.

В случае с замерами времени, достаточно простой статистики: у тебя каждый замер времени будет числом вида t+r_i, где t -- реальное время выполнения, а r_i -- случайное число. Мы прогоняем код N раз, и считаем по i=1..N сумму t+r_i, после чего делим это на N и получаем (\sum t)/N + (\sum r_i)/N, первое слагаемое равно t*N/N==t -- времени выполнения инструкции, второе слагаемое будет равно среднему значению r_i делённому на N. При N стремящемся к бесконечности второе слагаемое стремится к нулю, и таким образом сумма замерянных значений делённая на количество этих значений стремится к искомому числу. Самый фокус в том, чтобы подобрать N, чтобы лишнего не мерять, но в то же время шум снимать. Но если познаний в математике не хватает для этого, то это можно сделать методом тыка.

Это элементарная математика 8 класса. Я не понимаю, что тебя сбивает с толку? Может ты думаешь, что можно создать такой генератор случайных чисел r_i, чтобы это не работало? Поделись с нами своей гениальностью, расскажи как можно победить этот метод из восьмого класса.

Ответить | Правка | Наверх | Cообщить модератору

282. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 02-Фев-23, 08:13 
Сейчас ты вообще ушёл в сторону от исходной проблемы.

В конкретном случае мы вообще не знаем, что есть сигнал, а что нет - и именно указанным выше способом пытаемся выдавить сигнал из пустого пакета маянезика с сигналом о сигнале. Замеряя и усредняя, пытаясь найти пороговые состояния.

Если к сигналу о сигнале добавить рандомный шум, ничего ты оттуда уже не выдавишь. Никак, от слова "совсем".

Ответить | Правка | Наверх | Cообщить модератору

286. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 02-Фев-23, 08:19 
То есть ты мне сейчас вещаешь, что при SNR<0 достаточно просто хорошо поусреднять.
Ну, удачки.
Ответить | Правка | К родителю #261 | Наверх | Cообщить модератору

287. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 02-Фев-23, 08:21 
// при SNR>0, конечно же
Ответить | Правка | Наверх | Cообщить модератору

290. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Аноним (290), 03-Фев-23, 17:26 
> То есть ты мне сейчас вещаешь, что при SNR<0 достаточно просто хорошо поусреднять.

Да, я в отличие от тебя читал Клода Шеннона, который считается основоположником всей дисциплины и изобретателем информации. Вне зависимости от уровня шума, ты можешь передавать полезный сигнал, выменивая вероятность отсутствия ошибок передачи за счёт скорости передачи. "Просто поусреднять" -- это не всегда наилучший подход, но да, если очень надо, то можно обойтись им.

Ответить | Правка | К родителю #286 | Наверх | Cообщить модератору

291. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 03-Фев-23, 21:27 
А теперь подумай, в какой степени это применимо к обсуждаемому - и наконец проснись.
Ответить | Правка | Наверх | Cообщить модератору

292. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 03-Фев-23, 21:27 
Ты не _передаёшь_ сигнал, ты его _принимаешь_. Передатчик тебе не подконтролен.
Ответить | Правка | К родителю #290 | Наверх | Cообщить модератору

293. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 03-Фев-23, 21:30 
(если совсем туго - ты принимаешь _чужой_ сигнал, который зашумлён до уровня неразборчивости, SNR<=0. всё. на этом месте все твои потуги рушатся. Шэннон - это про то, что уровень шума, да, не является непреодолимым для устойчивой передачи и приёма сигнала, который ты формируешь сам. но чужой сигнал, который ты не можешь адаптировать "по форме" к актуальному уровню шума - ты принять уже не сможешь)
Ответить | Правка | Наверх | Cообщить модератору

294. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 03-Фев-23, 21:38 
А если ещё проще - да, можно добиться SNR>0 при практически любом уровне шума, и попытаться это как-то принять даже при запредельно низком соотношении. На самом деле не совсем так, и надо добавлять "в физически допустимых пределах", потому что мы можем подойти к физическому пределу допустимого уровня в рамках носителя, шумов и сигналов в реальности выше которого существовать уже не может (в случае ЭМВ - к уровню пробоя среды бггг или просто элементов приёмника/передатчика).

Но если у тебя исходно по имеющемуся сигналу, которым ты не управляешь, SNR уже <= 0 - всё. Туши свет.

Ответить | Правка | Наверх | Cообщить модератору

312. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Аноним (-), 06-Фев-23, 02:10 
> А если ещё проще - да, можно добиться SNR>0

Слышь, чудик, я не тот анон но чтоб ты знал: SNR = 0 (dB) не рассматривается Шеноном как что-то специальное или какой-то частный случай после которого случается что-то особенное. Ну вот нет там никаких жестких порогов.

Ответить | Правка | Наверх | Cообщить модератору

295. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 03-Фев-23, 21:54 
Давай самую простую задачку.

У тебя есть исходный сигнал, состоящий из "полок" строго в -1 и +1. Длительность сих "полок" не известна.
Ты можешь проиграть исходный сигнал сколько угодно раз, при этом паттерн шума будет иным.

Сигнал модулирован идеальным белым шумом выше уровня сигнала - это значит, что уровней ниже -1 и +1 у нас в результате не появляется.

Как будем в реальном мире восстанавливать?

Ответить | Правка | К родителю #290 | Наверх | Cообщить модератору

296. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 03-Фев-23, 21:57 
Тьфу блин. Вечер.

// "Выше уровня сигнала" - удалить. Слова "модулирован" достаточно.

Это как раз наш случай с таймингами, кстати.

Ответить | Правка | Наверх | Cообщить модератору

310. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Аноним (-), 06-Фев-23, 01:54 
> У тебя есть исходный сигнал, состоящий из "полок" строго в -1 и +1.

Это само по себе еще куда ни шло...

> Длительность сих "полок" не известна.

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

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

> Ты можешь проиграть исходный сигнал сколько угодно раз, при этом паттерн шума будет иным.

Если допустить что биты все же постоянны по скорости (вполне достижимое требование) тогда есть такое соображение: сумма сигналов битов отлична от ноля. А шум так то взаимно аннулируется, его среднее около ноля. И processing gain ценой потери битрейта возникает именно оттуда :D. Коррелятор GPS занимается именно этим.

> Сигнал модулирован идеальным белым шумом выше уровня сигнала - это значит, что
> уровней ниже -1 и +1 у нас в результате не появляется.

Это не так уж важно, если на самом деле каждый "cупер-бит" был кодирован пачкой "мини-битов". Прикинь, коррелятор GPS всего лишь залоченый на те же параметры PRNG и ксорка. Если корреляция сильная, это наш сигнал, и мы можем видеть его вероятное состояние. А если слабая - ну, упс, это не наш сигнал - или лок не удался, ессно этот фокус требует знание точных времянок чтобы "маленькие" биты попадали в свои интервалы, без этого магия с реинфорсом правильных значений не сработает.

Смотри: sum(1+0.6, 1-0.6, 1+0.6, 1-0.6) / 4 дает ровно 1. А случайное телепание +/- 0.6 представленное немного утрировано и упрощенно - аннулировано. Ну как, при захвате битов как 1 и 0 из шума ты будешь часто видеть сие как 0x55 или 0xAA, я отмасштабировал до 0.6, но можешь и в бинарном виде так же. Если не нравится дробная математика, на большой пачке мини-битов валидно целыми числами оперировать, GPS коррелятор лишь XORит вход с лоченым на chip rate PRNG да смотрит на уровень корреляции. И тут можно уже иначе решать что это. "Скорее всего 1", "Скорее всего 0", "вообще не наш сигнал". Ну вот так вот.

> Как будем в реальном мире восстанавливать?

Посмотри на GPS/CDMA/прочие подвиды идей в духе DSSS. Вот так и будем. А кто тебе сказал что вон то не работает? Шенона оно конечно не обойдет, битрейт на избыточное кодирование битиков придется потерять, извините.

А, да, я говорил что основы (line) coding и проч в рфских вузах не дают? Ну вот оно и заметно. Эксперты блин, вообще не способные CDMA осознать.

Ответить | Правка | К родителю #295 | Наверх | Cообщить модератору

299. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Аноним (-), 05-Фев-23, 12:00 
> То есть ты мне сейчас вещаешь, что при SNR<0 достаточно просто хорошо поусреднять.

SNR < 0 это вообще как? Это по определению отношение положительных чисел. А если это про dBm какие было, внезапно, GPS работает сильно ниже уровня шумов. И не только он. "Processing gain" they call it.


Ответить | Правка | К родителю #286 | Наверх | Cообщить модератору

305. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 05-Фев-23, 13:36 
SNR <0 - это когда уровень шума превышает уровень полезного сигнала.
Ответить | Правка | Наверх | Cообщить модератору

306. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 05-Фев-23, 13:39 
(напоминаю, исторически SNR измеряется в дБ, а это собственно степень, которая собственно отрицательна, когда N>S)
Ответить | Правка | К родителю #299 | Наверх | Cообщить модератору

311. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Аноним (-), 06-Фев-23, 02:01 
> (напоминаю, исторически SNR измеряется в дБ

Тебе показать пачку протоколов работающих при отрицательных dBm в SNR или сам найдешь?

GPS один из них и что интереснее, сделал это вот именно "цифровым" методом. То-есть если тебе нравятся только 2 значения сигнала, фокус с XOR чип-рейта vs медленные биты - вполне вариант. Ну и да, при этом не надо работать с дробными числами, корреляция может быть измерена и в (целом) числе совпавших с ожиданиями мини-битов, например.

И да, при этом - только подумай - становится возможно "не бинарное" декодирование (soft decoding). Когда можно говорить о вероятности что это 1 или 0 или "дистанции" от идеальных точек 1 и 0. Если дистанция небольшая, это наш сигнал. Если большая - это вообще скорее всего что-то не то. Так что вот, можно нарисовать на сигнале маркер отличающий его от шума. Просто XOR'ом с PRNG даже вот. Лишь бы PRNG на обоих сторонах линка одинаково работал. В этом месте мы начинаем догадываться почему GPS так заморачивается с точным временем... без лока с точностью до чипа он вообще декодирован не будет на самом базовом уровне, лол.

Ответить | Правка | Наверх | Cообщить модератору

319. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Аноним (-), 06-Фев-23, 07:05 
> Тебе показать пачку протоколов работающих при отрицательных dBm в SNR или сам найдешь?

Тьфу ты, SNR в dB конечно, а не dBm, милливаты тут не при чем.

Ответить | Правка | Наверх | Cообщить модератору

307. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 05-Фев-23, 13:44 
GPS работает ниже уровня шумов - это вообще перл, поскольку в GPS используется не прямой приём сигнала, а корреляция нескольких сигналов, плюс сигнал GPS использует широкую полосу, SNR по которой варьируется.
Ответить | Правка | К родителю #299 | Наверх | Cообщить модератору

308. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 05-Фев-23, 13:46 
(и если SNR по всей полосе с определённого источника окажется 0 или менее - сигнал GPS от данного источника резонно принят быть не может)
Ответить | Правка | Наверх | Cообщить модератору

309. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Аноним (-), 06-Фев-23, 01:22 
> GPS работает ниже уровня шумов - это вообще перл, поскольку в GPS
> используется не прямой приём сигнала, а корреляция нескольких сигналов,

Вообще-то он и на 1 сигнал может лочиться.

Толку с этого будет мало т.к. для измерения координат надо не менее 3 спутников в 2D а для 3D и всех 4. Без этого в лучшем случае удастся собрать навигационные сообщения и текущее время, но с учетом битрейта и сколько времени занимает полный цикл сообщения - шанс что все это время не будет ошибок приема достаточно скромный и работать это все будет "не очень".

А корреляция там делается на расширенную по бандвизу версию сигнала, когда 1 битик NAV растянут на эвон сколько битиков PRNG (chips). И вот этот вот PRNG, на который корреляция и лочится, так то и является вот именно маркером своего сигнала. И относительно шума, и относительно даже других сигналов спутников. Если последовательности "ортогональные" -  они друг другу не мешают даже при вещании на той же частоте: в среднем их эффект аннулируется. Представляешь, кроме деления эфира по времени и по частоте, есть еще, вот Code-division. Третья опция. Маркирование своего сигнала. И конструирование его так чтобы можно было сразу N сигналов на 1 частоте пускать. Не мешая друг другу. А заодно и от шума помогает - какая корреляция у шума с выходом PRNG? Правильно - мизерная. И как раз по уровню корреляции и понятно - тот ли это сигнал который мы хотели найти или нет.

> плюс сигнал GPS использует широкую полосу, SNR по которой варьируется.

Не отменяет того факта что сигнал спутника светящего жалким 20W передатчиком на половину планеты хилее уровня шумов. Однако есть такая штука - "processing gain". И в этом частном случае он как раз именно о целенаправленной "маркировке" сигнала :). Так что как видим при желании на сигнал можно и свой маркер отличающий его от шума воткнуть. Правда не тегами а последоваьельностью PRNG но это уже детали.

Ответить | Правка | К родителю #307 | Наверх | Cообщить модератору

260. "Зависимость времени выполнения инструкций от данных на CPU A..."  +1 +/
Сообщение от pavlinux (ok), 31-Янв-23, 16:49 
> чем отношение уровня шума к уровню сигнала.

Прям так взял и отделил шум от сигнала :D

Там наверно с хедерами летают данные <NOISE>1110001110001110001111</NOISE><SIGNAL>110101010101</SIGNAL><NOISE>111000</NOISE> ...

>  Время выполнения операций в критичных блоках надо рандомизировать

А вот это хороший маркер, как только увидим тормоз в ожидании рандомов - начало критичного блока.

Ща предложит предварительную генерацию рандомов для шифровки 40GbE трафика :D

Ответить | Правка | К родителю #202 | Наверх | Cообщить модератору

283. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 02-Фев-23, 08:14 
Да, чел там почти совершил революцию в теории передачи данных.
Ну, у себя в голове. Реальность так не работает :)
Ответить | Правка | Наверх | Cообщить модератору

313. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Аноним (-), 06-Фев-23, 03:03 
> Да, чел там почти совершил революцию в теории передачи данных.
> Ну, у себя в голове. Реальность так не работает :)

Вот те раз, XOR медленных битов NAV с быстрыми chip'ами PRNG, оказывается, революция!

Хочешь глупый и неэффективный) пример? Пусть у нас мастер-бит создается как повтор 256 раз более быстрых битов (чипов). Мы захватываем на приеме только 1 или 0. И черт с PRNG и XOR для простоты.

Как кодируем мастер-1: 256 x 1, мастер-0: 256 x 0. Допустим шум портит биты одинаково, так что без сигнала в среднем при случайном шуме сумма около половины этого, т.е. 128. Идеальный прием 0 разумеется сумма мини-битов = 0, а идеальный прием 1 это сумма мини-битов = 256.

А что если приняли нечто с суммой 50? Это сильно ниже 128, значит "скорее всего 0". А если 150? Это выше 128, "скорее всего 1".

В чем прикол? Если будет только шум, с равномерным 1 и 0, их сумма будет стремиться к половине диапазона. А мастер-сигнал сдвигает центр распределения относительно середины. Чем длиннее последовательность тем меньший сдвиг относительно центра можно уловить и тем выше "processing gain".

Замена суммы на XOR, желательно с PRNG, придает более желательные свойства тому что получится. В том числе и возможность слать >1 потока так чтобы они не мешали друг другу, при низкой корреляции "чужой" поток аннулируется в нечто (почти) не создающее bias в решении 1 это или 0. Ну а по величине корреляции можно судить насколько это вообще похоже на ожидаемый сигнал. Если дистанция от идеальных 0 и 1 слишком большая, это, вероятно, вообще что-то левое.

Ответить | Правка | Наверх | Cообщить модератору

320. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 06-Фев-23, 10:08 
Я и говорю - никакой революции нет и быть не может.

Мы опять и приходим всё к тому же SNR по диапазону - т.е. пытаемся исходить из того, что из-за изменчивости
шумовых характеристик _реального мира_ на длине в те самые 256 слотов SNR в итоге окажется выше 0, и нам удастся за счёт усреднения по диапазону понять, что там реально пришло.

Может быть. Как-нибудь. Что не поняли, забить ECC. Но если всё-таки SNR непрерывно слишком низкий - то "это, вероятно, вообще что-то левое".

В реальном мире так: ставишь "глушилку", дающую SNR<0, и ничего эта схема уже не примет в районе действия таковой.

-

Но вернёмся к исходной задаче: в исходной задаче мало того что передатчик не контролируется, так ещё и есть возможность SNR<0 (задержками, превышающими полное время обработки как одиночно 0 так и одиночной 1) желающему попробовать поусреднять выдать.

Ответить | Правка | Наверх | Cообщить модератору

321. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 06-Фев-23, 10:16 
(про "глушилку" я не ради красного словца заметил: правильная "глушилка" - это как раз таки математический "дохлый номер" для подобных схем с усреднением, можно даже "белый шум" не рассматривать - слишком дорого, хватит дискретного шума: если частота модуляции дискретной помехой (при совпадении полосы носителя, естественно) совпадает или превышает кратно частоту собственно слотов - SNR по всему диапазону станет непрерывно ниже 0, и ничего усреднить хоть и 256, хоть из 2560000000000000000000000000... слотов уже не получится)
Ответить | Правка | Наверх | Cообщить модератору

322. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 06-Фев-23, 10:17 
(амплитуда естественно тоже превышает, убивая амплитудную и частотную модуляции. кратность убьёт фазовую модуляцию)
Ответить | Правка | Наверх | Cообщить модератору

325. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Аноним (-), 07-Фев-23, 06:58 
> (амплитуда естественно тоже превышает, убивая амплитудную и частотную модуляции.

Абсолютная амплитуда не важна, если оно более-менее рандомное bias от легитимного источника все равно пролезет в sub-bit'овое разрешение и приемник сможет различать состояния. Главное чтобы большие биты были достаточно медленными для накопления достаточного количества отличий. Нас так то Eb/No нормальный интересовал, а не SNR :)

Ответить | Правка | Наверх | Cообщить модератору

326. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 07-Фев-23, 09:33 
Амплитуда важна. Не абсолютная амплитуда конечно, да, а то, что размах шума в рамках времени суббита или даже меньшего превышает сам суббит по амплитуде.
Ответить | Правка | Наверх | Cообщить модератору

329. "Зависимость времени выполнения инструкций от данных на CPU A..."  –1 +/
Сообщение от Аноним (-), 08-Фев-23, 04:39 
> Амплитуда важна. Не абсолютная амплитуда конечно, да, а то, что размах шума
> в рамках времени суббита или даже меньшего превышает сам суббит по амплитуде.

В случае GPS вот именно cигнал, сам по себе, что-то типа -140-150dBm. Порог шумов выше. И что хочешь с этим то и делай. Он совершенно штатно работает именно в таком режиме, поэтому и устроен вот так вот. На память об этом - даже если у ресивера много каналов и он NAV параллельно с эн спутников ухватывает, необходимый минимум инфо для нормального FIX со всеми наворотами не может быть менее примерно 31 секунды. Это минимальное time to firt fix достижимое в системе бех всяких особо хитрых хаков и читов. Реально может и хуже быть - с учетом времени фрейма NAV гарантий что его спутник будет все это время в видимости, особенно если двигаться - никакой. А FEC там нет и если сколько-то "больших" битов выпало - ну ой, не повезло, начинай сначала.

The C/A PRN codes are Gold codes with a period of 1023 chips transmitted at 1.023 Mchip/s, causing the code to repeat every 1 millisecond. They are exclusive-ored with a 50 bit/s navigation message
У GPS нет монополии на этот фокус, эти трюки можно делать на любом линке, ценой потери битрейта. Шум никак не отменяет измеримый bias, в данном случае проявляющий себя как тот или иной уровень корреляции vs известный шаблон.
Ответить | Правка | Наверх | Cообщить модератору

331. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 08-Фев-23, 08:19 
> В случае GPS вот именно cигнал, сам по себе, что-то типа -140-150dBm.
> Порог шумов выше.

Абсолютнейшее заблуждение, к тому же не дружащее с логикой. Далее обсуждать смысла не вижу.

Ответить | Правка | Наверх | Cообщить модератору

337. "Зависимость времени выполнения инструкций от данных на CPU A..."  –1 +/
Сообщение от Аноним (-), 09-Фев-23, 12:04 
> Абсолютнейшее заблуждение,

На спутнике GPS передатчик ваттов 20, чтоли, а светит на полпланеты. Плотность мощности его сигнала микроскопическая, лолка. Поэтому пришлось делать протокол под вот именно хреновые условия приема, чтобы это даже из шумов сильнее сигнала выцеплялось.

> к тому же не дружащее с логикой.

Вон тебе вся логика, додик.

> Далее обсуждать смысла не вижу.

Еще бы, сперва азы обработки сигналов изучи. Хотя-бы Шенона. А так чисто посмеяться, я таки запиливал и расширение битности ADC, и простенькое, но все же улучшение линка когда битов стало вместо одного эн, и решение принимается уже не по 1 сэмплу а нескольким, и если совсем непонятно, тому ридсоломону erasure маркируется, он так вдвое больше чинит чота. Пустячок, а апгрейдом фирмвары линк чего-то заметно дальнобойней стал. Хотя формт сигнала, железо и канал те же самые, просто пересмотрено как битики используются и как это декодируется. Ценой потери битрейта разумеется, но там много и не надо было. Ты же не думал что я эти идеи с потолка взял?

Ответить | Правка | Наверх | Cообщить модератору

332. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 08-Фев-23, 09:27 
> эти трюки можно делать на любом линке, ценой потери битрейта

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

Ответить | Правка | К родителю #329 | Наверх | Cообщить модератору

338. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Аноним (-), 09-Фев-23, 12:16 
> Не на любом, а только на том, в котором шумовая составляющая изменчива,

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

> и SNR на суббитах выходит в приемлемый диапазон.

Вообще-то весь пойнт заморочки с суб-битами это processing gain. А заодно и расширение полосы, так что глушакам становится более тяжко.

Впрочем можно и без суббитов. Ну вон у WISPR, WSJT и проч - просто бит немеряного размера, у особо клинических форм - длина бита до секунды, чтоли, доходит, тоже работает сильно ниже уровня шумов. Просто заходит с чуть другого бока. А в целом читайте Шенона, там про SNR и скорость сказано все что можно сказать.

> Если нет понимания даже этого - ну, повторюсь, обсуждать собственно далее нечего.

Это ты как раз испытываешь проблему с пониманием "processing gain". Который как раз вытягивает в случае когда с точки зрения SNR тухло смотрелось.

Ответить | Правка | Наверх | Cообщить модератору

345. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 09-Фев-23, 14:58 
В исходной нашей задаче зашумления времени выполнения кода предполагается непрерывное зашумление с неизменно превышающей амплитуду полезного сигнала (время 0 и 1) амплитудой. Здесь хоть сколько измерений делай - на выходе будет каша.
Ответить | Правка | К родителю #338 | Наверх | Cообщить модератору

346. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 09-Фев-23, 15:00 
- работает сильно ниже уровня шумов
Ёпрст. Какого уровня шума? Мгновенного? Усреднённого?
Возможно, потому что на этом интервале наверняка найдётся достаточного участков
А вот на минимальном уровне шума выше сигнала - можно забывать.
Ответить | Правка | К родителю #338 | Наверх | Cообщить модератору

347. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 09-Фев-23, 15:24 
Задумайся, откуда у тебя на суббитах или интервалах возникает тот самый "gain".
Это попытка высокой частотной характеристикой получить пристойную амплитудную, которой нет на внешнем интервале целиком. В реальном мире это работает, потому что шум создаётся множеством источников с непостоянными характеристиками. На генераторе белого шума выше уровня сигнала - работать не будет вообще.
Но если у нас на всём интервале амплитудная характеристика шума равномерная - всё, никакому "gain" взяться будет неоткуда.
Ответить | Правка | К родителю #338 | Наверх | Cообщить модератору

324. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Аноним (-), 07-Фев-23, 06:50 
> (про "глушилку" я не ради красного словца заметил: правильная "глушилка" - это
> как раз таки математический "дохлый номер" для подобных схем с усреднением,

Математический дохлый номер получается если линк хотел bitrate выше link margin. Чем эти условия вызваны, целенаправленным глушаком или внешними факторами - какая разница? И вопрос сводится к link margin. Если есть цель, можно делать под любой SNR. Просто если сильно увлечься, битрейт получится специфичный.

> совпадает или превышает кратно частоту собственно слотов - SNR по всему
> диапазону станет непрерывно ниже 0, и ничего усреднить хоть и 256,
> хоть из 2560000000000000000000000000... слотов уже не получится)

Вообще-то получается. Более того - на в чем-то похожем эффекте основано расширение разрядности ADC. Когда мы захватываем больше битов чем у железа есть. Более того, при этом еще и абсолютно принципиально чтобы шум - был. Если мы 256 раз захватим условное 0x100 - мы не получили никаких новых данных, облом. А если оно болталось между 0x98 и 0x103 - вот тут уже мелкие sub-bit'овые вещи как раз и влияли на итоговую сумму. И мы извлекли именно эти мелкие суб-битовые телепания. Представляешь, умея различать только 1 и 0 можно однако захватывать промежуточные состояния с произвольной в общем то разрядностью. Главное чтобы 1 и 0 телепались между собой, чтобы тот эффект вообще работал.

Ответить | Правка | К родителю #321 | Наверх | Cообщить модератору

327. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 07-Фев-23, 09:34 
В ADC мы занимаемся обратной задачей - нам надо выделить шумовую составляющую, которая ниже сигнала, здесь как раз усреднение прекрасно работает.
Ответить | Правка | Наверх | Cообщить модератору

341. "Зависимость времени выполнения инструкций от данных на CPU A..."  +1 +/
Сообщение от Аноним (-), 09-Фев-23, 13:01 
> В ADC мы занимаемся обратной задачей - нам надо выделить шумовую составляющую,
> которая ниже сигнала, здесь как раз усреднение прекрасно работает.

Вообще то достаточно похожие задачи. А усреднением предпочитают не пользоваться в основном потому что...
1) В RF системах долговременный DC-bias обычно не велкам по ряду причин, длинная пачка одинаковых битов - это оно. Усреднение processing gain так то дает, если длинная пачка битов проблем не вызвала. Но это не лучшее решение из известных, хоть и работает.
2) Придумали способ лучше, когда вместо усреднения XOR с специфичными последовательностями. Это позволяет засунуть в 1 полосу сразу N передатчиков которые (почти) не мешают друг другу несмотря на одновременную работу. CDMA интересен тем что processing gain может сочетаться попутно с новым способом дележки эфира на эн передатчиков. И раз пошла такая пьянка то почему-бы не поделить эфир на эн передатчиков заодно, раз уж они (почти) не мешают друг другу из-за специфичного кодирования сигнала?

Ответить | Правка | Наверх | Cообщить модератору

343. "Зависимость времени выполнения инструкций от данных на CPU A..."  +1 +/
Сообщение от Омномним (?), 09-Фев-23, 14:53 
Почти не мешают друг другу - это очень тоже оптимистично. Noise floor при DSSS растёт с каждым передатчиком. Тут вопрос, насколько быстро оно упрётся в достаточном числе суббитов в конкретной среде.

А в обсуждаемой задаче с атакой у нас нет никаких суббитов, и нет никакой возможности их воспроизвести с заданной точностью в time plane (которая нам как раз и не известна).

Ответить | Правка | Наверх | Cообщить модератору

349. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Аноним (-), 10-Фев-23, 15:05 
> Почти не мешают друг другу - это очень тоже оптимистично. Noise floor
> при DSSS растёт с каждым передатчиком.

Растет. Но т.к. корреляция этих последовательностей в нормальных условиях микроскопическая - то растет слабо. Вот GPS и вещает всей толпой на 1575.42 - и ничего, нормально. Хотя с шумами там душно.

> Тут вопрос, насколько быстро оно упрётся в достаточном числе суббитов в конкретной среде.

Вопрос числа суббитов и желаемого processing gain. А так к чему оно стремится Шенон сказал. Одни стремятся к этому с такой стороны, другие с другой. Можно wideband и корреляцией/суббитами, можно narrowband и длинными как черти что битами. Суть примерно та же - накопление инфо о медленном бите. Просто заход с разных сторон.

> А в обсуждаемой задаче с атакой у нас нет никаких суббитов, и
> нет никакой возможности их воспроизвести с заданной точностью в time plane
> (которая нам как раз и не известна).

Вот это - ну совсем не факт. Люди имеют свойство недооценивать объем доступной на самом деле информации в цифровых системах. И потом немало удивляются разным "волшебствам". Вот так мы гимпом вашу замазку на фоточке с документом стираем и все буковки проступают. А вот так видео где нифига не видно - хоть на ютуб лей становится. Откуда такая железная уверенность что вон там все фокусы не сработают кто б его знает. Учитывая что есть несколько атак на практически существуюшие системы которые угадывают состояние системы (в том числе PRNG и ключи) такой оптимизм потом дорого обходится.

Ответить | Правка | Наверх | Cообщить модератору

350. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 10-Фев-23, 16:43 
Достаточно растёт, чтобы та же вафля при правильных звёздах работала так себе уже на втором передатчике :D

Но дело не в этом - DSSS исходит из того, что сигнал от наших передатчиков имеет строгий паттерн распределения по полосе, т.е. плотность энергии линейчатая, и превращает такой сигнал в эквивалентный шум, который энергетический по всей полосе размазан уже ровным слоем, у каждого передатчика по-своему.

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

Ответить | Правка | Наверх | Cообщить модератору

333. "Зависимость времени выполнения инструкций от данных на CPU A..."  –2 +/
Сообщение от pavlinux (ok), 08-Фев-23, 14:31 
> А мастер-сигнал сдвигает центр распределения относительно середины.

Итогом будет только ответ: Сигнал есть! :)

Ответить | Правка | К родителю #313 | Наверх | Cообщить модератору

344. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Омномним (?), 09-Фев-23, 14:54 
И то не факт.
Ответить | Правка | Наверх | Cообщить модератору

348. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Аноним (-), 10-Фев-23, 14:53 
> Итогом будет только ответ: Сигнал есть! :)

Ты лол. Это самый простой и дубовый способ передачи бинарной информации, используемый миллионами устройств, всякие пульты открытия ворот и включения люстр так работают: есть сигнал 1 нет сигнала 0. On-off keying (OOK) это наызвается.

Предлагается сделать продвинутую версию, с коррелятором и CDMA? Вообще, это даже работать будет, почему нет.

Ответить | Правка | К родителю #333 | Наверх | Cообщить модератору

284. "Зависимость времени выполнения инструкций от данных на CPU A..."  +1 +/
Сообщение от Омномним (?), 02-Фев-23, 08:16 
Ну и да, продолжая о революции.
Как ты там собрался этот маркер вычленять, если оно у нас ничем от исполнения остального кода отличается?
Я уж молчу про попытку время выполнения по сети померить.

Такое ощущение, что вижу какие-то безумные попытки за уши притянуть 1 курс матстата, слабо вспоминаемый.

Ответить | Правка | К родителю #260 | Наверх | Cообщить модератору

314. "Зависимость времени выполнения инструкций от данных на CPU A..."  +/
Сообщение от Аноним (-), 06-Фев-23, 03:12 
> Как ты там собрался этот маркер вычленять, если оно у нас ничем
> от исполнения остального кода отличается?

Ну вот GPS - XOR'кой это делает :). Правда поскольку это все с приличной скоростью (chip rate), а поток битов от PRNG надо еще и двигать относительно сигнала, чтобы нащупать правильную корреляцию, а вариантов сигнала еще и по числу спутников, там это специальными железками подперто, чтобы перебор версий "чей сигнал * сдвиг последовательности по времени" при холодном старте делать за какие-то разумные времена.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру