Loading
Nota de Estudos
Study Reminders
Support
Text Version

Public-Key Cryptosystems

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Fundamentos of Cryptography Dr. Ashish Choudhury Department of Computer Science Indian Institute of Science – Bangalore Lecture – 42 Aplicações Criptográficas do Discrete Log Assunção Hello todos, bem-vindos a esta palestra. (Consulte Slide Time: 00:36) Então só para recapitarmos vimos até agora, vimos várias suposições criptográficas no contexto de grupos cíclicos nomeadamente a assunção DLog, assunção de CDH, assunção de DDH e também vimos grupos cíclicos candidatos onde acreditamos que aqueles pressupostos de facto guardados nomeadamente aqueles problemas são de facto difíceis de serem resolvidos. Nesta palestra veremos algumas aplicações criptográficas do discreto log assunção de log a saber: veremos função de compressão provavelmente segura no modelo padrão. Veremos também que como baseado na DLog assumpção podemos projetar esquema de comprometimento provavelmente seguro no modelo padrão. Por isso, lembre-se que já tínhamos visto instanciações de função de compressão e também instanciações de esquema de comprometimento com base em função hash. Mas sua prova não estava no modelo padrão, no sentido as provas foram dadas no modelo de oráculo aleatório o que faz suposição muito forte da função hash subjacente. Mas, nesta palestra, veremos que como podemos instanciar a função de compressão, esquemas de comprometimento e dar provas sem fazer suposições não convencionais. (Consulte O Tempo De Deslizamento: 01:35) Então apenas para relembrar o problema DLog e a assunção DLog. O problema do DLog é você recebe a descrição de um grupo cíclico, a operação do grupo e o gerador e você recebe um elemento aleatório do grupo. Seu objetivo é basicamente chegar com o log discreto desse elemento aleatório em quantidade de tempo polinomial. A assunção DLog afirma que dizemos que a assunção de DLog se mantém nesse grupo se nenhum algoritmo de tempo de polia pode resolver o desafio DLog, exceto com probabilidade insignificante. E agora sabemos pelo menos 2 grupos de candidatos onde acredita-se que o problema DLog seja duro e só podemos utilizar os grupos Zp * com operação subjacente sendo modulo de multiplicação p ou podemos pegar um subgrupo de ordem prime de Zp * ou podemos levar o grupo a ser o grupo baseado nos pontos em curvas elípticas modulo p e operação subjacente sendo a operação mais. Por isso vamos assumir um grupo multiplicativo mas o que quer que vamos discutir nesta palestra, as etapas podem ser simplesmente modificadas ou as etapas dessas primitivas criptográficas podem ser simplesmente modificadas para um grupo cíclico onde a operação subjacente é adição. (Consulte O Tempo De Deslizamento: 02 :43) Então, vejamos a primeira aplicação a saber: construir funções de compressão resistentes a colisão de comprimento fixo. E para isso deixe-me relembrar a forma como construímos funções de compressão de comprimento arbitrárias ou funções de hash usando a transformação Merkle-Damgard. Então, o que a transformação Merkle Damgard faz por você é que é preciso uma entrada arbitrária e dá um hash de tamanho fixo para isso. Para isso nós transformamos a entrada em uma entrada acolchoada para garantir que cada bloco da mensagem seja um múltiplo de n bits e então nós fazemos uma chaining aqui. Nós computamos uma cadeia de hash onde em cada iteração tiramos um bloco atual da mensagem e da saída do hash anterior ou da saída da instância anterior da função de compactação. E então novamente aplicar uma instância da função de compactação de tamanho fixo e saída geral da função hash é tida como a saída da última instância da função de compactação. Provamos que se a função de compressão subjacente h é resistente à colisão que significa em tempo de polia é difícil chegar a uma colisão para a função de compressão de tamanho fixo, então a função hash resultante que obtivemos aplicando esta transformação de Merkle-Damgard também é resistente à colisão. Agora a questão é saber como construímos esta função de compressão resistente de colisão de comprimento fixo que leva 2 entradas a saber, uma entrada de tamanho l + n bits que pode ser analisada como 2 entradas um de sizel bits e outro de tamanho n bits e dá-lhe uma saída de n bits. Sabemos 2 abordagens para isso: uma abordagem é baseada em pressupostos de número teóricos que vamos ver nesta palestra. No entanto, eles não são usados praticamente. A construção que temos consciência e que provamos ser segura baseia-se em cifras de blocos a saber, a construção de Davies-Meyer. No entanto, a prova de segurança dessa construção é a saber, no modelo de oráculo aleatório. (Consulte O Tempo De Deslizamento: 04:54) Então, nesta palestra vamos ver a construção baseada nos pressupostos de número teóricos cuja segurança pode ser dada apenas com base nessa suposição de log discreta. O que nos é dado aqui é que nos é dada a descrição de um grupo cíclico publicamente conhecido onde a operação de grupo é uma operação multiplicativa. Isso sem perda de generalidade e nos é dado um gerador conhecido publicamente. E como uma configuração também nos é dado um elemento uniformemente aleatório do grupo cujo log discreto não é conhecido de ninguém. Portanto, trata-se de uma configuração única que assumimos ser feita por uma entidade confiável, não por um adversário. Mas uma vez que essa configuração é feita, podemos usar essa configuração para quantidade polinomial de tempo ou número polinomial de instâncias. Agora usando essa configuração, nosso objetivo é projetar uma função resistente de colisão que eu chamo como HDL ou HDL com base na função de log discreto. E é preciso um par de entrada onde a primeira entrada é do conjunto Zq e outra entrada é do conjunto Zq e a saída vai ser um elemento do grupo. E uma segurança a saber: a resistência de colisão da construção que vamos projetar deve ser baseada na assunção DLog. Assim, você pode interpretar função HDL que estamos tentando construir como uma função que leva 2 entradas de tamanho n-1 bits, por codificação n-1 comprimento de bits de comprimento a elementos de Zq. Isso porque eu estou assumindo aqui que o tamanho do q é n a saber, o número de bits que eu preciso representar q é n. Assim existe certos grupos em que eu não preciso fazer codificação, naturalmente a cada cadeia de bits de comprimento n-1 pode ser mapa para um elemento de Zq. Mas se esse não for o caso eu posso fazer algum tipo de codificação e eu posso codificar cada cadeia de bits de comprimento de n-1 como um elemento de Zq. Assim, podemos imaginar que esta função HDL que estamos interessados em computar leva uma entrada de tamanho geral de 2 vezes n-1 bits que pode ser passada como 2 pedaços de n-1 bits cada e novamente que são mapeados para 2 elementos respectivos de Zq. Suponhamos que os elementos do grupo sejam codificados como strings l-bit então verifica-se que se 2n-2 > l então podemos visualizar esta função HDL que vamos construir como uma função resistente de colisão e realmente há vários casos onde realmente 2n – 2 > l. Por exemplo, se levarmos o grupo a ser um subgrupo de ordem prime de Zp * onde p se diz 2q + 1 a saber-se que consiste em todos os resíduos quadráticos. Então seu l não é nada além de n + 1 porque o tamanho de p será mais do que o tamanho q. E, nesse caso claramente 2n-2 > l e, portanto, se instanciar HDL sobre este grupo específico de subgrupos de ordem prime de Zp * baseado em resíduos quadráticos, então a função HDL resultante pode ser visualizada como uma função de compactação. (Consulte O Tempo De Deslizamento: 07 :52) Assim, antes de entrar na construção da função de compressão, vejamos uma definição aqui. Lembre-se como parte do setup você é dado um elemento aleatório uniformemente h do grupo, além do gerador. Agora definimos o que chamamos como representação de um elemento de grupo em relação à base g e h. Por isso, para qualquer elemento de grupo u pertencente ao grupo, dizemos qualquer par (α, β) a partir do conjunto Zq é chamado como uma representação do elemento u relativo à base g e h se o relacionamento u = g α h β detém. Novamente, ressalto toda essa discussão é com respeito à suposição de que a minha operação subjacente é uma operação multiplicativa. Mas, novamente, todas essas definições e discussão podem ser transitados para o grupo cíclico onde a operação subjacente é adição. Então, temos a definição de uma representação de um elemento relativo a g e h. Agora com relação a essas definições temos certos fatos aqui. O primeiro fato é que se você pegar qualquer elemento u do grupo então existe exatamente q número de representações distintas de um mesmo elemento u parente a g e h. O que isso significa é que, se você fixar qualquer β arbitrário do conjunto Zq então correspondente a esse β fixo β existe um α exclusivo do conjunto Zq tal que o relacionamento g α = u * (h β) -1 detém. E é por isso que para o β 1, você obterá um α 1 correspondente que será uma representação tal que (α 1, β 1) será uma representação de u. Da mesma forma se você fixar outro β digamos β 2 que implicará em outro α 2 tal que (α 2, β 2) é a representação de um mesmo elemento u e assim por diante. Então, como que quantos β s você pode consertar? Você pode ter q número de β s porque o intervalo de β que é o conjunto Zq. E é por isso que a gama de correspondentes α s também é Zq e é por isso que você tem exatamente q número de representações distintas de qualquer elemento u. Então esse é o primeiro fato. O segundo fato é que se você receber 2 representações distintas para o mesmo elemento u, então você pode extrair o log discreto do elemento aleatório h para a base g. Por que isso? Por isso, imagine que você recebe 2 representações distintas do mesmo elemento u say (α, β) é uma das representações e (α ’, β ’) é outra representação ambos representando o mesmo elemento u relativo a g e h. Isso significa que essas 2 equações guarde e diz (α, β) e (α ’, β ’) são distintos. Isso significa vício de par (α, β) é diferente de (α ’, β ’). Agora se ambas as relações se mantiverem, então eu posso fazer a substituição e obter que g α α ’ é igual a h β β ’. E agora eu reivindicava que (β ’ – β) é non 0 porque if (β ’ – β) é 0, então h0 é 1. E h0 é 1 que significa o elemento de identidade que é possível apenas se (α – α ’) é também 0 que implica automaticamente que α α ’ e β = β β ’ que é contradição com a assunção de que (α, β) é diferente de (α ’, β ’). Isso significa (β ’ – β) é diferente de zero. Como ele é diferente de zero, então eu posso computar sempre o inverso multiplicativo de (β ’ – β) que denote por ∆ modulo q. Dado β ’ e dado β, o inverso a saber: o valor ∆ modulo q pode ser computado em tempo de polia (n). Existem algoritmos bem conhecidos para a computação este valor que eu não estou discutindo aqui. Mas você tem que acreditar em mim que se (β ’ – β) é diferente de zero, então o inverso multiplicativo de (β ’ – β) a saber: ∆ modulo q existem que podem ser computados em tempo de polia. Portanto, se podemos computar a ∆ em tempo de poltica e se nos é dado g e se nos é dado α e α ’, então podemos ver claramente que g (α – α ’) e no expoente multiplicado por ∆ lhe dará o valor h. O que significa que o Dloggh não é nada além (α – α ’) multiplicado por ∆ modulo q. Portanto, isso significa se alguém pode te dar 2 representações distintas para qualquer elemento u do grupo, então usando esse algoritmo de elemento ou usando o par (α, β) e (α ’, β ’) podemos computar bem o Dlogghas. E isso forma a base de computar nossa função de compressão ou construir nossa função de compressão que estamos interessados. (Consulte O Tempo De Deslizamento: 13:02) A construção da função de compressão resistente de colisão é a seguinte: como uma configuração somos dados um elemento aleatório uniformemente e para comprimir o par de entrada (α, β) como por esta função HDL o que temos que fazer? Basicamente, temos que computar o valor (g α, h β) essa é a saída geral. E eu afirme aqui que se a assunção DLog for verdadeira no grupo subjacente que significa que o problema DLog é de fato difícil de ser resolvido em tempo de polia no grupo subjacente, então realmente esta função HDL é uma função resistente de colisão de comprimento fixo Por quê? Portanto, isso porque encontrar uma colisão para esta função HDL significa chegar a 2 representações distintas para algum elemento u do grupo relacionado a g e h. Como vimos no último slide se temos 2 representações distintas para algum elemento de grupo então significa automaticamente sabermos como computar o Dloggh que vai contra a suposição de que o problema de log discreto é difícil de ser resolvido no grupo. Então, vamos estabelecer formalmente toda essa implicação por meio de uma redução aqui. Então imagine que temos um algoritmo de polítime que sabe como encontrar colisão na função HDL. Usando esse algoritmo, construímos um outro algoritmo que pode resolver uma instância de problema de log discreto no grupo. Assim, este adversário ADL, participa de uma invocação do experimento de log discreto com relação ao grupo. Depois como parte do desafio para aquele experimento o desafiante do experimento de log discreto escolhe um x aleatório e dá o desafio h que é gx e o objetivo deste adversário ADL é extrair este x. O que ele faz é faturar o adversário e participa de uma instância do experimento de resistência de colisão e como parte desse experimento o que ele faz é ele cria uma configuração onde a descrição do grupo é o mesmo grupo onde o adversário é ADL quer resolver o problema de log discreto e como uma parte de setup h é dada como a configuração pública onde h é uniformemente aleatória. Então, você vê que h que é lançada como um desafio para o discreto log solver é usado agora como uma configuração para esta sub função HDL. Agora conforme a propriedade deste algoritmo de finder de colisão ele pode vir à tona com uma colisão a saber, ele surge com um valor hash u que poderia ser o valor hash de (α, β) assim como o valor hash de (α ’, β ’) tal que (α, β) e (α ’, β ’) são diferentes mas seus valores de hash são u. E conforme a descrição da função HDL desde o hash de (α, β) e um hash de (α ’, β ’) é u isso significa que esse relacionamento se mantém. Então agora o que esse adversário ADL faz é assim que vê que adversário está dando uma colisão usando a matemática que tínhamos visto no último slide, ele acaba computando Dloggh a saber: ele computa (– α ’) multiplicado pelo inverso multiplicativo de (β ’ – β) modulo q. E você pode ver que o tempo de execução do adversário ADL é exatamente o mesmo que o tempo de execução do adversário. E o relacionamento sábio, podemos dizer que a probabilidade de que o solver de log D vença seu experimento a saber: ele ganha a instância do experimento de log discreto é exatamente o mesmo que a probabilidade com que o algoritmo de finder de colisão vence o algoritmo de localização da colisão contra a função HDL. Mas como estamos assumindo que a assunção de DLog se mantém em nosso grupo, então sabemos que para qualquer algoritmo de tempo de polia, a probabilidade de que ele possa ganhar uma instância de log discreto no grupo é insignificante. Isso significa que a probabilidade laterais da mão esquerda é sempre superior delimitado por uma função insignificante que implica automaticamente que a probabilidade no lado direito da expressão também é delimitado por uma probabilidade insignificante. Sendo assim, isso estabelece o fato de que a função HDL que construímos de fato constitui uma função de compressão resistente de colisão. (Consulte O Tempo De Deslizamento: 17:33) Agora vamos ver a segunda aplicação de aplicar a suposição de log discreta. Por isso, aqui vamos agora instanciar um esquema de compromisso onde a prova estará no modelo padrão. Só para relembrar um esquema de compromisso é um esquema ou um primitivo criptográfico envolvendo duas entidades são a saber: um remetente e um receptor e é protocolo de 2 fases. No remetente de fase de commit invoca um protocolo commit ou com e a fase de abertura um protocolo aberto é executado. Por isso, na fase de confirmação o remetente tem uma mensagem m de algum espaço de mensagem que deseja comprometer com o receptor. Para fazer esse remetente basicamente computa-se o compromisso de comprimento fixo da mensagem que denote por c e ele envia o compromisso c para o receptor R. E a propriedade de segurança que exigimos deste protocolo com certeza é que se o receptor for um cara ruim e computacionalmente delimitado, então, vendo o compromisso ele não deve aprender o que exatamente é cometido dentro de c. Por isso, a partir do seu ponto de vista o c deve visualizar como um envelope selado. Não se pode ver o que exatamente é a mensagem que se manteve dentro do compromisso. (Consulte O Tempo De Deslizamento: 18 :41) O segundo protocolo é o protocolo de abertura que implementa a fase de abertura em que o remetente divulgou uma mensagem, fornecendo algum tipo de informação de abertura. Uma vez que as informações de abertura sejam fornecidas ou verifiquem a abertura de informações e abra o envelope lacrado, com base em determinados critérios ele aceita ou rejeita o valor que é revelado agora na fase de abertura. A propriedade de segurança que nós exigimos aqui é que se o remetente for mau e o receptor for honesto então não deve ser possível que um remetente corrupto abra um compromisso c de duas maneiras diferentes a saber: deve ser bindado ao que tenha cometido na fase de commit. (Consulte O Slide Time: 19:22) Então antes de entrar na construção do esquema de comprometimento no modelo padrão deixe-me também relembrar como modelamos a propriedade oculta e a propriedade de ligação. Assim, a propriedade oculta é módulo pelo experimento de ocultação onde o adversário submete um par de mensagem do espaço da mensagem e uma dessas mensagens é cometida aleatoriamente ao escolher alguma aleatoriedade uniforme da fase de aleatoriedade pelo desafiante. Compromisso de desafio é c * o que poderia ser um comprometimento de m0 ou um comprometimento de m1 com igual probabilidade e o desafio para o adversário é identificar se está vendo um comprometimento de m0 ou se está vendo um comprometimento de m1. E dizemos que a saída do experimento é de 1 ou adversário ganha para experimentar se pode identificar corretamente se está vendo um comprometimento de m0 ou m1. E uma definição de segurança é dizemos que um esquema de comprometimento ou protocolo de compromisso com o qual satisfaz a propriedade oculta, eles têm a probabilidade de qualquer adversário politemporal dentro deste experimento ser superior delimitado por 1/2 + alguma probabilidade insignificante. Ou dito de outra forma, não importa se o c * é um compromisso de m0 ou se c * é um compromisso de m1. A saída deste adversário deve quase ser a mesma diz b ’ = 1 exceto com probabilidade insignificante. E uma forma formalizamos o experimento de ligação: requisito de ligação é pelo experimento de ligação em que o adversário simplesmente submete um compromisso c e um par de mensagem, aleatoriedade (m, s) e outro par de mensagem, aleatoriedade a (m*, s *) tal que m e m * são diferentes mas ainda assim o comprometimento de m com o randomness s e um comprometimento de m * com relação ao aleatório s * acaba por ser o mesmo valor c e dizemos que o algoritmo com tem propriedade vinculante. Se a probabilidade de que algum adversário politemporal possa vir a tona com um par de mensagens diferentes comprometendo-se com o mesmo compromisso é superior delimitado por uma probabilidade insignificante. Então agora o que vamos fazer é que vamos ver um esquema de comprometimento muito legal que é chamado de esquema de comprometimento da Pedersen ’ que lhe fornece a propriedade oculta, a propriedade de ligação e sua segurança é apenas baseada no pressuposto DLog. (Consulte O Tempo De Deslizamento: 21 :40) Assim, a configuração pública que se dá como parte do esquema de comprometimento é a descrição do grupo cíclico, a ordem de grupo e elemento de grupo uniformemente aleatório do grupo cujo log discreto não é conhecido de ninguém. Isso é como uma configuração confiável feita por um terceiro confiável e ela é feita uma vez por todas. Uma vez feito, podemos usá-lo para instanciar ou invocar o número polinomial de chamadas do esquema de comprometimento. No esquema de comprometimento da Pedersen ’, o espaço de mensagens é basicamente Zq. Isso significa que o remetente gostaria de cometer qualquer valor na faixa de 0 a q-1 e o espaço de aleatoriedade também vai ser o conjunto Zq. Assim, a fase de comprometimento ou o protocolo com é o seguinte: suponhamos que o remetente queira comprometer um valor α que poderia ser qualquer valor na faixa de 0 a q – 1. Para confirmar que remetente escolhe um β uniformemente aleatório a partir do espaço de aleatoriedade, a saber: Zq e ele computa a função de comprometimento que eu denote como PedCom (α, β) que não é nada além de g α h β. Denoquei esse compromisso por esta notação. Então C denota o comprometimento e seus subscritos α e β denota que se trata de uma string ou um elemento de grupo que é um comprometimento de algum valor desconhecido α com relação ao aleator-alepo β. Por isso, no subscrito o primeiro componente denota um valor que é comprometido e um segundo componente denota que a aleatoriedade que é utilizada para computar esse comprometimento. A fase de abertura é direta para frente. Então imagine receptor tem um compromisso existente disponível com ele que obteve em uma fase de comprometimento e diz que remetente cometeu α com respeito ao aleatorio β. Agora, ele fornece as informações de abertura que denotam por (α ’, β ’). Se o remetente for honesto e α ’ será o mesmo que α e β ’ será o mesmo que β. Considerando que se o remetente for corrupto e se quiser revelar uma mensagem diferente no compromisso existente então ele poderá se submeter (α ’, β ’) diferente de (α, β). Para verificar se as informações reveladoras ou as informações de abertura estão corretas ou não. Receptor faz o seguinte: ele recompõe o compromisso com relação ao fornecido (α ’, β ’) ou seja, computa g α ’ h β ’ e compare-a com o compromisso existente que ele possui. Se ele corresponde, então ele saídas α ou saídas 1. Basicamente, ele aceita α ’ caso contrário, rejeita alph ’. Então agora o que vamos provar aqui é que se a assunção DLog for verdadeira no grupo cíclico subjacente, então a função PedCom que definimos aqui satisfaz a propriedade de ligação. E isso simplesmente decorre do fato de que se você ver de perto que a função PedCom que nós definimos aqui é exatamente a mesma que a função de compressão HDL que nós definimos há pouco. Isso significa quebrar a propriedade de ligação desta função de compromisso de Pederson é equivalente a vir para cima com um par de valores (α, β) e (α ’, β ’) tal qual a função de compromisso PedCom quando computada em (α, β) e quando avaliado em computados em (α ’, β ’) lhe dá o mesmo valor de C α, β. Isso significa basicamente um sabe como descobrir uma colisão para a função HDL e se uma sabe computar ou encontrar colisões na função HDL com probabilidade significativa em quantidade de tempo polinomial, então sabemos como computar o Dloggh em quantidade de tempo polinomial com probabilidade significativa. Mas isso vai contra a suposição de que a discreta assunção de log é verdadeira no grupo subjacente. Então isso significa que se em toda a propriedade de ligação for quebrada então sabemos que o problema de log discreto também é facilmente solucionável no grupo o que é contra a suposição de que o problema de log discreto é difícil no meu grupo. Então isso prova que você vincula propriedade. (Consulte O Tempo De Deslizamento: 25 :51) Então, agora, vamos tentar provar a propriedade oculta. Por isso, lembre-se que o objetivo do oculto de propriedade é que se o remetente for honesto e se o receptor for malicioso então apenas olhando para o comprometimento C α, β não pode descobrir se está vendo um comprometimento de m0 ou se está vendo um comprometimento de m1. A saber, se vemos o experimento de ocultação jogado com respeito ao esquema de comprometimento do Pedersen ’ então aqui está como o experimento de ocultação iria olhar: o adversário pode enviar um par de mensagens digamos (α 0, α 1). O desafiante teria colhida aleatoriamente qualquer uma dessas duas mensagens por cometer e para comprometê-lo escolhe um randomness uniforme β e computar Pedersen ’ s e comprometimento da mensagem α β, α b. E o objetivo do adversário é descobrir se está vendo um comprometimento do α 0 ou se está vendo um comprometimento do α 1. Assim, o que podemos provar agora é que esse esquema de comprometimento de Pedersen satisfaz a propriedade oculta mesmo contra um adversário computacionalmente descalço. E isso vem do fato de que essa função de comprometimento de Pedersen é exatamente a mesma que a função de compressão HDL e o que ela significa é que o compromisso que o adversário está vendo tem exatamente q número de representações distintas relativas a g e h e cada um desses resentados são igualmente prováveis. Isso significa para cada candidato α b se seria α 0, α 1, α 2 ou qualquer α do espaço da mensagem, existe uma aleatoriedade ímpar dizer β b tal que os compromissos que adversário está vendo poderiam ser o comprometimento da mensagem α b sob aquele randomness β. Mas a aleatoriedade real que é usada pelo remetente ou que é realmente captada pelo desafiante no experimento de ocultação é escolhida aleatoriamente a partir do conjunto Zq o que significa que a probabilidade de que o α 0 seja comprometido neste compromisso C sub α b, β e a probabilidade de que o comprometimento que o adversário está vendo poderia ser o comprometimento da mensagem α 1 é exatamente o mesmo com probabilidade 1/q. O compromisso que o adversário está vendo pode ser o comprometimento do α 0 e com a mesma probabilidade pode ser o comprometimento do α 1. E isso se mantém mesmo que meu adversário seja computacionalmente ilimitado que prove a propriedade oculta. (Consulte O Slide Time: 28:23) Então eu gostaria de encerrar esta palestra com outra característica interessante deste esquema de comprometimento do Pedersen ’ que chamamos como propriedade do homomorfismo. Por isso, estou mantendo a fase de confirmação e fase de abertura do esquema de comprometimento da Pedersen ’. E este esquema de comprometimento da Pedersen ’ é linearamente homomórfico. O que exatamente eu quero dizer com isso é, imagine que você recebe um compromisso de algum α desconhecido com relação a um aleatorio desconhecido β 1. Então você só conhece o compromisso mas não sabe o que é exatamente o valor que está comprometido e qual é a aleatoriedade correspondente? E da mesma forma, imagine que você recebe um compromisso de outro desconhecido α 2 com relação a um aleatoriedade desconhecido β 2 e dizer que você sabe público constante c1 e c2 pertencente ao conjunto Zq.Agora a maneira como a função de comprometimento de Pedersen é definida, se assumimos o compromisso do α 1 e elevamos para c1 então acontece que basicamente acaba obtendo um valor que pode ser tratado como o comprometimento do valor c1 vezes α 1 sob o randomness c1 times β 1. Da mesma forma se você assumir o segundo compromisso nomeadamente o compromisso do desconhecido α 2 e elevá-lo ao conhecido c2, basicamente acabamos por obter o valor de compromisso da Pedersen que pode ser tratado como um compromisso de Pederson do valor c2 vezes α 2 com relação ao aleatorio c2 vezes β 2. Eu ressalto aqui que você está apenas realizando basicamente operações sobre o comprometimento. Ao realizar essas operações sobre o comprometimento, você está recebendo algo que pode ser tratado como comprometimento de algum outro valor. E agora se eu pegar esses dois compromissos computados basicamente, eu acabo recebendo um valor que pode ser tratado como um comprometimento de Pedersen do valor c1 vezes α 1 + c2 vezes α 2 com relação ao aleatorio c1 vezes α 1 + c2 vezes β 2. O que significa que qualquer função linear dos valores comprometidos pode ser computada localmente apenas realizando algumas operações sobre os compromissos. Isso significa mesmo que você não saiba o que exatamente é o α 1, o que exatamente é o α 2. Se alguém cometeu α 1 e lhe deu o α 1 selado e um selado α 2 em forma de compromisso, e se quiser realizar um comprometimento selado de alguma função linear de α 1 e α 2 a saber uma função do formulário c1 vezes α 1 + c2 vezes α 2where os combinadores lineares da função linear a saber c1 e c2 são conhecidos por você. Então mesmo sem saber α 1 e α 2 e um aleatoriedade β 1, β 2 você poderia realizar operações sobre o próprio comprometimento que acabará lhe dando o compromisso de Pedersen de alguma função linear dos valores subjacentes desconhecidos e que é o que queremos dizer com a propriedade linearense homomórfica. Então, verifica-se que essa propriedade homofóbica linearense do esquema de comprometimento de Pedersen pode ser explorada em primitivas criptográficas como computação multi-partidária segura. Então isso me leva até o final desta palestra. Só para resumir, nesta palestra vimos as aplicações de discreta partido-assunção de log a saber: vimos uma instanciação de função de compressão de comprimento fixo e vimos um instanciamento de esquema de comprometimento, nomeadamente o esquema de compromisso de Pedersen ’ e uma segurança de ambos estes primitivos estão no modelo padrão e no seu