Рейтинг:0

Как работает повторное шифрование прокси - точка зрения непрофессионала

флаг br
Leo

Вот вариант использования: A использует открытый ключ B для шифрования сообщения и отправляет его B. На более поздних этапах присоединяется новый член C, и B хотел бы, чтобы C мог видеть это зашифрованное сообщение (т. е. дать расшифровку). способность C) не делиться своим закрытым ключом и не позволять A снова зашифровать сообщение, используя открытый ключ C. Он находится в этот вопрос. Полезным решением в этом вопросе является повторное шифрование прокси. В этом случае B сгенерирует ключ повторного шифрования, используя закрытый ключ B и открытый ключ C, и отправит его прокси-серверу. Прокси повторно зашифрует зашифрованное сообщение, используя ключ повторного шифрования, и отправит его C. Затем C может использовать свой закрытый ключ для расшифровки повторно зашифрованного сообщения, чтобы получить исходное.

Главный вопрос заключается в том, что после того, как зашифрованное сообщение, которое ранее было зашифровано с использованием открытого ключа B, повторно зашифровано с использованием ключа повторного шифрования, сгенерированного из закрытого ключа B и открытого ключа C, как C может использовать свой закрытый ключ для расшифровки повторного ключа? зашифрованное сообщение, чтобы получить исходное? Что заставляет это происходить?

Может ли кто-нибудь кратко рассказать о том, как работает это повторное шифрование прокси? Я знаю, что есть много статей об этом, и я пытался понять их, но до сих пор ничего не могу из них сделать (например, Лекция 17: Повторное шифрование, самый нежный материал, который я нашел, но все еще не могу понять...). Может ли кто-нибудь представить это с точки зрения непрофессионала, может быть, на рабочем примере? Введение, как эти было бы большим подспорьем.

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

Leo avatar
флаг br
Leo
Спасибо @knaccc. Добавлен.
knaccc avatar
флаг es
Похоже, вы хотите понять билинейные карты, о которых говорится в документе, потому что для этой реализации требуется только открытый ключ C, а не его закрытый ключ. Может быть, кто-то здесь найдет простой способ объяснить это без объяснения каждого бита математической записи.
knaccc avatar
флаг es
Между прочим, эти слайды, упомянутые как [Ставка] в лекции, на которую вы ссылаетесь, действительно великолепны https://people.csail.mit.edu/alinush/6.857-spring-2015/papers/bilinear-maps.pdf
Leo avatar
флаг br
Leo
Выглядит здорово, но все еще трудно понять...
Рейтинг:0
флаг ec

Ниже приведена простая однонаправленная схема PRE, в которой не используются билинейные пары, если они вас отвлекают. Он использует статический обмен Диффи-Хеллмана (то есть объединение открытого ключа одного человека с закрытым ключом другого), чтобы сделать его однонаправленным. Кстати, я больше привык описывать повторное шифрование прокси как делегирование между Алисой и Бобом, а не между Бобом и Чарли, поэтому я буду использовать это соглашение здесь.

Алиса:

  • закрытый ключ: $а$
  • открытый ключ: $г^а$

Боб

  • закрытый ключ: $b$
  • открытый ключ: $г^б$

Алиса создает ключ повторного шифрования для Боба, используя его открытый ключ:

  • $rk = \frac{a}{H((pk_B)^{sk_A})} = \frac{a}{H(g^{ab})}$

Любой может зашифровать сообщение, изначально предназначенное для Алисы:

  • $C_A = (g^r, M · g^{ar})$

Прокси повторно шифрует $С$ используя ключ повторного шифрования:

  • $ C_B = ( (g ^ r) ^ {rk}, M · g ^ {ar}) = ( g ^ {\ frac {ar} {H (g ^ {ab})}}, M · g ^ {ар})$

Боб расшифровывает, используя свой закрытый ключ, предполагая, что он знает, что это был исходный зашифрованный текст Алисы (поэтому он знает ее открытый ключ). $г^а$):

  1. $ x = (C_{B,1})^{H(pk_A^{sk_B})} = g^{ar}$
  2. $ M = \frac{C_{A,2}}{x}$

Как видите, основная идея заключается в том, что тот же самый секрет, который ослепляет сообщение ($г^{ар}$) может быть произведен с обычным шифрованием с открытым ключом Алисы, а также после повторного шифрования и дешифрования Бобом. Другими словами, вы можете производить $г^{ар}$ двумя способами:

  1. Алиса может производить $г^{ар}$ взяв $g^r$ компонент и используя ее закрытый ключ $а$.
  2. Процесс повторного шифрования преобразует $g^r$ компонент зашифрованного текста в $ г ^ {\ гидроразрыва {ар} {Н (г ^ {аб})}} $, и Боб завершает процесс, удаляя $Ч(г^{аб})$ используя его закрытый ключ $b$.

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

Для справки, это супер-упрощенная версия Umbral схема перешифрования прокси используется Сеть NuCypher, распределенная сеть, которая предоставляет услугу повторного шифрования прокси с сотнями прокси.

Ответить или комментировать

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