Форум программистов, компьютерный форум, киберфорум
Криптография
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 05.11.2023
Сообщений: 2

Безопасно ли использовать приватный ключ в качестве пароля для шифрования?

05.11.2023, 15:33. Показов 692. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу подсказать спецов по криптографии. Суть вопроса. Я делаю систему на основе web cryptography API, и мне надо хранить в общедоступном хранилище зашифрованные данные пользователей. Каждый пользователь уже имеет пару ключей ECDSA, но использовать эти ключи непосредственно для шифровки не получается. Я думаю шифровать ключом AES-GCM, который обычно генерируется из пароля, и которым можно шифровать. Но я хочу вместо пароля использовать уже имеющийся приватный ECDSA ключ пользователя для создания AES-GCM ключа, чтобы не заставлять пользователя помнить и вводить ещё один пароль. Вопрос: безопасно ли это? Или это создаёт угрозу по зашифрованным сообщениям (а их будет много, при этом небольших по объёму, скажем, 10000 по 1 КБ) хакнуть приватный ECDSA ключ пользователя?

Возможно, есть более прямой способ решить мою проблему? Например, можно зашифровать ассиметричным шифрованием симметричный ключ, которым уже шифровать сообщение, но в web cryptography API с этим проблемы, т.к. ассиметричный ключ для шифрования ECDSA она использовать не даёт. Это можно сделать с ассиметричным ключом RSA-OAEP, но это надо заводить ещё один ключ на каждого пользователя. А зачем, если можно этого избежать. И потом, ассиметричное шифрование, судя по моим экспериментам, работает существенно дольше, чем генерация ARS-GCM с приватного ключа ECDSA.

Если нужна ещё какая-то конкретика по моему вопросу -- дайте знать, я поясню.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.11.2023, 15:33
Ответы с готовыми решениями:

Чат на Питоне. Безопасно передать ключ от симметричного шифрования
Создаю простой чатик на питоне. Посоветуйте, как можно безопасно передать ключ от симметричного шифрования? Литература, в частности книги,...

Безопасно ли использовать gson в качестве синглтона?
Есть web-приложение, которое юзает gson в качестве сериализатора. Вопрос в том, безопасно ли создать синглтон, содержащий один объект gson...

В качестве ключа использовать три буквы ФИО студента. (Например, ключ поиска для Сидорова Ивана Кузьмича – СИК
Прошу помочь! Не получается поиск. (Например, ключ поиска для Сидорова Ивана Кузьмича – СИК). Задание для курсовой работы ...

2
 Аватар для UseMuse
154 / 154 / 60
Регистрация: 11.01.2016
Сообщений: 1,325
06.11.2023, 23:54
d3fine,
Не желательно такими хаками пользоваться. Это создаст вместо двух разных векторов нападения (на AES и ECDSA ключи) два связанных между собой вектора, что есть уже уязвимость или помощь взломщику (тут уже как посмотреть). Суть атаки будет сводиться к "встрече на середине" (meet in the middle), когда злоумышленник с одной стороны будет перебирать ключ шифрования со стороны AES, а с другой стороны ключ ECDSA, параллельно создавая таблицу ключей. В итоге, из-за атаки парадокса дней рождения (на которой и базируется собственно встреча на середине) ключ фактического шифрования для AES снизится с 2^128 до +- 2^(128/2)=2^64 (для 128-битного ключа) если стойкость ключа ECDSA примерно сопоставима с ключом AES. Получившаяся длина ключа в текущих реалиях будет являться небезопасной. Плюс к этому, может немалую роль сыграть и сам ключ AES, который генерируется из пароля. Т.к. пароли представляют собой невысокую энтропию, то и сам конечный метод описанного взлома может быть ещё более эффективным.
Криптография - консервативная наука и чаще всего чем проще решение (даже если оно кажется избыточным или деревянным), тем оно надёжнее. В вашем решении действительно будет лучше использовать два ключа - один со стороны ECDSA, отвечающий за целостность и аутентификацию хранимых/передаваемых данных, другой со стороны AES, отвечающий за их конфиденциальность.
0
0 / 0 / 0
Регистрация: 05.11.2023
Сообщений: 2
10.11.2023, 09:27  [ТС]
UseMuse, спасибо за ответ.

Расширю тогда секрет пользователя дополнительным случайным ключом AES-GCM, который не получается из приватного ключа ECDSA. И буду использовать этот другой ключ для шифрования.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.11.2023, 09:27
Помогаю со студенческими работами здесь

Подключение по ssh используя приватный ключ для авторизации
Здравствуйте... В общем возник такой вопрос. У меня есть VDS сервер, авторизация происходит через private key (если подключаться через...

Реализовать программу, реализующую сеть Фейстеля, в качестве функции шифрования использовать Шифр Полибия
Использовать необходимо схему, показанную на изображении. Размер блока 64 бит. Количество раунтов 2. За основу шифра Полибия брал код...

Где взять установочник Win10, как восстановить старый ключ и можно ли использовать ключ от семёрки для десятки
На ноуте была 7-я винда, лицензионная. Обновил до 10-ки. Ключ лицензии я не помню, но есть ещё один ключ от семёрки. Сейчас возникла...

Как добавить приватный ключ SSH на linux машину для подключение к другому linux серверу
Как добавить приватный ключ SSH на linux машину для подключения к другому linux серверу? Короче создал в PUTTY приватный ключ и открытый....

Безопасно ли для авторизации использовать сессии?
Извините за ламерский вопрос, 2-ой день борю ASP. Безопасно ли для авторизации использовать сессии. Или это как то по другому делается?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru