Быстрый алгоритм шифрования AES ECB 128/192/256

Публикация № 1319038

Разработка - Защита и шифрование

aes aes-256 симметричное шифрование

Реализация существенно оптимизированного алгоритма симметричного шифрования AES (Advanced Encryption Standard) в режиме ECB (Electronic codebook) с различной длиной ключа 128/192/256 без использования внешних компонент, zip-файлов, обращения к диску или БД и без привязки к ОС.

Предлагаемая обработка является существенно переработанной версией другой обработки, опубликованной здесь ранее:

//catalog.mista.ru/public/1223640/

Её автор Никита Хацкевич проделал большую работу по переводу обработки с языка C на язык 1С. Однако у неё, на мой взгляд, осталось две проблемы:

1. Формат входных и выходных данных: строки в HEX-формате. Удобнее было бы иметь дело с типом ДвоичныеДанные.

2. Крайне низкая производительность. Когда я попытался использовать модуль "как есть" - быстро понял, что это не получится, т. к. слишком долго. Пришлось засучить рукава и внести свой вклад )

Обе проблемы удалось полностью решить, но от исходной обработки мало что осталось.

Первым делом был изменён тип входных данных - обработка сразу показала неплохой прирост в производительности. Но наиболее существенный прирост был получен за счёт предварительного расчёта всего, что можно было рассчитать. Эти данные были помещены в строку JSON, из которой при запуске полностью формируется готовая структура Const. Производительность выросла на порядок.

Следующей проблемой оказалась функция платформы "ПобитовоеИсключительноеИли" - она оказалась в топе по накладным расходам. Ок - делаем двумерный массив с посчитанными значениями. Но применить тот же приём со строкой JSON не удалось, так как загрузка этой строки стала занимать существенную часть времени. Тогда был применён другой приём - весь массив был записан побайтно в файл и затем загружен в макет. При старте вычислений из макета получается переменная типа ДвоичныеДанные, которая нарезается в массив буферов по 256 байт. Это отрабатывает быстро, но прирост в производительности от замены функции платформы составил всего 1,5-2 раза. Если вам требуется просто модуль, а не обработка, без каких-либо макетов - то стоит заменить обратно "XOR" на вызов типовой функции "ПобитовоеИсключительноеИли".

Ещё некоторое количество миллисекунд удалось выудить за счёт сокращения вложенности вызовов функций. Кое где в ущерб читаемости.

Заметка о самом алгоритме

Шифр блочный и поэтому если входные данные не кратны 16 байтам - "хвостик" забивается нулями. Это не очень хорошо с точки зрения криптостойкости, поэтому лучше, чтобы это были не нули, а случайные значения. Но в этом случае становится непонятна длина исходных данных. Помещать длину в начало или в конец - тоже не очень хорошо. Лучше передавать её отдельно и затем обрезать результат расшифровки до нужной длины.

Данная проблема в обработке не была отработана, так как не всем это нужно.

Тесты

Обработка тестировалась на платформе 1С:Предприятие 8.3 (8.3.16.1502).

Процедура тестирования исходной обработки:

&НаСервере
Процедура ТестСкоростиНаСервере()
	
	ОбработкаОбъект	= РеквизитФормыВЗначение("Объект");
	СчётчикПаролей	= 1;
	ИсходнаяСтрока	= "";
	
	Для ЧислоБлоков = 1 по 32 Цикл
		
		Данные			= ПолучитьДанные(ЧислоБлоков);
		ДанныеHEX		= ПолучитьHexСтрокуИзДвоичныхДанных(Данные);
		СреднееВремя	= 0;
		
		Для НомерИтерации = 1 по 10 Цикл
			
			Ключ256			= ПолучитьКлюч256(Формат(СчётчикПаролей, ""));
			Ключ256_HEX		= ПолучитьHexСтрокуИзДвоичныхДанных(Ключ256);
			СчётчикПаролей	= СчётчикПаролей + 1;
			
			Время1 = ТекущаяУниверсальнаяДатаВМиллисекундах(); // СТАРТ!
			
			РезультатHEX	= ОбработкаОбъект.Зашифровать(ДанныеHEX, Ключ256_HEX, 256);
			ИсходныеДанные	= ОбработкаОбъект.Расшифровать(РезультатHEX, Ключ256_HEX, 256);
			
			Время2 = ТекущаяУниверсальнаяДатаВМиллисекундах(); // СТОП!
			
			СреднееВремя	= СреднееВремя + Время2 - Время1;
			
		КонецЦикла;
		
		ТекстСообщения = СтрШаблон(
			"%1;%2"
			,Формат(ЧислоБлоков, "ЧН=; ЧГ=")
			,Формат(СреднееВремя / 10, "ЧРД=,; ЧН=; ЧГ=")
		);
		Сообщить(ТекстСообщения);
	КонецЦикла;
	
КонецПроцедуры

Результаты. Первый столбец - число блоков в сообщении. Второй столбец - среднее количество миллисекунд, необходимое для зашифровки и расшифровки этого сообщения 256-битным ключом за 10 итераций. Ключ на каждой итерации новый.

Число блоков млсек
1 1172,7
2 2095,9
3 3337,3
4 4462,9
5 5461
6 6124,4
7 7587,5
8 9798,7
9 10776,4
10 12567,2
11 13681,9
12 14596,7
13 15450,6
14 16352
15 17452,1
16 18694,3
17 20562,8

 

Процедура тестирования этой обработки:

&НаСервере
Процедура ТестСкоростиНаСервере()
	
	ОбработкаОбъект	= РеквизитФормыВЗначение("Объект");
	СчётчикПаролей	= 1;
	ИсходнаяСтрока	= "";
	
	Для ЧислоБлоков = 1 по 32 Цикл
		
		Данные			= ПолучитьДанные(ЧислоБлоков);
		СреднееВремя	= 0;
		
		Для НомерИтерации = 1 по 10 Цикл
			
			Ключ256			= ПолучитьКлюч256(Формат(СчётчикПаролей, ""));
			СчётчикПаролей	= СчётчикПаролей + 1;
			
			Время1 = ТекущаяУниверсальнаяДатаВМиллисекундах(); // СТАРТ!
			
			Результат		= ОбработкаОбъект.Зашифровать(Данные, Ключ256, 256);
			ИсходныеДанные	= ОбработкаОбъект.Расшифровать(Результат, Ключ256, 256);
			
			Время2 = ТекущаяУниверсальнаяДатаВМиллисекундах(); // СТОП!
			
			СреднееВремя	= СреднееВремя + Время2 - Время1;
			
		КонецЦикла;
		
		ТекстСообщения = СтрШаблон(
			"%1;%2"
			,Формат(ЧислоБлоков, "ЧН=; ЧГ=")
			,Формат(СреднееВремя / 10, "ЧРД=,; ЧН=; ЧГ=")
		);
		Сообщить(ТекстСообщения);
	КонецЦикла;
	
КонецПроцедуры

Результат. Столбцы те же.

Число блоков млсек
1 63,7
2 107,2
3 142,1
4 184,1
5 222,1
6 253,2
7 303,8
8 322,1
9 396,3
10 417,3
11 439,8
12 495,6
13 598,3
14 601,8
15 680,9
16 743,9
17 806,5
18 847,8
19 795,7
20 687
21 915,6
22 947,6
23 927,3
24 944,6
25 978,6
26 1019,1
27 1076,8
28 1095,7
29 1149,2
30 1251,6
31 1260,3
32 1221,4

 

17 блоков - 20562,8 млсек и 806,5. Итого: ускорение в 25,5 раз.

Оба результата в виде графика:

Скачать файлы

Наименование Файл Версия Размер
AES_ESB_v2.0

.epf 27,34Kb
30.10.20
9
.epf 2.0 27,34Kb 9 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. malikov_pro 609 30.10.20 13:14 Сейчас в теме
Плюс за развите темы криптографии на синтаксисе 1С.
Если можете опубликовать на github, то будет отлично, в идеале организовать библиотеку по аналогии с crypto-js в npm. Если нужны sm без проблем скачаю.

Сам для JWT использую HMAC и RSA256, первый в паблике есть, второй только в обработке на IS.
10. 1div0 63 01.11.20 09:48 Сейчас в теме
(1) Спасибо за Ваш отзыв.
Пост появился именно для того, чтобы нажить неисчислимые богатства (и больше не работать, шутка). На самом деле периодически бывает интересно что-то скачать, а местной валюты нет.
В данном случае вообще интересно получилось, так как эта статья состоялась благодаря вот этой:
https://infostart.ru/public/952753/
Мой коллега скачал обработку для меня за свои sm.

