Easyelectronics.ru

Электроника для всех
Текущее время: 06 дек 2019, 03:07

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 92 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 16:33 
Заглядывает иногда

Зарегистрирован: 25 янв 2011, 23:42
Сообщения: 186
Может у кого завалялась. Нужна обратимая функция для одного байта (набор xor, ror и прочего) чтобы на выходе был хороший разброс. Т.е. при поступающих последовательных значениях 0,1,2,3 на выходе создавалось впечатление случайных чисел.

Попробовал от балды поксорить - уж больно предсказуемый выход получается - на 10 последовательных числах уже видна закономерность. В идеале хочется совсем месиво.
Ну и ессно не слишом сложная для асма (больше 256 байт длиной нет смысла).

И гуглом ничего дельного не нашел.
Заранее спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 17:03 
Старожил
Аватара пользователя

Зарегистрирован: 26 янв 2010, 21:48
Сообщения: 3965
Откуда: Звенигород
Алгоритмы вроде RC4. Просто, быстро, годно)))

_________________
От Парижа до Находки с водкой лучше, чем без водки!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 17:24 
Заглядывает иногда

Зарегистрирован: 25 янв 2011, 23:42
Сообщения: 186
Беглый просмотр алгоритмы говорит что для вычислений надо матрицу в 256 байт создавать, а у меня всей памяти 128 байт %(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 17:43 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3323
ксорить надо со своими же младшим битом, или парой.
или сдвиговый регистр с обратной связью куда помещать число, и сдвинуть разок другой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 17:48 
Заглядывает иногда

Зарегистрирован: 25 янв 2011, 23:42
Сообщения: 186
в получаемых последовательностях прослеживаются закономерности, а мне бы хотелось чтобы нет

Код:
data 0x00B8     b4 b5 b0 b1 a4 a5 a0 a1 94 95 
data 0x00C3  90 91 84 85 80 81 34 35 30 31 24 
data 0x00CE  25 20 21 14 15 10 11 04 05 00 01 
data 0x00D9  b6 b7 b2 b3 a6 a7 a2 a3 96 97 92 
data 0x00E4  93 86 87 82 83 36 37 32 33 26 27 
data 0x00EF  22 23 16 17 12 13 06 07 02 03 bc 
data 0x00FA  bd b8 b9 ac ad a8 a9 9c 9d 98 99 
data 0x0105  8c 8d 88 89 3c 3d 38 39 2c 2d 28 
data 0x0110  29 1c 1d 18 19 0c 0d 08 09 be bf 
data 0x011B  ba bb ae af aa ab 9e 9f 9a 9b 8e 
data 0x0126  8f 8a 8b 3e 3f 3a 3b 2e 2f 2a 2b 
data 0x0131  1e 1f 1a 1b 0e 0f 0a 0b f4 f5 f0 
data 0x013C  f1 e4 e5 e0 e1 d4 d5 d0 d1 c4 c5 
data 0x0147  c0 c1 74 75 70 71 64 65 60 61 54 
data 0x0152  55 50 51 44 45 40 41 f6 f7 f2 f3 
data 0x015D  e6 e7 e2 e3 d6 d7 d2 d3 c6 c7 c2 
data 0x0168  c3 76 77 72 73 66 67 62 63 56 57 
data 0x0173  52 53 46 47 42 43 fc fd f8 f9 ec 
data 0x017E  ed e8 e9 dc dd d8 d9 cc cd c8 c9 
data 0x0189  7c 7d 78 79 6c 6d 68 69 5c 5d 58 
data 0x0194  59 4c 4d 48 49 fe ff fa fb ee ef 
data 0x019F  ea eb de df da db ce cf ca cb 7e 
data 0x01AA  7f 7a 7b 6e 6f 6a 6b 5e 5f 5a 5b 
data 0x01B5  4e 4f 4a 4b


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 17:50 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3323
Код:
   
    unsigned char c;
    for (unsigned char j = 0; j < 4; j++){
      c = (!!(b & 0x80)) + (!!(b & 0x40)) + (!!(b & 0x20)) + (!!(b & 0x08)) + (!!(b & 0x02)) + (!!(b & 0x01));
      b >>= 1;
      if (c & 1) b |= 0x80;
    }


полином можно и попроще взять чтобы считалось быстрее.

Show


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 17:51 
Заглядывает иногда

Зарегистрирован: 25 янв 2011, 23:42
Сообщения: 186
_pv писал(а):
ксорить надо со своими же младшим битом, или парой.


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 17:54 
Заглядывает иногда

Зарегистрирован: 25 янв 2011, 23:42
Сообщения: 186
_pv писал(а):
Код:
   
    unsigned char c;
    for (unsigned char j = 0; j < 4; j++){
      c = (!!(b & 0x80)) + (!!(b & 0x40)) + (!!(b & 0x20)) + (!!(b & 0x08)) + (!!(b & 0x02)) + (!!(b & 0x01));
      b >>= 1;
      if (c & 1) b |= 0x80;
    }


полином можно и попроще взять чтобы считалось быстрее.


b - это исходное число?
а что такое !! двойное отрицание?
и самый главный вопрос, как это развернуть обратно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 18:16 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3323
b исходное число, !! превращение любого ненулевого числа в единицу,
if (b & 0x80) c+=1;
if (b & 0x02) c+=1;
...
обратно проще всего по таблице, но можно и в обратную сторону этот сдвиговый регистр развернуть.

google -> linear feedback shift register

хотя месиво наверное можно и проще получить, переворотом порядка бит в байте целиком или частично и/или переворотом ниблов (у авр целая отдельная инструкция swap для этого есть)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 18:21 
Старожил

Зарегистрирован: 07 авг 2014, 17:15
Сообщения: 383
Откуда: дальнее надмосковье
Вот написал для Вас простейший (абсолютно небезопасный) шифровальшик с ключем в 8 бит.

Код:
#define _ISOC99_SOURCE

#include <stdlib.h>
#include <stdint.h>
#include <inttypes.h>
#include <limits.h>
#include <stdio.h>
#include <string.h>

static unsigned char enc(unsigned char num, unsigned char key);
static unsigned char dec(unsigned char num, unsigned char key);

int main() {
    size_t i;
    unsigned char key = 77U;

    for (i = 0U; i <= UCHAR_MAX; i++) {
        unsigned char encoded = enc((unsigned char)i, key);
        unsigned char decoded = dec(encoded, key);
        printf("%zu %" PRIu8 " %" PRIu8 "\n", i, encoded, decoded);
    }

    return 0;
}

static unsigned char enc(unsigned char num, unsigned char key) {
    num = ((num << 4U) & 0xF0U) | ((num >> 4U) & 0x0FU);
    num ^= key;
    return num;
}

static unsigned char dec(unsigned char num, unsigned char key) {
    num ^= key;
    num = ((num << 4U) & 0xF0U) | ((num >> 4U) & 0x0FU);
    return num;
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 20:08 
Заглядывает иногда

Зарегистрирован: 25 янв 2011, 23:42
Сообщения: 186
arm999 писал(а):
Вот написал для Вас простейший (абсолютно небезопасный) шифровальшик с ключем в 8 бит.

num = ((num << 4U) & 0xF0U) | ((num >> 4U) & 0x0FU);
num ^= key;
[/code]


спасибо конечно, но все что вы написали сводится к:
SWAP R16
XOR R16, key

если вы выведете список всех чисел от 0 до 255 то в результате будут невооруженным глазом видны закономерности.
это именно то, о чем я и говорил что хочу избежать


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 20:14 
Старожил

Зарегистрирован: 22 мар 2010, 22:54
Сообщения: 3995
цель какая? и где критерий "прослеживания закономерности"? то, что не видит один, видит другой. не говоря уже о хоть каком-либо целенаправленном анализе данных.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 21:05 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3323
Цитата:
если вы выведете список всех чисел от 0 до 255 то в результате будут невооруженным глазом видны закономерности.

ну давайте тогда наоборот,
вот данные, и даже картинка с закономерностями

числа 0..255:
Код:
00 FF 10 EF 40 BF 50 AF 80 7F 90 6F C0 3F D0 2F
02 FD 12 ED 42 BD 52 AD 82 7D 92 6D C2 3D D2 2D
20 DF 30 CF 60 9F 70 8F A0 5F B0 4F E0 1F F0 0F
22 DD 32 CD 62 9D 72 8D A2 5D B2 4D E2 1D F2 0D
04 FB 14 EB 44 BB 54 AB 84 7B 94 6B C4 3B D4 2B
06 F9 16 E9 46 B9 56 A9 86 79 96 69 C6 39 D6 29
24 DB 34 CB 64 9B 74 8B A4 5B B4 4B E4 1B F4 0B
26 D9 36 C9 66 99 76 89 A6 59 B6 49 E6 19 F6 09
08 F7 18 E7 48 B7 58 A7 88 77 98 67 C8 37 D8 27
0A F5 1A E5 4A B5 5A A5 8A 75 9A 65 CA 35 DA 25
28 D7 38 C7 68 97 78 87 A8 57 B8 47 E8 17 F8 07
2A D5 3A C5 6A 95 7A 85 AA 55 BA 45 EA 15 FA 05
0C F3 1C E3 4C B3 5C A3 8C 73 9C 63 CC 33 DC 23
0E F1 1E E1 4E B1 5E A1 8E 71 9E 61 CE 31 DE 21
2C D3 3C C3 6C 93 7C 83 AC 53 BC 43 EC 13 FC 03
2E D1 3E C1 6E 91 7E 81 AE 51 BE 41 EE 11 FE 01


Вложение:
enc.png
enc.png [ 117.6 Кб | Просмотров: 3367 ]

восстановите алгоритм не подглядывая под спойлер с кодом

Show


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 21:15 
Заглядывает иногда

Зарегистрирован: 25 янв 2011, 23:42
Сообщения: 186
Ink писал(а):
цель какая? и где критерий "прослеживания закономерности"?


цель - чтобы по 10 полученным числам нельзя было определить 11-е с высокой долей вероятности

вот этот код дает именно то, что я хотел найти (если столбец цифр получен из него):
[quote="_pv"]
Код:
   
    unsigned char c;
    for (unsigned char j = 0; j < 4; j++){
      c = (!!(b & 0x80)) + (!!(b & 0x40)) + (!!(b & 0x20)) + (!!(b & 0x08)) + (!!(b & 0x02)) + (!!(b & 0x01));
      b >>= 1;
      if (c & 1) b |= 0x80;
    }

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 21:21 
Заглядывает иногда

Зарегистрирован: 25 янв 2011, 23:42
Сообщения: 186
_pv писал(а):

00 FF 10 EF 40 BF 50 AF 80 7F 90 6F C0 3F D0 2F

+10 +30 +10 +20 +10 +30 +10

02 FD 12 ED 42 BD 52 AD 82 7D 92 6D C2 3D D2 2D

+10 +30 +10 +20 +10 +30 +10

восстановите алгоритм не подглядывая под спойлер с кодом


конечно я не восстановлю, это и не нужно. выявленной закономерности достаточно для атаки


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 21:38 
Старожил
Аватара пользователя

Зарегистрирован: 06 ноя 2013, 16:07
Сообщения: 653
Откуда: Германия
А так (коэффициенты от фонаря)? enc - обратимая

Код:
uint8_t randomByte(uint8_t n)
{
  n = ((((n >> 6) ^ (n >> 5) ^ (n >> 1) ^ n) & 0x01) << 7 ) | (n >> 1);
  return n;
}

void enc(uint8_t * buf, size_t len, uint8_t key)
{
  for(size_t i = 0; i < len; ++i) {
    key = randomByte(key);
    buf[i] ^= key;
  }
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 22:15 
Заглядывает иногда

Зарегистрирован: 25 янв 2011, 23:42
Сообщения: 186
вот простая перестановка бит

00 40 04 44 10 50 14 54 02 42 06 46 12 52 16 56 08 48 0c 4c 18 58 1c 5c 0a 4a 0e 4e 1a 5a 1e 5e 20 60 24 64 30 70 34 74 22 62 26 66 32 72 36 76 28 68 2c 6c 38 78 3c 7c 2a 6a 2e 6e 3a 7a 3e 7e 80 c0 84 c4 90 d0 94 d4 82 c2 86 c6 92 d2 96 d6 88 c8 8c cc 98 d8 9c dc 8a ca 8e ce 9a da 9e de a0 e0 a4 e4 b0 f0 b4 f4 a2 e2 a6 e6 b2 f2 b6 f6 a8 e8 ac ec b8 f8 bc fc aa ea ae ee ba fa be fe 01 41 05 45 11 51 15 55 03 43 07 47 13 53 17 57 09 49 0d 4d 19 59 1d 5d 0b 4b 0f 4f 1b 5b 1f 5f 21 61 25 65 31 71 35 75 23 63 27 67 33 73 37 77 29 69 2d 6d 39 79 3d 7d 2b 6b 2f 6f 3b 7b 3f 7f 81 c1 85 c5 91 d1 95 d5 83 c3 87 c7 93 d3 97 d7 89 c9 8d cd 99 d9 9d dd 8b cb 8f cf 9b db 9f df a1 e1 a5 e5 b1 f1 b5 f5 a3 e3 a7 e7 b3 f3 b7 f7 a9 e9 ad ed b9 f9 bd fd ab eb af ef bb fb bf ff

визуально лучше, но на графике жопа

Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 22:27 
Заглядывает иногда

Зарегистрирован: 25 янв 2011, 23:42
Сообщения: 186
добавил ксор и стало хуже :(

Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 22:37 
Заглядывает иногда

Зарегистрирован: 25 янв 2011, 23:42
Сообщения: 186
пока самый лучший результат, перестановка бит и один ксор

Изображение

39,103,35,99,55,119,51,115,37,101,33,97,53,117,49,113,47,111,43,107,63,127,59,123,45,109,41,105,61,125,57,121,7,71,3,67,23,87,19,83,5,69,1,65,21,85,17,81,15,79,11,75,31,95,27,91,13,77,9,73,29,93,25,89,167,231,163,227,183,247,179,243,165,229,161,225,181,245,177,241,175,239,171,235,191,255,187,251,173,237,169,233,189,253,185,249,135,199,131,195,151,215,147,211,133,197,129,193,149,213,145,209,143,207,139,203,159,223,155,219,141,205,137,201,157,221,153,217,38,102,34,98,54,118,50,114,36,100,32,96,52,116,48,112,46,110,42,106,62,126,58,122,44,108,40,104,60,124,56,120,6,70,2,66,22,86,18,82,4,68,0,64,20,84,16,80,14,78,10,74,30,94,26,90,12,76,8,72,28,92,24,88,166,230,162,226,182,246,178,242,164,228,160,224,180,244,176,240,174,238,170,234,190,254,186,250,172,236,168,232,188,252,184,248,134,198,130,194,150,214,146,210,132,196,128,192,148,212,144,208,142,206,138,202,158,222,154,218,140,204,136,200,156,220,152,216


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 22:49 
Заглядывает иногда

Зарегистрирован: 25 янв 2011, 23:42
Сообщения: 186
dev писал(а):
А так (коэффициенты от фонаря)? enc - обратимая


банальный ксор, выкупается по 2-3 числам подряд


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 13 янв 2016, 23:42 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3323
посчитайте CRC8 от каждого числа, особенно с каким-нибудь полиномом нестандартным, особенно хорошо получится если два-три раза а если еще и с разными полиномами, то вообще.

uint8_t Crc8(const uint8_t data)
{
unsigned crc = 0;
int i;
crc ^= (data << 8);
for (i = 8; i; i--) {
if (crc & 0x8000) crc ^= (0x1070 << 3);
crc <<= 1;
}
return (uint8_t)(crc >> 8);
}

b = Crc8(Crc8(Crc8(i)));

Вложение:
enc.png
enc.png [ 144.43 Кб | Просмотров: 3321 ]

красным - RAND()*255 для сравнения.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 14 янв 2016, 00:08 
Старожил
Аватара пользователя

Зарегистрирован: 28 мар 2012, 10:33
Сообщения: 1204
Откуда: Сочи
Если кому-то будет выгодно расшифровать ваш ксор или crc8 - он будет расшифрован. В этом случае нужно использовать нормальную криптографию.

Если же ваш код никому не нужен - его и шифровать смысла нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 14 янв 2016, 02:19 
Старожил
Аватара пользователя

Зарегистрирован: 06 ноя 2013, 16:07
Сообщения: 653
Откуда: Германия
timsa писал(а):
dev писал(а):
А так (коэффициенты от фонаря)? enc - обратимая


банальный ксор, выкупается по 2-3 числам подряд


Да? о_0 Можно выкупить ксор в следующей последовательности?

Код:
21 138 197 98 177 88 172 214 107 53 26 141 198 99 49 24 12 6 131 65 32 144 72 164 210 105
180 218 109 182 91 173 86 43 149 202 101 178 89 44 150 203 229 242 249 252 126
191 223 239 119 59 157 206 103 51 153 204 230 243 121 188 222 111 55 155 77 38 19
9 132 66 33 16 8 4 2 129 192 224 112 56 156 78 39 147 73 36 146 201 100 50 25 140 70
35 145 200 228 114 185 92 174 87 171 213 106 181 90 45 22 139 69 34 17 136 68 162 81
40 148 74 37 18 137 196 226 241 248 124 62 31 15 7 3 1 128 64 160 208 232 116 58 29 142
199 227 113 184 220 238 247 123 61 30 143 71 163 209 104 52 154 205 102 179 217 108 54 27
13 134 195 225 240 120 60 158 207 231 115 57 28 14 135 67 161 80 168 212 234 245 250 253 254
255 127 63 159 79 167 211 233 244 122 189 94 47 151 75 165 82 41 20 10 133 194 97 176 216 236 118 187
221 110 183 219 237 246 251 125 190 95 175 215 235 117 186 93 46 23 11 5 130 193 96 48 152 76 166 83 169 84 170 85 42


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 14 янв 2016, 07:27 
Заглядывает иногда

Зарегистрирован: 03 июл 2012, 19:16
Сообщения: 138
Берется таблица ,чем больше тем лучше, пока памяти хватит или не надоест, забивается случайными значениями с каким душе угодно распределением. Дальше ксорим данные на число из таблицы (outdata[i] = indata[i] xor table[k]), двигаем указатель k. Для 10, допустим, байт во входной последовательности при таблице, ну пусть 256 байт, для одной последовательности будет разный выход целых 128 раз подряд :). Главное счетчики шифровщика и дешифровщика синхронизировать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обратимая функция 0..255 => месиво => 0..255
СообщениеДобавлено: 14 янв 2016, 09:27 
Заглядывает иногда

Зарегистрирован: 25 янв 2011, 23:42
Сообщения: 186
antonluba писал(а):
Если кому-то будет выгодно расшифровать ваш ксор или crc8 - он будет расшифрован. В этом случае нужно использовать нормальную криптографию. Если же ваш код никому не нужен - его и шифровать смысла нет.


Есть т.н. принцип скрытого письма или стеганографии. Чтобы начать что-то расшифровывать надо знать что это именно шифр, а не мусор. Моя функция это сокрытие адреса ячейки в одноразовом блокноте. Насколько мне известно, одноразовый блокнот это один из немногих (если не единственный) в принципе нерасшифровываемых методов шифрования.

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 92 ]  На страницу 1, 2, 3, 4  След.

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB