Сочетание симметричного и асимметричного шифрования - PullRequest
0 голосов
/ 01 апреля 2012

Я пытаюсь безопасно переместить файл со станции A на станцию ​​C, на пути от A к C есть еще одна ** небезопасная ** станция, B.

(A) -> (B) -> (C)

Станция B получает файл со станции A и передает его на станцию ​​C.

Я хочу убедиться, что Станция B не сможет прочитать содержимоефайл.

Для обеспечения того, чтобы я использовал симметричное и асимметричное шифрование для шифрования файла.

  1. Создание случайного симметричного ключа = SK на станции A
  2. Симметрично зашифруйте файл, используя SK в качестве ключа.
  3. Асимметрично зашифруйте SK с помощью открытого ключа C = AK

Теперь мне нужно предоставить C и AK, и зашифрованный файл.

Поскольку B не имеет закрытого ключа, он не сможет получить SK и не сможет расшифровать файл.

Вопрос: 1. Есть ли способ объединить AK изашифрованный файл в один большой файл?(Есть ли стандартный способ сделать это с помощью OpenSSL).Единственный способ, о котором я могу подумать, - это создать свой собственный формат: [AK Len] [AK] [Зашифрованный файл]

Какие-нибудь библиотеки в python, которые могут помочь в выполнении этой задачи?

1 Ответ

0 голосов
/ 02 апреля 2012

Да, существует несколько существующих стандартов шифрования файлов таким способом.

Я предлагаю использовать утилиту gpg, которая реализует стандарт OpenPGP.

...