По поводу JWT - у меня та же самая задача. Ради этого и занялся. HMAC и RSA256 - это очень хорошо, и есть готовый инструмент через МенеджерКриптографии. И не надо велосипед изобретать. Но мне как-то накладно показалось в дальнейшем обслуживании. Я имею ввиду возню с сертификатами. Поэтому я начал искать симметричный алгоритм с одним закрытым ключом.
Впрочем я об этом вчера написал статью, она ещё на модерации:
https://infostart.ru/public/1319502/
nsirotkin@mail.ru; +1 Ответить
2. Pawlick 10 31.10.20 16:10 Сейчас в теме
Лично мне вот прям сейчас ничего шифровать не нужно, но я точно знаю, что когда понадобиться - цены не будет обработине.
Плюс однозначно.
3. d_neon 31.10.20 17:14 Сейчас в теме
В чем смысл переписывания алгоритма шифрования с плюсов на 1С? Прирост производительности мы вряд ли получим, придется много кода писать вручную. На плюсах сдвиг битов, XOR, сложение по модулю 2^32 и много чего еще, используемое в шифровании делается одной командой.
Или речь только про то, чтобы отказаться от внешних компонент?
9. 1div0 63 01.11.20 09:30 Сейчас в теме
(3) Вкратце ответ - да.
Я с Вами полностью согласен. Тратить своё время, вместо того, чтобы использовать готовое - крайне сомнительная вещь.
Однако, с другой стороны, я тут недавно переезжал большой системой с Windows на Linux, и внешние компоненты доставили, мягко говоря, хлопот.
И я пока вздрагиваю, когда читаю про внешние компоненты. Уверен это временно и скоро снова начну их применять.
Также согласен с тем, что чтобы обогнать плюсы, надо использовать не 1С, а, скажем CUDA (https://ru.wikipedia.org/wiki/CUDA). Но тут речь не про обогнать плюсы, а про приемлемое использование в 1С.
19. papami 32 01.11.20 17:09 Сейчас в теме
(9)
Также согласен с тем, что чтобы обогнать плюсы

А в CUDA код будет на чем написан?)
20. 1div0 63 02.11.20 05:09 Сейчас в теме
(19)
На специальном упрощённом диалекте языков C, C++, Фортран... Для успешной трансляции кода на этом языке в состав CUDA SDK входит собственный Си-компилятор командной строки nvcc компании Nvidia.


Нативный язык изначально не имеет возможностей, предоставляемых CUDA, поэтому я допустил их сравнение друг с другом.
4. ILM 238 31.10.20 18:41 Сейчас в теме
Любое изобретение и разработка может быть использовано в разных целях. Наличие быстрого алгоритма шифрования, реализованного на 1С позволит злоумышленникам написать обработки шифрования работающие внутри платформы. Предлагаю удалить эту обработку из открытого доступа сайта Инфостарт.
5. PerlAmutor 122 31.10.20 20:21 Сейчас в теме
(0) Спасибо за публикацию. Алгоритм Deflate/Inflate осилите? Я на днях почитал много про него, реализация на 1С должна быть крайне увлекательной несмотря на кажущуюся простоту и доступность информации.
6. 1div0 63 01.11.20 09:16 Сейчас в теме
(5) Пожалуйста:

ХЗ = Новый ХранилищеЗначения(ВашиДанные, Новый СжатиеДанных(9));
СтрокаBase64 = СериализаторXDTO.XMLСтрока(ХЗ);
ДвоичныеДанные = Base64Значение(СтрокаBase64);


Назад - всё то же самое в обратном порядке:
СтрокаBase64	= Base64Строка(ДвоичныеДанные);
ХЗ				= СериализаторXDTO.XMLЗначение(Тип("ХранилищеЗначения"), СтрокаBase64);
ВашиДанные		= ХЗ.Получить();


Отблагодарить можете скачав обработку.
8. PerlAmutor 122 01.11.20 09:19 Сейчас в теме
(6) Я не про это, а про реализацию LZ77 + деревьев Хаффмана, с каноническим построением деревьев, их хранение в потоке, их восстановление, использование при декодировании и т.д.
11. 1div0 63 01.11.20 09:59 Сейчас в теме
(8) Если я правильно понимаю, хранилище значения для сжатия как раз Deflate использует. Ну то есть это уже есть на уровне платформы. Я просто не вижу сценария, при котором потребуется своя самодельная обработка.
12. PerlAmutor 122 01.11.20 10:11 Сейчас в теме
(11) Те примеры, что вы привели относятся к разряду собственного формата входящих данных, т.к. само по себе ХранилищеЗначения сериалузется вместе с deflate потоком. Но если взять deflate данные из внешнего потока (без заголовков типа zip, gzip), то вы ничего не сможете раскодировать, т.к. внешние системы ничего не знают о типе данных ХранилищеЗначения и о том, что Deflate поток надо для нужд 1С предварять заголовком из ХЗ.

Ну вот пример в base64, закодированный Deflate:

PY3JDQJRDENbSQtcqW6G7YIQV25oOvhIBL5mbeG5IzwIcXEUx8/hxsSLtKaa­YGEONRTeX30wa0dPBjV0oVfryKA9xX7RieqDZdLB0YbxZ84unHTWMUxUtU4n­Y9gt65Nh5f9IxoZuy91L8mTxrLoaqeQH

Внутри закодирован текст в формате UTF-8.

Попробуйте распаковать методом, который вы предложили.
21. 1div0 63 02.11.20 05:49 Сейчас в теме
(12) Получается - да. Для связи с внешними системами нужно что-то мудрить. Потому что 1С сначала пишет данные в своём формате, а затем пакует.
P.S.: В примере вызывает подозрение два "<wbr>­".
23. SerVer1C 273 02.11.20 12:12 Сейчас в теме
(12)
PY3JDQJRDENbSQtcqW6G7YIQV25oOvhIBL5mbeG5IzwIcXEUx8/hxsSLtKaa­YGEONRTeX30wa0dPBjV0oVfryKA9xX7RieqDZdLB0YbxZ84unHTWMUxUtU4n­Y9gt65Nh5f9IxoZuy91L8mTxrLoaqeQH


