powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Пятничная криптостойкость
25 сообщений из 137, страница 4 из 6
Пятничная криптостойкость
    #39793803
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЦитата
авторАрхивирование с бесконечным коэффициентом сжатия невозможно в общем случае, но в частных - легко, в том числе и в случае корней и иррациональных чисел. Поэтому последовательность знаков в иррациональном числе имеет смысл изучать.
И мой камент был к ней.
Тогда я не понял, какова связь. Можно записать число 11? Можно взять корень? Можно получить бесконечную последовательность? Коэффициент сжатия 2 к бесконечности не очевиден?
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39793805
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BarloneЕсть более быстрые способы генерации случайной последовательности.
Поделитесь?
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39793813
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonМы берем зашифрованное сообщение и применяем к нему известный (уже) генератор до тех пор пока регулярные структуры в нем не проявятся.
То есть решаем перебором. Но ведь чисел, из которых можно взять корень, очень много. Если брать числа хотя бы в районе от 2 64 и до 2 64 +2 64 , то перебор займёт уже очень приличное время. Но 64 - это далеко не самое маленькое число, которое я могу придумать.

Да, и в каждом сеансе я меняю сеансовый ключ, то есть беру пару новых чисел.
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39793834
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TРазмышлял тут про скорость аппаратного AES
Пусть грубо 2ГБ в секунду. Память может отдавать данные много быстрее, то есть имеем ожидание из-за вычислений. 256-битный xor выполняется, примерно за пару тактов. Ну пусть будет 3 для гарантии, хотя весьма вероятно, что за один такт. Пусть система о 3 гигагерцах. Тогда имеем 32 байта за наносекунду. Пусть xor выполняется два раза (для двух коней), тогда имеем 16 байт за наносекунду или 16ГБ в секунду. При этом второе (третье, четвёртое, ...) ядро вычисляет две последовательности. Для вычисления память не нужна (почти). Вычисление итеративное, из предыдущих данных получаются новые. Вычисление довольно простое. Если два-три ядра успеют вычислять со скоростью генерации 16 ГБ в секунду, то получаем теоретический предел 16 ГБ. Если не успеют - предел меньше. Но по сравнению с 2 ГБ/с есть запас. Делим 16 на 4 загружаемых ядра - всё равно будет двойной запас. И работает без требования о наличии железных команд, считающих AES.

Не в плане кого-то убеждать, но альтернатива интересная.
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39793839
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex55555Да, и в каждом сеансе я меняю сеансовый ключ, то есть беру пару новых чисел.
Подумал, понял, что не знаю, можно или нет статистически обнаружить отклонение от известного распределения при наличии конкретного шаблона в сообщении. Поэтому из-за незнания придётся усложнить алгоритм перепутыванием байт в сообщении по закону, который меняется на каждом сеансе.
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39793847
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TВсе хорошо, но что делать там где проц не поддерживает AES ? Это не только ARMов касается. Интел поддержку AES включил только в 2008 и то не на всех процах.
Под рукой нашлись два ноута где нет AES, процы: i3-2310M и AMD A8-3510MX.

PS В вики немного врут, на i3-7100U есть AES.
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39793871
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TmaytonНе собралось.
Поправил, проверяй.
Спасибо. Вечером повторю. Кстати на днях ко мне заедет 6-ядерный
Ryzen. Можно будет погонять на нем карточный трассировщик луча.
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39793925
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex55555maytonМы берем зашифрованное сообщение и применяем к нему известный (уже) генератор до тех пор пока регулярные структуры в нем не проявятся.
То есть решаем перебором. Но ведь чисел, из которых можно взять корень, очень много. Если брать числа хотя бы в районе от 2 64 и до 2 64 +2 64 , то перебор займёт уже очень приличное время. Но 64 - это далеко не самое маленькое число, которое я могу придумать.

Да, и в каждом сеансе я меняю сеансовый ключ, то есть беру пару новых чисел.
В чем заключается твоя идея? Вместо ключа длиной 256 бит который генерируется
обычно секюрными генераторами, или хешом от парольной фразы, ты предлагаешь
заведомо узкую по области значений и сурьективную функцию которая пространство
ключей сужает от 256 до 64 бит.

Зачем это? Что мы на этом экономим?
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39793934
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мысли вслух, может кто что подскажет: там где AES не поддерживается, то перейти на cbc xor, но тут две проблемы:

1. Определить что AES аппаратно не поддерживается, не гуглил, но это вроде как можно определить что поддеживает проц перед использованием.

2. Переключиться на xor если одна из сторон не может использовать аппаратный AES. Тут выравнивание по 16 байт заставляет шифровать все 1472 байта (максимум для UDP). В конец пакета добавлено два байта 0xA55A, по которым можно проверить корректность расшифровки, поэтому видится только что получатель на первый пакет либо сообщает отправителю что не в состоянии расшифровать (нет поддержки AES), либо не расшифровав с AES расшифровывает с XOR.
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39793935
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TМысли вслух, может кто что подскажет: там где AES не поддерживается, то перейти на cbc xor, но тут две проблемы:

1. Определить что AES аппаратно не поддерживается, не гуглил, но это вроде как можно определить что поддеживает проц перед использованием.

2. Переключиться на xor если одна из сторон не может использовать аппаратный AES. Тут выравнивание по 16 байт заставляет шифровать все 1472 байта (максимум для UDP). В конец пакета добавлено два байта 0xA55A, по которым можно проверить корректность расшифровки, поэтому видится только что получатель на первый пакет либо сообщает отправителю что не в состоянии расшифровать (нет поддержки AES), либо не расшифровав с AES расшифровывает с XOR.
Технически. Тебе проще собирать и поддерживать 2 бинарника.
- с аппаратной поддержкой AES для модных процессоров.
- с программной эмуляцией того-же AES для старых жлобских Пенитиумов и Ардуино.
Выбор сделать сразу на фазе инсталляции.

Усложнять протокол добавлением выбора - ябы не стал.
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39793937
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonDima TМысли вслух, может кто что подскажет: там где AES не поддерживается, то перейти на cbc xor, но тут две проблемы:

1. Определить что AES аппаратно не поддерживается, не гуглил, но это вроде как можно определить что поддеживает проц перед использованием.

2. Переключиться на xor если одна из сторон не может использовать аппаратный AES. Тут выравнивание по 16 байт заставляет шифровать все 1472 байта (максимум для UDP). В конец пакета добавлено два байта 0xA55A, по которым можно проверить корректность расшифровки, поэтому видится только что получатель на первый пакет либо сообщает отправителю что не в состоянии расшифровать (нет поддержки AES), либо не расшифровав с AES расшифровывает с XOR.
Технически. Тебе проще собирать и поддерживать 2 бинарника.
- с аппаратной поддержкой AES для модных процессоров.
- с программной эмуляцией того-же AES для старых жлобских Пенитиумов и Ардуино.
Выбор сделать сразу на фазе инсталляции.

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

Да, вариант программной реализации AES я умолчал, погуглю тоже, но и так понятно что это будет тормоз на слабом железе. Я за скорость, и ради скорости готов пожертвовать криптостойкостью. Как вариант можно предусмотреть сборку бинарника не поддерживающего слабое xor шифрование.
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39793938
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот тут пишут про детектор команд AES new instructions:

https://stackoverflow.com/questions/38798818/within-my-c-program-is-there-a-way-to-check-if-the-cpu-has-aes-ni

Можно в рантайме проверять.
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39793945
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЗачем это? Что мы на этом экономим?
Получаем скорость. Если AES реализовали в железе, то уж вычисление "длинного" корня там и подавно легко добавить, тогда скорость будет в разы больше.

При этом ключ будет равен длине пакета. А число, из которого берётся корень, есть лишь способ сжатия информации о ключе. В начале сеанса шлём число, а не всю последовательность для шифрования. Число может быть маленьким, в разы меньше 256 бит, ибо перебором и 64 бита будут месяцами на мега-кластере считать.

Но это не готовое предложение, это из разряда "мысли вслух". Потому что полноценно обосновывать это всё мне времени жалко.
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39793947
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex55555maytonЗачем это? Что мы на этом экономим?
Получаем скорость. Если AES реализовали в железе, то уж вычисление "длинного" корня там и подавно легко добавить, тогда скорость будет в разы больше.
Почему ты вообще в тему втащил "корень" ? Как его считать? Методом Ньютона? Метод Ньютона
потребует массы арифметики над длинным (нет не длинным а бесконечно растущим числом).

