Decidindo DDH com base em informações parciais

8

A suposição decisória de Diffie-Hellman , ou DDH, em resumo, é um problema famoso na criptografia. A suposição DDH se aplica a um grupo cíclico (G,) de ordem (principal) , se for para um gerador e escolhido aleatoriamente \ mathbb {Z} _q $$, o os seguintes pares são indistinguíveis (para algoritmos probabilísticos de politempo):g L um , b , c qgGa,b,c

  • Tipo 1:(g,ga,gb,gab)
  • Tipo 2:(g,ga,gb,gc)

Agora, suponha que seja um grupo no qual o DDH seja difícil e considere a seguinte pergunta informal :G

Conhecemos um algoritmo probabilístico de poli-tempo (PPT), que obtém um par Diffie-Hellman, juntamente com algumas informações parciais sobre (digamos, é ímpar) e pode produzir corretamente se o par de entrada é "Tipo 1" ou "Tipo 2" (com probabilidade não negligenciável)?aaa

Por informações parciais, quero dizer uma cadeia , de modo que, dado e um par Diffie-Hellman, nenhum algoritmo PPT possa calcular , com probabilidade não desprezível.z azza


É possível formalizar a pergunta acima. No entanto, como a quantidade de notação necessária é tediosa, tento usar uma analogia.

Uma suposição criptográfica famosa e não-padrão é chamada de Conhecimento do Expoente (KEA).

Para qualquer adversário A que recebe a entrada , , e retornos , existe um "extractor" B , o qual, dadas as mesmas entradas como retorno tal que .g g a ( C , C a ) A c g c = Cqgga(C,Ca)Acgc=C

Intuitivamente, ele afirma que, como o adversário não pode resolver um log discreto para obter , a única maneira de gerar um par é "conhecer" o expoente onde( C , C a ) ca(C,Ca)c .gc=C

Agora, estou fazendo uma pergunta semelhante, com base no DDH (em vez de log discreto): para distinguir os pares Diffie-Hellman "Tipo 1" e "Tipo 2", devemos "conhecer" ou b ?ab

Um pouco mais formal (mas ainda não totalmente formal):

Seja um grupo de ordem primordial q e seja f ( ) uma função arbitrária cujo comprimento de saída seja polinomial no comprimento de sua entrada. Escolher um , b , e c aleatoriamente de Z q , e deixar z = f ( a ) . Jogue uma moeda e deixe X = a b se o resultado for cara. Caso contrário, deixe X = c .(G,)qf()abcZqz=f(a)X=abX=c

Para qualquer adversário de PPT A que recebe entrada e decide corretamente entre o Tipo 1 e o Tipo 2 com probabilidade não negligenciável, existe um "extrator" B do PPT , que recebe a mesma entrada que A , gera a ou b (com probabilidade não desprezível).(q,g,ga,gb,gX,z)ab

MS Dousti
fonte
isso é provavelmente uma resposta trivial para uma pessoa de criptografia, e não é específico para DDH também, mas não Goldreich-Levin dar-lhe um extrator tal se o conselho é , onde r é um aleatória n bits 0-1 do vetor, e um e b são representados como n vectores de bits bem como(r,r,a+r,b(mod2))rnabn
Sasho Nikolov
@ Sasho: Obrigado pela sugestão. Exijo que o extrator funcione para qualquer , não para um específico. Em outras palavras, dada qualquer informação parcial, se uma pode distinguir os pares, B deve ser capaz de extrair ...zAB
MS Dousti
Então, estou confuso sobre o que "informação parcial" significa. Por que não pode ser 1 se e somente se X = a b ? Parece implausível que você possa extrair a ou b usando esse bit, mas certamente pode usá-lo para distinguir entre as duas possíveis distribuições de entrada. z1X=abab
Sasho Nikolov
@Sasho: é uma informação parcial sobre um e b , e ele não pode depender de X . Mas você pode ter razão. Eu mudei a pergunta, para que z possa depender apenas de a . zabXza
MS Dousti

Respostas:

2

Dada a formulação mais recente da sua pergunta, isso parece impossível. Considere o caso onde você tem (famílias de) grupos cíclicos e H , onde GH e temos um mapa bilinear e : G × HT . Sob a hipótese de XDH podemos supor que DDQ é difícil em L e registo discreta é difícil em H .GHGHe:G×HTGH

Vamos ser um gerador de G e H ser um gerador de H . Em seguida, defina f : Z | G | H como f ( a ) = h a .gGhHf:Z|G|Hf(a)=ha

Agora dados , podemos determinar facilmente se X = a b verificando e ( g b , z ) ? = e ( g X , h ) . (Você também pode verificar da mesma forma a correção de z, se quiser.) No entanto, parece improvável que um extrator possa extrair(g,ga,gb,gX,z=f(a)=ha)X=abe(gb,z)=?e(gX,h)z ou b dessa tupla. Extrair b é obviamente equivalente a log discreto; se houver um mapa de distorção de H a G (não pode haver um na outra direção), extrair a é equivalente a log discreto (em H ).abbHGaH

mikero
fonte
Ótima resposta, obrigado! Sua resposta me ajudou a me concentrar mais no que eu realmente queria: DDH, XDH e similares não propõem que a suposição correspondente seja difícil para todos os grupos, mas que existem grupos nos quais o problema associado é difícil. Então, meu erro foi propor a minha suposição em um grupo geral . Eu tenho que especificar o grupo (digamos, é um subgrupo cíclico de Z p de ordem primordial q), ou declarar a suposição de uma forma existencial: existe um grupo ( G , ) , sobre o qual distinguir resulta em extração. Ainda estou faltando alguma coisa? GZp(G,)
MS Dousti