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

14.05.20

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
AES_ESB
.epf 21,29Kb
53
53 Скачать (1 SM) Купить за 1 850 руб.

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

Обработка тестировалась на платформе 1С версии 8.3.15.1830. 

Дополнительные ссылки:

Описание алгоритма AES - https://ru.wikipedia.org/wiki/Advanced_Encryption_Standard

Пример реализации на языке С - https://github.com/kokke/tiny-AES-c

Пример реализации на платформе 1С с использованием zip-файлов - //infostart.ru/public/363830/

Шифрование симметричное шифрование AES криптография обработка

См. также

Защита ПО и шифрование Программист Платформа 1С v8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

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

1 стартмани

09.02.2023    2584    10    aximo    5    

2

Защита ПО и шифрование Программист Абонемент ($m)

Для установки защиты pdf документа, полученного в 1С, написано консольное приложение на c#., использующее одну зависимость pdfSharp.dll. В результате работы приложения ограничены операции над документом и записаны метаданные. С помощью аргументов командной строки можно управлять работой приложения.

2 стартмани

30.01.2023    2056    2    olevlasam    3    

3

Защита ПО и шифрование Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Универсальный синтаксический анализатор ASN.1, который может декодировать любую допустимую структуру ASN.1 DER или BER, независимо от того, закодирована ли она в кодировке Base64 (распознаются необработанные base64, защита PEM и begin-base64) или в шестнадцатеричном кодировании.

1 стартмани

04.12.2022    3433    16    keyn5565`    0    

14

Защита ПО и шифрование Программист Платформа 1С v8.3 Абонемент ($m)

Демонстрация возможностей шифрования строки на основе мастер-пароля в 1С Предприятие 8.3.19. AES без zip файла, RSA, PKDF2. (c использованием библиотеки С# через com).

2 стартмани

31.08.2022    4309    9    vit59    2    

6

Защита ПО и шифрование Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Обработка, позволяющая запутывать и шифровать байт-код, поставлять модули без исходных текстов и т.д. Работает только в файловом варианте с версии платформы 8.3.18 из-за асинхронных конструкций "Асинх" и "Ждать". Протестировано на платформе 8.3.25.1286.

10 стартмани

16.06.2022    12261    100    ZhokhovM    12    

43

Защита ПО и шифрование Программист Платформа 1С v7.7 Платформа 1С v8.3 Абонемент ($m)

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

2 стартмани

09.03.2022    6016    3    ge_ni    9    

2

Защита ПО и шифрование Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

27.12.2021    4976    2    idm80    12    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. dbarkov 29.04.20 16:28 Сейчас в теме
Подскажите, ваша обработка реализует тот же алгоритм, что и RijndaelManaged Класс в .NET (https://docs.microsoft.com/ru-ru/dotnet/api/system.security.cryptography.rijndaelmanaged?view=netframework-4.8)?
3. NikitaXa 116 01.05.20 23:33 Сейчас в теме
(1), да тот же, но реализован только режим ECB (полный список режимов указанного класса https://docs.microsoft.com/ru-ru/dotnet/api/system.security.cryptography.ciphermode?view=netcore-3.1).
Восьмой; +1 Ответить
2. vsesam80 01.05.20 19:14 Сейчас в теме
Два вопроса.
1)Можно ли повысить длину ключа?
2)Как долго отрабатывает шифрование и дешифрование?
4. NikitaXa 116 01.05.20 23:38 Сейчас в теме
(2),
1) Нет, алгоритм имеет всего 3 варианта длины ключа - 128, 192 или 256 бит;
2) Время, естественно, будет зависеть от железа. На моей машине шифрование/расшифровка одного блока менее 1 секунды.
5. vsesam80 10.05.20 10:20 Сейчас в теме
(4)Я вот полный ноль в этой теме, в связи с этим вопрос. А можно ли вашей реализации шифрования доверить хранение серьезных данных. Вроде пинкода от карты и пр. Это вообще легко будет взломать человеку который разбирается в криптографии?
Обработку скачал. Расшифровывает дольше чем я ожидал, но для хранения паролей подходит, там мало символов.
6. NikitaXa 116 10.05.20 17:54 Сейчас в теме
(5)
А можно ли вашей реализации шифрования доверить хранение серьезных данных. Вроде пинкода от карты и пр. Это вообще легко будет взломать человеку который разбирается в криптографии?

Краткий ответ - нет, не легко, а подробней посмотрите раздел "Криптостойкость" https://ru.wikipedia.org/wiki/Advanced_Encryption_Standard .
7. NikitaXa 116 11.05.20 07:58 Сейчас в теме
(5) Взломать будет не легко. Вот здесь посмотрите раздел "Криптостойкость".
Восьмой; +1 Ответить
8. NikitaXa 116 11.05.20 16:00 Сейчас в теме
(7) Ошибочно отправил 2-ой раз...
Восьмой; +1 Ответить
9. mrsmrv 127 14.05.20 10:39 Сейчас в теме
хм, эти строки в функции ВзятьТолькоПоследниеДваСимволаHEX
//
	Число_hex = dectohex(Число_hec);
	
	КоличествоСимволовhex = 2;
	
	Если СтрДлина(Число_hex) > КоличествоСимволовhex Тогда
		Число_hex = ПРАВ(Число_hex, КоличествоСимволовhex);
	КонецЕсли;
	
	Возврат hextodec(Число_hex);
Показать

можно заменить на
Возврат Число_hec%256;

хм, строки конечно не сильно часто вызываются, но 2304 раза они были вызваны с моими тестовыми данными, разница всё же есть:
Да и вообще функция наверное даже не нужна. Эта оптимизация чуть добавила скорости, в пределах погрешности. Смотрю дальше, где и что можно оптимизировать. Но уже сейчас смущает частое перекодирование из hex в десятичную и обратно. Нужно ли оно так часто и много? посмотрим.

Извините если что.
Прикрепленные файлы:
11. NikitaXa 116 14.05.20 19:29 Сейчас в теме
(9) Да, согласен, Ваш вариант будет работать быстрее.
Восьмой; +1 Ответить
10. mrsmrv 127 14.05.20 11:09 Сейчас в теме
тестовая строка проста:

6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af­8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417b­e66c37106bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb7­6fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17­ad2b417be66c3710

зашифрованная строка соответственно

3ad77bb40d7a3660a89ecaf32466ef97f5d3d58503b9699de785895a96fd­baaf43b1cd7f598ece23881b00e3ed0306887b0c785e27e8ad3f82232071­04725dd43ad77bb40d7a3660a89ecaf32466ef97f5d3d58503b9699de785­895a96fdbaaf43b1cd7f598ece23881b00e3ed0306887b0c785e27e8ad3f­8223207104725dd4

скорость, было/стало см. скриншот

а всего лишь заменил
Функция xtime(x)	
	return (ПобитовоеИсключительноеИли(ПобитовыйСдвигВлево(x,1), (( ПобитовоеИ(ПобитовыйСдвигВправо(x,7), 1)) * uuit8todec("0x1b"))));  
КонецФункции

на
Функция xtime(x)	
	return (ПобитовоеИсключительноеИли(ПобитовыйСдвигВлево(x,1), (( ПобитовоеИ(ПобитовыйСдвигВправо(x,7), 1)) * 27)));  
КонецФункции

открыл две версии обработки и прогнал туда сюда в обеих у первой время выполнения
суммарное 1.82 сек. У второй 0.13. Заменили везде где были вызовы функции uuit8todec("0x1b") с константами на их готовые числа, в данном случае 27, в итоге скорость обработки возросла уже ощутимо.
Извините.
Прикрепленные файлы:
12. NikitaXa 116 14.05.20 19:34 Сейчас в теме
(10) Спасибо, за комментарии. Действительно, от постоянного перевода констант из одной СС в другую можно отказаться. Правда, на моем железе прирост на столь ощутимый получился - с 0,56 с до 0,29 с. Чуть позже сделаю обновленную версию обработки с учетом выявленных неоптимальностей...
Восьмой; mrsmrv; +2 Ответить
13. пользователь 23.06.20 17:49
Сообщение было скрыто модератором.
...
Оставьте свое сообщение