И почему ты решил что твой метод дешевле чем просто генерация криптобезопасного случайного ключа?
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39793948
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T1. Определить что AES аппаратно не поддерживается, не гуглил, но это вроде как можно определить что поддеживает проц перед использованием.
авторBefore an application attempts to use AESNI instructionsor PCLMULQDQ, the application should follow the steps
illustrated in Section 11.6.2, “Checking for SSE/SSE2 Support.” Next, use the additional step provided below:
Check that the processor supports AESNI (if CPUID.01H:ECX.AESNI[bit 25] = 1); check that the processor
supports PCLMULQDQ (if CPUID.01H:ECX.PCLMULQDQ[bit 1] = 1).
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39793949
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПочему ты вообще в тему втащил "корень" ?
Потому что был вопрос про шифрование.
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39793983
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TmaytonНе собралось.
Поправил, проверяй.
Хехе. На жлобском i3.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
mayton@mayton-HP-250-G4-Notebook-PC:/sql.ru/dima/crypt_speed$ ./make.sh 
compile Mar 30 2019 00:33:23
test speed fill 4096 blocks of 500000 bytes each ... 
filled 1953 Mb in 4827122 ms 404 Mb/s   
test speed CBC XOR encrypt 4096 blocks of 500000 bytes each ... 
3674763 ms 531 Mb/s
test speed RC4 encrypt 4096 blocks of 500000 bytes each ... 
10483649 ms 186 Mb/s
test speed AES-128 encrypt 4096 blocks of 500000 bytes each ... 
1072579 ms 1820 Mb/s
test speed AES-128 + CBC encrypt 4096 blocks of 500000 bytes each ... 
5079565 ms 384 Mb/s
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39793995
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только заметил, я с выводом немного накосячил:
1. не "4096 blocks of 500000 bytes each" а 500000 блоков по 4096 байт
2. В линуксе время вывелось в мкс, но скорость правильно посчиталась.
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39793997
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonХехе. На жлобском i3.
Добавлю в общую таблицу
Алгоритмi7-6700Ki7-3770Ki5-660mayton i3CBC xor1784 ms 1094 Mb/s2298 ms 849 Mb/s3429 ms 569 Mb/s3674 ms 531 Mb/sRC42689 ms 726 Mb/s4794 ms 407 Mb/s4897 ms 398 Mb/s10483 ms 186 Mb/sAES-128311 ms 6280 Mb/s648 ms 3014 Mb/s1102 ms 1772 Mb/s1072 ms 1820 Mb/sAES-128 + CBC1390 ms 1405 Mb/s2709 ms 720 Mb/s2488 ms 785 Mb/s5079 ms 384 Mb/s

Странно что добавление CBC так сильно замедляет. На некоторых процах становится AES+CBC даже медленнее чем CBC xor. Хотя код не сильно меняется.
Просто AES
Код: plaintext
1.
2.
3.
4.
5.
6.
	void encrypt(void *buffer, size_t size) {
		__m128i *end = ((__m128i *)buffer) + size / 16;
		for (__m128i *p = (__m128i *)buffer; p < end; p++) {
			aes128_enc(key_schedule, p, p);
		}
	}

AES+CBC
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
	void cbc_encrypt(void *buffer, size_t size) {
		__m128i *end = ((__m128i *)buffer) + size / 16;
		__m128i prev = { 0 };
		for (__m128i *p = (__m128i *)buffer; p < end; p++) {
			__m128i v = _mm_xor_si128(*p, prev);
			aes128_enc(key_schedule, &v, p);
			prev = *p;
		}
	}


Добавились две простые операции: XOR двух блоков и копирование блока. По сравнению с aes128_enc() это легкие операции, но скорость почему-то падает в разы.
aes128_enc()
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
static void aes128_enc(__m128i *key_schedule, __m128i *plainText, __m128i *cipherText) {
	__m128i m = _mm_loadu_si128(plainText);

	m = _mm_xor_si128(m, key_schedule[0]);
	m = _mm_aesenc_si128(m, key_schedule[1]);
	m = _mm_aesenc_si128(m, key_schedule[2]);
	m = _mm_aesenc_si128(m, key_schedule[3]);
	m = _mm_aesenc_si128(m, key_schedule[4]);
	m = _mm_aesenc_si128(m, key_schedule[5]);
	m = _mm_aesenc_si128(m, key_schedule[6]);
	m = _mm_aesenc_si128(m, key_schedule[7]);
	m = _mm_aesenc_si128(m, key_schedule[8]);
	m = _mm_aesenc_si128(m, key_schedule[9]);
	m = _mm_aesenclast_si128(m, key_schedule[10]);
	_mm_storeu_si128(cipherText, m);
}


Асм мельком глянул, серьезной разницы в коде нет.
Единственное подозрение что предсказатель в проце распараллеливает просто AES, предугадывая какой блок будет обсчитываться следующим, а после добавления CBC параллелить невозможно.
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39794010
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавил дешифрование AES с CBC
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
	void cbc_decrypt(void *buffer, size_t size) {
		__m128i *end = ((__m128i *)buffer) + size / 16;
		__m128i prev = { 0 };
		for (__m128i *p = (__m128i *)buffer; p < end; p++) {
			__m128i v, b = *p;
			aes128_dec(key_schedule, p, &v);
			*p = _mm_xor_si128(v, prev);
			prev = b;
		}
	}