Если 2 раза откинуть <wbr>, которые добавлены механизмом расцветки ИС, то получим:
Инженер по разработке и эксплуатации информационных систем на платформе 1С:Предприятие

см. мою обработку
24. PerlAmutor 122 02.11.20 18:36 Сейчас в теме
(23) Но это же тоже не то. Вы просто обрезаете/добавляете заголовки и используете zip. В Вашей публикации есть ремарка:

Как оказалось, на ИС уже есть похожие публикации, но там либо применяется внешний EXE-шник, либо внешняя компонента, либо работа с бинарными данными идет через европу.


Меня заинтересовал момент про "европу". Неужели кто-то на 1С уже реализовал работу с Deflate через работу с двоичными данными (алгоритмы LZ77 (через функцию кольцевого-хэша по примеру Рабина-Карпа, как в Zlib), кодирование Хаффмана)?
25. SerVer1C 273 02.11.20 20:52 Сейчас в теме
(24) Прямого алгоритма "в лоб" на 1с не встречал. Да и если таковой и появится, то он будет очень уныло работать, т. к. эска не предназначена для алгоритмических задач. А в кодировании Хаффмана там вообще используются биты...
7. 1div0 63 01.11.20 09:18 Сейчас в теме
(4) Это возможно. Только приведите пожалуйста конкретный сценарий, в котором использование именно этой (и никакой другой) обработки может навредить.
17. mrsmrv 77 01.11.20 16:02 Сейчас в теме
(4)А если это произойдёт во вторник - давайте запретим вторники.
"Предлагаю удалить эту обработку из открытого доступа сайта Инфостарт." спасибо, поржал.
22. SerVer1C 273 02.11.20 11:57 Сейчас в теме
(4) Срочно запретить во всех магазинах продажу ножей и топоров!!!
13. malikov_pro 609 01.11.20 11:34 Сейчас в теме
"На самом деле периодически бывает интересно что-то скачать, а местной валюты нет." - поддержал скачиванием.

"По поводу JWT - у меня та же самая задача" - делаете серверную часть? В официальном каталоге https://jwt.io/ присутствует https://github.com/pintov/1c-jwt, если сможете расширить

"МенеджерКриптографии" - у меня не взлетело на PEM формате, RS256 использую для гугл, HS256 для пары сервисов.

"Впрочем я об этом вчера написал статью" - поддержал плюсом и скачиванием, не увидел как подготовить ключ для использования, Google выдает p12 или PEM обернутый в JSON, проблема распаковки описана в комментариях к статье https://infostart.ru/public/805071/
16. 1div0 63 01.11.20 15:38 Сейчас в теме
(13)
не увидел как подготовить ключ для использования

Либо подаёте произвольные ДвоичныеДанные длиной 32 байта, либо можно SHA-256 получить от произвольной строки - пароля. В примере использован второй вариант.

По поводу остального - спасибо за информацию. Изучаю.
14. malikov_pro 609 01.11.20 11:38 Сейчас в теме
(3) "Или речь только про то, чтобы отказаться от внешних компонент?" - именно так, к linux не факт что компоненты есть, при использовании в HTTP сервисе может просадку по производительности давать.
15. malikov_pro 609 01.11.20 11:57 Сейчас в теме
(10) "Поэтому я начал искать симметричный алгоритм с одним закрытым ключом." - если про универсальность, то HS256 используется в https://infostart.ru/public/709325/ (https://github.com/vbondarevsky/Connector) как "AWS4-HMAC-SHA256 аутентификация".
По теме нативной реализации, в одном из API столкнулся с "PKCS 1", который для Java программистов "включил и работает", нас стороне 1С не смог запустить, решили изменением формата.
18. mrsmrv 77 01.11.20 16:07 Сейчас в теме
Качнул. йоу. Развиваем экосистему.
26. al.gerasimov 03.11.20 19:08 Сейчас в теме
А я Des-3Des написал для одного проекта и еще разбор ASN1. Надо кому-нибудь?
27. 1div0 63 04.11.20 08:46 Сейчас в теме
(26)
и еще разбор ASN1

ASN.1 - мне надо. Есть одна идея.
33. al.gerasimov 12.11.20 03:36 Сейчас в теме
(27) похоже я не могу писать личные сообщения. Скинь сне свою почту в привате. Правда у меня код на англ. синтаксисе, пойдет?
34. 1div0 63 12.11.20 05:37 Сейчас в теме
(33) Английский или русский синтаксис - не важно.

Хм.. а я Вам тоже не могу отправить - пишет "Сообщение не отправлено, отложенная группа". Не знаю, что это значит..

a.a.klenov*ya.ru
28. vsesam80 07.11.20 16:16 Сейчас в теме
Здравствуйте. Я параноик и социопат, а по этому задам вам тот же вопрос что и Никите по поводу его разработки - можно ли вашей обработкой шифровать реально серьезные вещи, пинкоды карт в базе, пароли от почты и пр.?
P.S. Обработку уже купил, она действительно быстрая. Кстати с Никитиной обработкой прикол был - на компе у меня медленней в шифровалось и дешифровалось чем на смартфоне под Андроидом.
30. mrsmrv 77 07.11.20 19:51 Сейчас в теме
(28) учитывая что AES активно и широко используется много кем и где, то думается что Да, можно использовать для перечисленных вами целей.
31. 1div0 63 10.11.20 05:30 Сейчас в теме
(28)
Я параноик и социопат, а по этому задам вам тот же вопрос что и Никите по поводу его разработки - можно ли вашей обработкой шифровать реально серьезные вещи, пинкоды карт в базе, пароли от почты и пр.?


Кратко - да.

Подробности:
Я гарантирую, что код модуля обработки в точности выполняет алгоритм AES. Это можно быстро проверить, зашифровав что-нибудь обработкой, а расшифровать сторонней программой. Можете вот на этом сайте попробовать - он поддерживает HEX-ключи. Либо выберите любой другой сайт.

По поводу надёжности самого алгоритма - вам стоит обратиться к его авторам. Но вообще считается, что это наиболее безопасный алгоритм шифрования среди симметричных алгоритмов. 26 ноября 2001 года AES был принят как федеральный стандарт (правительство США) обработки информации FIPS 197.

Также следует учесть, что данная обработка - это всего лишь инструмент. Многое зависит от того, как его применять. Например, в обработке (в форме) для наглядности используется пароль в виде фразы, который преобразуется в ключ путём получения хэша SHA-256. Это делает доступным перебор по словарю. Намного лучше, если ключ будет набором случайных байт (длинной 32 байта, разумеется).
vsesam80; +1 Ответить
32. 1div0 63 10.11.20 05:37 Сейчас в теме
(28) И ещё - будете тестить, выбирайте формат "Zero" - значит без заголовков, просто данные (настройки получатся ECB, Zero, 256, и ключ).
29. vsesam80 07.11.20 16:31 Сейчас в теме
Проверил сейчас на мобильном 1С, работает быстро, шифровал на 256 + много текста
Оставьте свое сообщение

См. также

Цифровая подпись Cades-BES для XML средствами 1С с помощью КриптоПро Промо

Защита и шифрование v8 1cv8.cf Россия Абонемент ($m)

Обработка иллюстрирует возможность подписания XML SOAP-конверта по стандарту Cades-BES средствами 1С с помощью внешней компоненты КриптоПРО "CAdESCOM" с учетом ГОСТ 2001 и ГОСТ 2012. Стандарт используется в различных механизмах государственных сайтов России, в том числе в СМЭВ и ГИС ЖКХ. Код не привязан к прикладному решению может быть встроен куда угодно, но только на платформе Windows.

1 стартмани

13.05.2019    12034    45    PythonJ    41    

Декодер Морзе (декодирование сообщений без разделителей)

Защита и шифрование v8 1cv8.cf Абонемент ($m)

Обработка принимает сообщение в азбуке Морзе без разделителей и выдает всевозможные варианты декодированного сообщения.

1 стартмани

вчера в 06:00    191    0    agressor    2    

Практика применения XOR. XOR кодирование строковых полей с помощью ключа. Побитовые операции

Защита и шифрование v8 1cv8.cf Украина Абонемент ($m)

В данной статье я расскажу о битовой операции XOR (исключающее ИЛИ) и приведу наиболее интересные примеры ее применения на 1С методами платформы. Обмен значений переменных без использования дополнительной переменной.

1 стартмани

06.11.2020    597    1    kv.lv    2    

4 лабораторные работы по шифрованию и хешированию данных средствами 1С

Защита и шифрование v8 Абонемент ($m)

Знакомил студентов с шифрованием (и хешированием) данных штатными средства платформы «1С:Предприятие 8». Материалы превратились в четыре лабораторные работы: Шифрование и расшифровка строковых полей справочников модифицированным методом Виженера; Шифрование и расшифровка строковых полей справочников модифицированным методом Виженера с использованием контрольной (хеш) суммы; Метод симметричного шифрования; Использование хеш-суммы для контроля изменения значений справочника.

2 стартмани

02.11.2020    660    0    delta    2    

Изменение конфиденциальной информации (обработка, управляемые формы) Промо

Обработка документов Обработка справочников Защита и шифрование v8::УФ 1cv8.cf Абонемент ($m)

Обработка позволяет полностью заменить в базе все конфиденциальные данные - все поля справочников, суммы в документах и прочие значения объектов. Идентична по функционалу обработке с ИТС "Изменение конфиденциальной информации", но работает под управляемыми формами и в интерфейсе "Такси". Есть гибкая настройка тех данных, которые необходимо удалять.

1 стартмани

17.05.2015    34029    136    primat    24    

Подпись данных алгоритмами SHA + AES собственным модулем

Защита и шифрование v8 1cv8.cf Россия Абонемент ($m)

Реализация подписи данных ключом длиной 256 бит алгоритмами SHA-256 + AES-256 без использования внешних компонент, zip-файлов, обращения к диску или БД и без привязки к ОС.

2 стартмани

01.11.2020    1254    1    1div0    4    

Обфускатор операционного кода 1с

Защита и шифрование v8 1cv8.cf Россия Абонемент ($m)

Защита обработок 1С от восстановления исходного кода awa-ким декомпилятором. Протестировано 1С:Предприятие 8.3 (8.3.16.1502)

2 стартмани

18.09.2020    3762    17    m1cr0sh    27    

Алгоритм ECDSA для кривых SECP256k1 (Биткоин/Лайткоин)

Защита и шифрование v8 1cv8.cf Абонемент ($m)

Реализация алгоритма ECDSA для кривых SECP256k1, которые лежат в основе Биткоин.

1 стартмани

19.06.2020    1668    2    NikitaXa    2    

Создание "обезличенной" демо базы 8,1,8.2 и 8.3 Управляемые и обычные формы. Промо

Защита и шифрование Обработка справочников v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

03.12.2010    31360    40    milkers    10    

Алгоритм шифрования AES ECB 128/192/256

Защита и шифрование v8 1cv8.cf Абонемент ($m)

Реализация алгоритма симметричного шифрования AES (Advanced Encryption Standard) в режиме ECB (Electronic codebook) с различной длиной ключа 128/192/256 без использования внешних компонент и zip-файлов.

1 стартмани

20.04.2020    2823    12    NikitaXa    12    

Мобильная платформа. Шифрование строк в Android при помощи внешней компоненты

Разработка внешних компонент Защита и шифрование v8::Mobile Молдова Абонемент ($m)

Внешняя компонента для мобильной платформы на Android. Шифруем строки.

3 стартмани

15.04.2020    2664    0    kinan    0    

1C и защищенное хранение данных на блокчейне: модуль интеграции от Acryl Platform

Защита и шифрование Блокчейн Расширения Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Модуль интеграция 1С и блокчейн платформы "Acryl Platform" без использования внешних компонент. Под катом реализация механизмов Base58, Blake2b, Keccak, Curv25519 (the elliptic curve Diffie–Hellman) в подсистеме "Crypt", примеры генерации ключей, адресов, подписи транзакций, запись данных в блокчейн, чтение и восстановление данных из блокчейн. Код открыть. Лицензия MIT.

1 стартмани

21.01.2020    6829    4    ArtemSerov    18    

Подписываем файлы с помощью ЭЦП средствами 1с Промо

Универсальные обработки Защита и шифрование v8 1cv8.cf Абонемент ($m)

Обработка для подписи с помощью сертификата (ЭЦП) произвольных файлов, только средствами платформы 1с. Работает на всех конфигурациях, но только на последних платформах 8.2 и 8.3, где есть менеджер криптографии.

1 стартмани

05.09.2013    64741    281    anig99    25    

Кодирование / декодирование в Base58 без использования внешних компонент

Защита и шифрование v8 1cv8.cf Абонемент ($m)

Функции кодирование / декодирование строки в Base58 без использования внешних компонент. Код алгоритмов доступен в полном описании статьи.

1 стартмани

14.11.2019    5048    1    ArtemSerov    23    

Компонента аутентификации и шифрования с помощью биометрической информации для Андроид

Разработка внешних компонент Мобильная разработка Защита и шифрование v8::Mobile Абонемент ($m)

Компонента для мобильной платформы, позволяющая идентифицировать пользователя и шифровать данные с помощью биометрических сканеров.

5 стартмани

17.09.2019    6183    1    IgorKissil    9    

Криптографическое шифрование файлов

Защита и шифрование v8 1cv8.cf Абонемент ($m)

Обработка шифрует и дешифрует файлы. 

1 стартмани

03.09.2019    3386    2    shell_maxim    0    

Защита конфигурации 1С (без внешних компонент, супер легкая и быстрая) Промо

Защита и шифрование v8 1cv8.cf Россия Абонемент ($m)

Возможность автоматизации легкой и быстрой защиты конфигурации от распространения неблагонадежными клиентами. Работает только в режиме обычного приложения. Защита не полноценная (в случае если не применять обфускатор к спец.модулям), но позволяет снять проблему.

3 стартмани

11.05.2012    42735    27    Kyrales    45    

Запутывание кода 1С

Защита и шифрование v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка запутывания (обфускации) исходного кода 1С с помощью регулярных выражений.

2 стартмани

02.09.2019    11317    53    leoxz    66    

Защищаем конфигурацию. Один ключ СЛК для всех клиентов

Защита и шифрование v8 Абонемент ($m)

Пользователь защищенной конфигурации вводит регистрационный номер и код доступа. Установка сервера СЛК у пользователя не требуется. Управляем лицензиями удаленно.

1 стартмани

30.08.2019    12765    15    mvxyz    63    

Электронный документооборот для украинских конфигураций

Защита и шифрование Документооборот и делопроизводство Документооборот и делопроизводство v8 1cv8.cf Украина Абонемент ($m)

Подсистема электронного документооборота (в дальнейшем ЭД) является конфигурацией 1С:Предприятие, выполняющей базовые функции регистрации НН/РК и загрузки их из Реестра и способной встраиваться с минимальными изменениями в любые, в том числе нетиповые конфигурации 1С. ЭД представляет собой несколько независимых регистров сведений, справочников, документов и обработок, которые можно встроить в любую конфигурацию. «Сердцем» ЭД является обработка «ЭД: Криптопровайдер», которая экспортирует методы взаимодействия 1С с криптобиблиотекой ИИТ

1 стартмани

30.06.2019    4492    11    Asdam    1    

Проверка пинкода для мобильного приложения

Защита и шифрование v8::Mobile Абонемент ($m)

Простая проверка с помощью пинкода на вход в мобильное приложение.

3 стартмани

16.04.2019    3923    2    bashinsky    2    

Кодирование Base64

Защита и шифрование v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка кодирования декодирования строки алгоритмом Base64 через использования потоков.

1 стартмани

18.02.2019    5230    5    BigTaur    6    

Подписываем отчёт об исполнении контрактов ГОЗ или приказ №554

Защита и шифрование v8 v8::УФ 1cv8.cf Государственные, бюджетные структуры Россия Абонемент ($m)

Внешняя обработка, упрощающая подпись файла и генерацию архива с отчётом об исполнении госконтракта по Приказу №554 МО РФ

1 стартмани

06.02.2019    10604    34    semagin@gmail.com    8    

Генератор ФИО, ИНН, СНИЛС и дат рождения

Защита и шифрование Обработка справочников v8 1cv8.cf Абонемент ($m)

Понадобилась мне обезличенная база биллинга на полтора миллиона лицевых счетов. Забивать существующие ФИО символом "Х" ("Иванов Иван Иванович" -> "Хххххх Хххх Хххххххх") было не интересно. Взял из существующей базы собрал мужские, женские фамилии, имена и отчества и написал генератор случайных ФИО. Также в обработке есть возможность генерировать ИНН физических лиц, СНИЛС и дат рождения.

1 стартмани

03.12.2018    11218    9    BigB    10    

"Открыть нельзя защищать!" - Где поставить запятую?

Защита и шифрование v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

16.02.2018    14469    15    adam26    10    

Шифрование перестановкой символов

Защита и шифрование v8 1cv8.cf Абонемент ($m)

Простое шифрование строки перестановкой символов.

1 стартмани

14.12.2017    7359    3    unregisteret    3    

ЭЦП по гостам Украины в 1С - Внешняя компонента BilboSign.dll

Разработка внешних компонент Защита и шифрование v8 1cv8.cf Украина Абонемент ($m)

Причиной данной разработки послужило отсутствие на данный момент криптопровайдера ЭЦП, который может работать по гостам Украины и использоваться в 1С. Для этого разработана внешняя компонента по технологии NativeAPI.

1 стартмани

11.12.2017    13174    23    Zahary    5    

Обработка шифрования ключом

Защита и шифрование v8 1cv8.cf Россия Абонемент ($m)

Обработка шифрования введенной строки. Платформа 8.3 (обычное приложение). В обработке реализован механизм XOR шифрования на платформе 8.3. Может быть полезна при решении задач с шифрованием паролей или текстов или чисел.

1 стартмани

05.12.2017    9165    16    timothy_    3    

Обфускация кода 1С

Защита и шифрование v8 1cv8.cf Абонемент ($m)

Обфускация кода 1С как вариант защиты кода.

10 стартмани

09.10.2017    35661    94    VsHome    5    

Обезличивание базы данных для КАМИН:Зарплата для бизнеса 4

Обработка справочников Защита и шифрование Управление персоналом (HRM) Управление персоналом (HRM) v8 1cv8.cf БУ Абонемент ($m)

Данная обработка обезличивает Вашу информационную базу данных. Это значит, что все фамилии, имена, отчества, ИНН, СНИЛС, серии и номера документов, будут заменены случайным набором символов.

1 стартмани

26.06.2017    9545    4    juricher    2    

"Набор юного строителя" для реализации внутреннего шифрования и ЭЦП

Универсальные обработки Документооборот и делопроизводство Защита и шифрование Документооборот и делопроизводство v8 1cv8.cf Абонемент ($m)

Набор процедур и функций для организации внутрикорпоративного документооборота и согласования.

1 стартмани

09.06.2017    14386    31    eskor    10    

Обезличивание базы данных средствами скрипта для MSSQL

Защита и шифрование v8 1cv8.cf Россия Абонемент ($m)

Обработка предназначена для сотрудников, которым необходимо подготовить обезличенную базу для передачи ее сторонним лицам. Для пользования обработкой необходимо запустить 1С: предприятие в режиме тонкого клиента управляемого приложения. Тестировалась обработка на 1С:Предприятие 8.3 (8.3.8.2088) Обработка генерирует SQL - скрипт на основе структуры метаданных.

10 стартмани

28.02.2017    13210    27    ZadachNik1C    1    

HMAC на встроенном языке 1С

Защита и шифрование v8 1cv8.cf Россия Абонемент ($m)

Внешняя обработка хеширования данных HMAC (SHA-1, MD5, SHA-256, CRC-32) без использования внешних компонент.

1 стартмани

25.02.2017    26969    74    Knup    36    

Шифрование и расшифровка строковых полей справочников методом Виженера (с улучшениями)

Защита и шифрование Обработка справочников v8 1cv8.cf Абонемент ($m)

Обработка по шифрованию и расшифровке строковых полей справочников модифицированным методом Виженера - реализация без внешних компонент, без com-объектов, чистый 1С.

1 стартмани

27.04.2016    33331    41    NikitaXa    20    

Защита разработок от копирования (Обычная и Управляемая форма)

Защита и шифрование v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

28.03.2016    39069    328    karpik666    125    

Двухфакторная аутентификация в 1С

Защита и шифрование v8 1cv8.cf Россия Абонемент ($m)

Двухфакторная аутентификация (2FA) — это механизм, который позволяет защитить ваш аккаунт надежнее, чем традиционный пароль. Пароль должен быть сложным, при этом его нужно всегда помнить, хранить от посторонних глаз и достаточно часто менять. Но даже если вы принимаете все меры, пароль все равно остается уязвимым — например, для вирусов, которые могут перехватить то, что вы набираете на клавиатуре.

1 стартмани

16.02.2016    35930    142    Юрий-К    20    

Генератор сертификатов

Универсальные обработки Защита и шифрование v8 1cv8.cf Абонемент ($m)

Недавно пришлось организовывать обмен шифрованными сообщениями в 1С, при этом кучу времени заняла процедура создания сертификатов для работы с "Менеджером криптографии". Как итог сделал небольшую обработку для генерации разных типов сертификатов.

3 стартмани

27.01.2016    19661    29    eskor    5    

Обфускация кода 1С (приведение в нечитаемый вид) для платформы 1С:Предприятие 8.3.7

Защита и шифрование v8 1cv8.cf Абонемент ($m)

Обработка для обфуксации (приведения в нечитаемый вид) кода 1С, это может использоваться как один из способов защиты программных модулей.

1 стартмани

20.12.2015    40670    313    masterkio    107    

Обфускация данных в 1С

Защита и шифрование v8 1cv8.cf Абонемент ($m)

Часто возникает ситуация, когда программист просит предоставить базу данных. Но по соображениям безопасности не хочется показывать ему какую-то информацию. Эта обработка перетасует случайным образом строковые реквизиты справочников. Информация станет нечитаемой.

1 стартмани

03.11.2015    16794    43    kser87    25    

Двухфакторная аутентификация с помощью мессенджера Telegram

Информационная безопасность Защита и шифрование Внешние источники данных v8 Россия Абонемент ($m)

Повесть о том, как приручить бота из Telegram для аутентификации пользователей при входе в приложение 1С.

1 стартмани

29.10.2015    28088    71    id-mt    12    

Подсистема шифрования данных + пример реализации: решение Keystore для хранения паролей

Защита и шифрование v8 1cv8.cf Абонемент ($m)

Настоящая публикация представляет собой одновременно подсистему функциональности шифрования данных и готовое к использованию решение для хранения паролей в качестве примера реализации работы подсистемы.

3 стартмани

23.06.2015    18424    10    alex271    3    

Ключ защиты из USB накопителя для 8.3

Информационная безопасность Защита и шифрование v8 1cv8.cf Абонемент ($m)

Ключ защиты конфигурации из обычной USB-флешки для платформы 8.3. Можно внедрить на любой конфигурации, и ключик не привязывается к определенному рабочему месту. Реализовано в Такси.

5 стартмани

31.05.2015    36443    24    Naposaram    60    

Шифрование текста, хеш сумма

Защита и шифрование v8 1cv8.cf Абонемент ($m)

Этот пример показывает, что использование шифрования и получение хеш суммы очень просто. В обработке реализовано шифрование по алгоритму AES и получение хеш суммы MD5. Все делается динамически, без использования файлов.

2 стартмани

15.04.2015    23659    51    MherArsh    22