реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> ГПСЧ, выделить несоответствие в проследовательности
toweroff
сообщение Feb 1 2013, 14:35
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Добрый нень всем

Возник такой вопрос. Имеем ГПСЧ последовательность, в районе килобайта. Последовательность тупо генерится через rand()
В этой последовательности заменяем некоторые значения, длина 8 байт, количество замен - 4 по 8 байт

Можно ли какими-то математическими методами определить, что есть эти области, которые "не укладываются" в общую последовательность чисел?
Если есть, где почитать, примеры реализации, в общем любая информация

Спасибо
Go to the top of the page
 
+Quote Post
zombi
сообщение Feb 1 2013, 15:39
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



пытаетесь в блоке случ. данных спрятать 32 байта?
или хотите найти спрятанные кем то другим?
Go to the top of the page
 
+Quote Post
kovigor
сообщение Feb 1 2013, 15:41
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(toweroff @ Feb 1 2013, 17:35) *
Если есть, где почитать, примеры реализации, в общем любая информация

Самый простой способ выяснить это - разбить последовательность на блоки и посчитать для них энтропию. У "испорченных" вами блоков она будет недопустимо низкой. У Кнута во втором томе подробнейшим образом расписаны способы получения случайных чисел и методики оценки качества их последовательностей. Мало того, есть целые системы очень серьезных тестов, вроде того же NIST (ссылки в тексте статьи):
http://habrahabr.ru/post/62237/
Только я вот не пойму, зачем портить последовательностей вставкой в нее посторонних чисел ?
Go to the top of the page
 
+Quote Post
toweroff
сообщение Feb 1 2013, 17:21
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(zombi @ Feb 1 2013, 19:39) *
пытаетесь в блоке случ. данных спрятать 32 байта?
или хотите найти спрятанные кем то другим?

спрятать, в том числе оценить возможность поиска

Цитата(kovigor @ Feb 1 2013, 19:41) *
Самый простой способ выяснить это - разбить последовательность на блоки и посчитать для них энтропию. У "испорченных" вами блоков она будет недопустимо низкой. У Кнута во втором томе подробнейшим образом расписаны способы получения случайных чисел и методики оценки качества их последовательностей. Мало того, есть целые системы очень серьезных тестов, вроде того же NIST (ссылки в тексте статьи):
http://habrahabr.ru/post/62237/
Только я вот не пойму, зачем портить последовательностей вставкой в нее посторонних чисел ?

Кнут - это хорошо. В каком томе? страницы ? sm.gif
>Только я вот не пойму, ...
Хотелось бы вставить туда свои значения. Просто нужно.


Хорошо, перефразирую.
Хочется, чтобы пользователь прислал мне некий шум, в котором есть важные значения, но нужно оценить возможность поиска этим пользователем значения в шуме

Go to the top of the page
 
+Quote Post
_Pasha
сообщение Feb 1 2013, 17:27
Сообщение #5


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Я правильно понимаю, что задача подпадает под термин Digital Watermark?
Go to the top of the page
 
+Quote Post
toweroff
сообщение Feb 1 2013, 17:34
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(_Pasha @ Feb 1 2013, 21:27) *
Я правильно понимаю, что задача подпадает под термин Digital Watermark?

да, что-то вроде того
Только нет потока, есть некий кусок данных
Go to the top of the page
 
+Quote Post
kovigor
сообщение Feb 1 2013, 17:38
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(toweroff @ Feb 1 2013, 21:21) *
Кнут - это хорошо. В каком томе? страницы ? sm.gif

Во втором, я выше написал. Страницы найдите сами, их там около сотни этому вопросу посвящено ...
Go to the top of the page
 
+Quote Post
zombi
сообщение Feb 1 2013, 18:03
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(toweroff @ Feb 1 2013, 21:21) *
спрятать, в том числе оценить возможность поиска

Хочется, чтобы пользователь прислал мне некий шум, в котором есть важные значения, но нужно оценить возможность поиска этим пользователем значения в шуме

Сделайте какую либо функцию важных данных (байт) со случайными данными этого же блока (самое простое XOR но можно и поизголяться).
Место положения важных данных можно тоже сделать зависящим от неких случайных байтов в блоке.
Даже если кто и заподозрит что данные не совсем случайные не зная алгоритма хрен найдёт.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Feb 1 2013, 18:08
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(zombi @ Feb 1 2013, 22:03) *
Сделайте какую либо функцию важных данных (байт) со случайными данными этого же блока (самое простое XOR но можно и поизголяться).
Место положения важных данных можно тоже сделать зависящим от неких случайных байтов в блоке.
Даже если кто и заподозрит что данные не совсем случайные не зная алгоритма хрен найдёт.

в общем да..
со случайным расположением тоже хорошо
да и шифрануть блок тоже гуд sm.gif

итого

Случайное расположение
Шифрование (AES, наверное не потянуть, RTEA)

Долго будут думать? sm.gif
Go to the top of the page
 
+Quote Post
zombi
сообщение Feb 1 2013, 18:17
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(toweroff @ Feb 1 2013, 22:08) *
да и шифрануть блок тоже гуд sm.gif

Не знаю зачем всё это ещё и шифровать biggrin.gif

А вот CRC сделал бы обязательно и тоже где нить внутри спрятал. Что б не подсунули какую лабуду.


Цитата(toweroff @ Feb 1 2013, 22:08) *
Долго будут думать? sm.gif

laughing.gif
Go to the top of the page
 
+Quote Post
toweroff
сообщение Feb 1 2013, 18:36
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Ну тогда я буду думать sm.gif
если еще будут идеи - большое спасибо

И все-таки, математический метод
Даст какие-то всплески?
kovigor, пока еще не читал, но такое в принципе возможно?
Как-то видится всплеск на ровном графике sm.gif
Go to the top of the page
 
+Quote Post
kovigor
сообщение Feb 1 2013, 18:59
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(toweroff @ Feb 1 2013, 22:36) *
И все-таки, математический метод
Даст какие-то всплески?
kovigor, пока еще не читал, но такое в принципе возможно?
Как-то видится всплеск на ровном графике sm.gif

Что возможно ? Обнаружить испорченную ПСЧ ? Конечно.
Еще раз перечитал ветку и так и не понял, что вы хотите получить. Алгоритмы электронной цифровой подписи давно и успешно применяются. Тот же RSA-1024 чудесно считается на ARM7, есть даже готовые библиотеки. Или вам нужно шифровать данные, чтобы их мог расшифровать только тот, у кого есть секретный ключ ? Так опять же, есть RSA. Или вы хотите посрамить профессиональных криптографов и выдумать свой алгоритм ?
Go to the top of the page
 
+Quote Post
zombi
сообщение Feb 1 2013, 22:29
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(kovigor @ Feb 1 2013, 21:59) *
Что возможно ? Обнаружить испорченную ПСЧ ? Конечно.

Спорить не стану. Но мне не понятно как можно обнаружить замену ?
К примеру, есть 100 байт ПСЧ.
Один любой байт меняем на любой.
Как посторонний пользователь может узнать какой байт поменяли ?
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Feb 2 2013, 06:37
Сообщение #14


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(zombi @ Feb 2 2013, 01:29) *
Спорить не стану. Но мне не понятно как можно обнаружить замену ?
К примеру, есть 100 байт ПСЧ.
Один любой байт меняем на любой.
Как посторонний пользователь может узнать какой байт поменяли ?

Если чем-то поможет
Go to the top of the page
 
+Quote Post
maksimp
сообщение Feb 2 2013, 19:03
Сообщение #15


Местный
***

Группа: Участник
Сообщений: 313
Регистрация: 2-07-11
Пользователь №: 66 023



Цитата(toweroff @ Feb 1 2013, 17:35) *
Последовательность тупо генерится через rand()
В этой последовательности заменяем некоторые значения, длина 8 байт, количество замен - 4 по 8 байт

Можно ли какими-то математическими методами определить, что есть эти области, которые "не укладываются" в общую последовательность чисел?

rand() скорее всего использует линейный конгруэнтный генератор
x[i] = (x[i-1] * a + c) mod m
Имея достаточно длинный фрагмент последовательности, этот генератор можно вскрыть, то есть определить x[0], a, c, m. После этого легко найти заменённые байты.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 20:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01509 секунд с 7
ELECTRONIX ©2004-2016