Просто AES
Код: plaintext
1.
2.
3.
4.
5.
6.
	void decrypt(void *buffer, size_t size) {
		__m128i *end = ((__m128i *)buffer) + size/16;
		for (__m128i *p = (__m128i *)buffer; p < end; p++) {
			aes128_dec(key_schedule, p, p);
		}
	}



Затестил скорость и она такая же как у просто AES
На всякий случай добавил тест скорости дешифрования AES, она не отличается от шифрования.
ОперацияСкоростьAES.encrypt()6009 Mb/sAES.decrypt()5847 Mb/sAES.cbc_encrypt()1380 Mb/sAES.cbc_decrypt()5991 Mb/s

PS Потестил в линуксе - тоже тормозит cbc_encrypt(). И в линуксе почему-то почти вдвое медленнее чем в виндовсе, хотя обе виртуалки на одном хосте.
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39794029
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел классический исходник AES, т.е. без спец.команд проца. Затестил шифрование им. В 100 раз медленнее. На слабеньком i3-2310M скорость 21 Мб/сек. Думаю ARM вообще захлебнется.
Вобщем не вариант использовать AES там где нет его поддержки процом.
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39794044
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри утилита OpenSSL имеет встроенные бенчмарки.
Возможно есть симметричка попроще чем AES по мегафлопам
но посильнее чем "Хорь".
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39794053
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Типа такого. AES против DES. Насколько я понимаю каждый тест ограничен в 3 секунды. И
меряется количество блоков которые удалось успеть отработать с учотом вариативной длины
блока. При этом насколько я понял это не блок шифрования а блок одной операции OpenSSL.
Например внизу указана скорость DES для 16к блока.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
mayton@mayton-HP-250-G4-Notebook-PC:~$ openssl speed aes-128-cbc
Doing aes-128 cbc for 3s on 16 size blocks: 13832691 aes-128 cbc's in 3.00s
Doing aes-128 cbc for 3s on 64 size blocks: 3787056 aes-128 cbc's in 3.00s
Doing aes-128 cbc for 3s on 256 size blocks: 967555 aes-128 cbc's in 3.00s
Doing aes-128 cbc for 3s on 1024 size blocks: 243699 aes-128 cbc's in 3.00s
Doing aes-128 cbc for 3s on 8192 size blocks: 30517 aes-128 cbc's in 3.00s
Doing aes-128 cbc for 3s on 16384 size blocks: 15282 aes-128 cbc's in 3.00s
OpenSSL 1.1.0g  2 Nov 2017
built on: reproducible build, date unspecified
options:bn(64,64) rc4(16x,int) des(int) aes(partial) blowfish(ptr) 
compiler: gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/lib/ssl\"" -DENGINESDIR="\"/usr/lib/x86_64-linux-gnu/engines-1.1\"" 
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128 cbc      73774.35k    80790.53k    82564.69k    83182.59k    83331.75k    83460.10k
mayton@mayton-HP-250-G4-Notebook-PC:~$ 
mayton@mayton-HP-250-G4-Notebook-PC:~$ openssl speed des-cbc
Doing des cbc for 3s on 16 size blocks: 7752213 des cbc's in 3.00s
Doing des cbc for 3s on 64 size blocks: 1997533 des cbc's in 3.00s
Doing des cbc for 3s on 256 size blocks: 502666 des cbc's in 3.00s
Doing des cbc for 3s on 1024 size blocks: 125918 des cbc's in 2.99s
Doing des cbc for 3s on 8192 size blocks: 15747 des cbc's in 3.00s
Doing des cbc for 3s on 16384 size blocks: 7849 des cbc's in 3.00s
OpenSSL 1.1.0g  2 Nov 2017
built on: reproducible build, date unspecified
options:bn(64,64) rc4(16x,int) des(int) aes(partial) blowfish(ptr) 
compiler: gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/lib/ssl\"" -DENGINESDIR="\"/usr/lib/x86_64-linux-gnu/engines-1.1\"" 
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
des cbc          41345.14k    42614.04k    42894.17k    43123.76k    42999.81k    42866.01k
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39794055
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TСтранно что добавление CBC так сильно замедляет.
Ничего странного. ECB аппаратно распараллеливается, СВС этого не может в принципе.
...
Рейтинг: 0 / 0
Пятничная криптостойкость
    #39794062
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovDima TСтранно что добавление CBC так сильно замедляет.
Ничего странного. ECB аппаратно распараллеливается, СВС этого не может в принципе.
Что-то я затупил. Понял почему расшифровка не тормозит - она параллелится.
...
Рейтинг: 0 / 0
25 сообщений из 137, страница 4 из 6
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Пятничная криптостойкость
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]