DATA ENCRYPTION USING A PAIR OF KEYS 1 2 Rubashenkov A-М. , Bobrov A.V. (Russian Federation)
Email: [email protected]
'Rubashenkov Anton Mikhailovich - Student; 2Bobrov Andrey Viorelovich - Student, DEPARTMENT OF INFORMATION SECURITY, INSTITUTE OF INTEGRATED SECURITY AND SPECIAL INSTRUMENT ENGINEERING, RUSSIAN TECHNOLOGICAL UNIVERSITY, MOSCOW
Abstract: encryption is a reversible transformation of information for the purpose of hiding from unauthorized persons, with providing, at the same time, authorized users access to it. For the most part, encryption serves the task of maintaining the confidentiality of transmitted information. An important feature of any encryption algorithm is the use of a key that confirms the choice of a specific conversion from the set ofpossible ones for a given algorithm. Users are authorized if they possess a certain authentic key. The whole complexity and, actually, the task of encryption is how this process is implemented. In general, encryption consists of two components - encryption and decryption. Keywords: encryption, decryption, authentic key, confidentiality, authorized user.
ШИФРОВАНИЕ ДАННЫХ ПРИ ПОМОЩИ ПАРЫ КЛЮЧЕЙ
12 Рубашенков А.М. , Бобров А.В. (Российская Федерация)
'Рубашенков Антон Михайлович - студент; 2Бобров Андрей Виорелович - студент, кафедра защиты информации, Институт комплексной безопасности и специального приборостроения, Российский технологический университет, г. Москва
Аннотация: шифрование — обратимое преобразование информации в целях сокрытия от неавторизованных лиц с предоставлением, в это же время, авторизованным пользователям доступа к ней. Главным образом, шифрование служит задачей соблюдения конфиденциальности передаваемой информации. Важной особенностью любого алгоритма шифрования является использование ключа, который утверждает выбор конкретного преобразования из совокупности возможных для данного алгоритма. Пользователи являются авторизованными, если они обладают определённым аутентичным ключом. Вся сложность и, собственно, задача шифрования состоит в том, как именно реализован этот процесс. В целом, шифрование состоит из двух составляющих — зашифровывание и расшифровывание. Ключевые слова: шифрование, расшифрование, аутентичный ключ, конфиденциальность, авторизованный пользователь.
УДК 004.031.2
Шифрование с помощью пары ключей
Создадим базу данных test_encryption. Как представлено на рисунке 1.
Рис. 1. Создание базы данных
Создадим таблицу crypt_users со столбцами id, name, data. Где name - это имя, а data - это зашифрованная информация, она будет храниться в формате bytea. Как представлено на рисунках 2, 3 [1].
X Отмена J О Сбросить
Рис. 2. Создание таблицы
S crypt_users
Общие Столбцы Ограничения Дополнительно Параметры Безопасность SQL
Наследуется из таблиц(ы)
Выберите источник нас;
Столбцы +
Имя Тип данных Длина Точность He NULL? Первичный ключ?
С? ffiid integer - O]
3 fir name character varying 100 СЕВ СЕ9
[Z ffi data bytea - coa LO
i *
X Отмена Ci Сбросить
Рис. 3. Создание столбцов в таблице
Генерация пары ключей
Для генерации пары ключей используется программа Kleopatra. При создании приватного ключа указываем пароль. В данном случае test [2].
Добавление зашифрованной информации
В таблицу заносится новая запись. В столбец data заносится зашифрованная информация с помощью функции pgp_pub_encrypt. Где 1-ый аргумент данной функции - это информация, которую требуется зашифровать, а 2-ой аргумент - это публичный ключ в формате bytea [3].
Функция dearmor переводит данные из формата text в bytea. Пример на рисунке 4.
Query Editor История запросов
INSERT INTO crypt_users(name, data;
VALUES ('Anton1, pgp_pub_encrypt('Anton_data1, '-----BEGIN PGP PUBLIC KEY BLOCK-----
dearmorf
mQENBFzWsI0BCACoJg8tB39JRq2RFO04Da+lFRLYnB2W7GX9IzGK+zXZdo/hjOJZ zMm0KeivM2yv86urNP+ii/hPpPGVpBBqD4X8fs9jn4j Y5d7DdaBUvvxr0x41NJVDtW jgtRrDkM6beATurj P6PXGyHlAxDmeKUpk5pzQlV+sQpdXIblPeChEDw/0n49llfN S cv6Gz8+ozAp2j8uZ038645oGVllEdScAskWVLmYHxtw7tKRLinOM4c+qeqphmk9 9 N0MxmG10eC81SkwMhT.dhKyK5eRMzPnPHY/GHio90+EU+YkWfi2VyfT8Di k+S/4AF
10 FSrLptwDvhmAEdlM/©J1H/01CHYSVU6MYP1/ABEBAAG&GU FudG9uIDxydXRvc2hh
11 QHlhbmRT.eC5ydT63AVQEEwEIAD4WIQRNPeevxKdIY37m404QSlo/KJBlnQUCXNaw
12 jQIbAwll JA80XAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRAQSlo/K3Blnflk
1 ! R ! QM7U\/tFTI lm 1 . I T... ; Рш Г - Y'JrnL- .'.1,11. ; C;fVP7PMfl + r,hRnr.PTaQl uT^Rml TT
Результат План выполнения Сообщения Notifications
INSERT 0 1
Запрос завершён успешно, время выполнения: 95 msec.
Рис. 4. Вывод запроса INSERT
Расшифрование происходит с помощью функции pgp_pub_decrypt. Где 1-ый аргумент данной функции - это зашифрованная информация, а 2-й аргумент - это приватный ключ в формате bytea и его пароль, который был установлен при генерации пары ключей, в формате text. Как показано на рисунке 5.
Query Editor История запросов
1 SELECT pgp_pub_decrypt(data, dearmorc-----BEGIN PGP PRIVATE KEY BLOCK-
3 lQPGBFzWsI0BCACoDg8tB3MRq2RFO04Da+lFRLYnB2W7GX9IzGK+zXZdo/hjOJZ
4 zMmOKewM2yv86urNP+u/hPpPGVpBBqD4X8fs9jn4jY5d7DdaBUvvxr0x41NIIVDtW
5 jgtRrDkM6beATurjP6PXGyHlAxDmeKUpk5pzQlV+sQpdXIblPeGhEDw/On49VLfN
6 cv6Gz8+ozAp2j8uZ038645oGVilEdScAskWWLmYHxtw7tKRLl nOM4c+qeqphmk9
7 N0MxmGlOeC8lSkwMhl_dhKyK5eRMzPnPHY/GHi o90+EU+YkWfi2VyfT8Di k+S/4AF
8 F8rLptmDvHmAEdIM/e]1H/01CHY5VU6MYPI/ABEBAAH+BwMCgv02nfRFdyLKL+yE
9 edcMe2qTSJMAo5chMypvyFbNMVygM5ufVsFPWMk+guhvl_r2XS5Kc88DR+/yiIXVp
10 LKghEA0I789CICH67ZLT.tXpxFEN2F+gnZz2jyzoESXBtNp37YRcTCW34SgIRrEkI
11 HRkdQRWX949CC5D/RnscdAlW8DHkqdQmHyEA0SRChO22DxnP8uScmNd6zXrwngGt
12 lrllRS3TcdQ79dLLlY18I7ncgFSXgGirkDF7G6QFtnth5Xl7dWnNcju2+qlxMDb4aI 1 J. 7ятпир19РгктпппрАп71я| VXvMvn-?ATTl hi WntfilAfKNVfitTGwSvNml ARMtyRl я 1 fi
Результат План выполнения Сообщения Notifications
pgp_pub_decrypt
j text
1 Anton_data
Рис. 5. Расшифрование запрошенной информации
Если вызвать содержимое ячейки data, то в переводе из формата bytea в text получаем зашифрованное сообщение. Как представлено на рисунке 6.
Query Editor История запросов
1 SELECT armor(data) FROM crypt_users WHERE name = 'Anton1;
2
Плг —BEGIN PGP MESSAGE— tions
Рег wcBMAy/rdBLDZTIlAQf+KqlQwlLGISn9XU huU77MJIuVECBk6V3P6Lv807K4QE5ou3ic [tui-F^---- ::
ч'ОК 1
1
Рис. 6. Запрос к базе данных Список литературы /References
1. [Электронный ресурс]. Режим доступа: https://postgrespro. ru/docs/postgrespro/9. 5/manage -ag-createdb (дата обращения: 16.04.2019).
2. [Электронный ресурс]. Режим доступа: https://www.itnota.com/creating-key-pair-kleopatra-gnupg/ (дата обращения: 13.05.2019).
3. [Электронный ресурс]. Режим доступа: https://www.postgresql.org/docs/8.3/pgcrypto.htmI (дата обращения: 17.05.2019).