Loading
Nota de Estudos
Study Reminders
Support
Text Version

Compondo CPA Secure Cipher e Secure MAC

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 Technology-Bangalore Lecture – 34 Compondo CPA Secure Cipher com um Secure MAC Part I (Consulte Slide Time: 00:34) Olá todos, bem-vindos a esta palestra, apenas um rápido recap. Na última palestra tínhamos visto a definição de esquema de criptografia autenticada e o plano para esta palestra é construir um tal esquema de criptografia autenticada a saber, nesta palestra veremos como compor uma cifra segura do CPA e um MAC seguro e obter um esquema de criptografia autenticado. Existem várias abordagens para compor uma cifra segura CPA e uma MAC segura. Nesta palestra, discutiremos uma dessas abordagens de compor a saber, a abordagem de criptografar então. (Consulte O Slide Time: 01 :02) Então, o problema que estamos interessados em resolver aqui é que somos dados uma criptografia simétrica segura de CPA e somos dados um código de autenticação de mensagens e queremos combiná-los ou compondo-los para obter um esquema de criptografia autenticado. Então, temos um Π CPA seguro = (GenCPA, EncCPA, DecCPA) sobre o seu próprio espaço de texto simples, espaço fundamental e um espaço de texto cifrado. E nós temos um Π MAC seguro = (GenMAC, TagGen, TagVer) e tem seu próprio espaço de mensagens, espaço fundamental e o espaço da tag e o objetivo aqui é chegar com uma maneira genética de compor esses 2 primitivos tais que a maneira como estamos genericamente compondo esses 2 primitivos sempre leva a um esquema de criptografia autenticado. Então, o que eu quero dizer com forma genérica de compor aqui é que eu não me concentraria na instanciação subjacente do Π CPA e do subjacente Π MAC. Vamos apenas considerá-los como uma caixa preta, assumimos que nos é dada alguma instanciação e instanciação arbitrária de um esquema seguro de CPA e uma instanciação arbitrária de esquema MAC seguro e nosso objetivo é compô-las, genericamente, tais que estamos sempre garantidos para obter um esquema de criptografia autenticado por essa composição genérica. Acontece que existem várias formas de compor uma criptografia simétrica segura de um Π CPA e um MAC Π seguro arbitrário mas todas essas formas de composição não precisam dar-lhe necessariamente uma cifra de criptografia autenticada. Por isso, o que vamos fazer nesta palestra e a palestra subsequente é que vamos discutir 3 das abordagens e nesta palestra; vamos discutir apenas a primeira abordagem. E vamos mostrar que essa primeira abordagem sempre leva você a uma cifra de criptografia autenticada enquanto que, uma demais abordagens de 2 minutos precisam nem sempre te levar a uma cifra de criptografia autenticada. (Consulte O Tempo De Deslizamento: 03:04) Então, vamos discutir a primeira abordagem a saber, o criptografado então autenticar abordagem. Então só para relembrar o que demos aqui é; somos dados de uma criptografia simétrica segura e arbitrária de Π e um MAC Π MAC seguro e nós vamos compondo estas 2 primitivas para obter uma cifra de criptografia autenticada que tem seu algoritmo de geração de chaves, algoritmo de criptografia e algoritmo de criptografia. O espaço de mensagem deste esquema composto será o espaço de mensagem do esquema seguro de CPA subjacente, o espaço chave do esquema composto vai ser um par de chaves, foram a primeira chave será escolhida como; onde a primeira parte da chave pertenirá ao espaço chave do processo de encriptação segura da CPA e a segunda parte da chave pertenirá ao espaço chave do código de autenticação da mensagem subjacente. E um espaço de texto cifrado do esquema composto será novamente um par, onde o primeiro componente da dupla irá pertencer ao espaço de texto cifrado do esquema seguro CPA e o segundo componente do texto cifrado pertenirá ao espaço de tags do código de autenticação da mensagem subjacente. Portanto, esse é um espaço de mensagem, espaço fundamental e um espaço de identificação cifrado do esquema composto. Agora, vamos ver como exatamente a composição acontece neste criptografado então autenticar abordagem, portanto, o algoritmo de geração de chaves do esquema composto é o seguinte: ele executa de forma independente o algoritmo de geração de chaves do esquema e saída segura da CPA é chave conforme aquele algoritmo de geração de chaves que eu denote por ke e independentemente ele executa instância do algoritmo de geração de chaves do código de autenticação da mensagem e obtém uma chave conforme o algoritmo de geração de chaves do MAC que denoco por km. E a chave geral ou a saída geral da geração de chave composta do algoritmo de geração de chaves para o esquema composto é considerada a par (ke, km). Eu ressalto aqui que a chave (ke, km), eles são independentes um do outro porque são obtidos executando de forma independente o algoritmo de geração de chaves do esquema seguro CPA e o algoritmo de geração de chaves da sua MAC. Estamos a assumir que estes 2 primitivos nomeadamente o esquema seguro da CPA e o MAC, são independentes uns dos outros. Agora, vamos ver o algoritmo de criptografia do esquema composto, então imagine que nos é dado um texto simples m que queremos agora criptografar conforme este esquema composto e conforme nossa noção, a chave aqui consiste basicamente de 2 partes; a primeira parte da chave é para o esquema seguro CPA e a segunda parte da chave é para a computação um MAC conforme o código de autenticação da mensagem. Então você pode imaginá-lo como uma caixa aqui, que toma como entrada como a mensagem e a chave, e como o nome sugere criptografar então autenticar, então o que nós vamos fazer primeiro é vamos criptografar a mensagem conforme o esquema seguro CPA usando a parte de ke da chave geral para o esquema composto e ele produzirá um texto cifrado c. Agora o texto cifrado c é tratado como uma mensagem para autenticação e o que agora vamos fazer é; vamos computar uma tag para este c; criando o c como uma mensagem e a tag agora é computada usando a segunda parte da chave a saber de km e o que quer que saia desse algoritmo de geração de tag, nós denotamos como t e agora, o texto cifrado geral para este esquema composto será a parte c que obtivemos criptografando a mensagem e a parte t que obtivemos computando a tag na parte c, então é assim que texto cifrado geral que obtivemos por esta abordagem criptografada então autenticar. Agora, vamos ver como a decriptografia acontece, por isso novamente o algoritmo de decriptografia vai levar uma chave que consistirá mais de 2 partes e é preciso o texto cifrado que novamente consiste em 2 partes; uma parte c e a parte t. E é preciso a chave, agora para descriptografar o texto cifrado no esquema composto o que nós fazemos é; nós primeiro executamos a verificação da tag. Portanto, estamos apenas realizando a operação reversa o que fizemos para a criptografia no processo de criptografia, assim no processo de criptografia, temos primeiro criptografado e depois computamos a tag, enquanto a descriptografia iremos realizar apenas a operação na ordem inversa. Então, nós vamos primeiro verificar se o TagVer (,) = 1. Portanto, se a saída é 1, isso significa, a parte t do texto cifrado é de fato uma tag válida na parte c parte do texto cifrado, então o que fazemos é decriptografar a parte c do texto cifrado usando a parte ke da chave geral e recuperar o texto simples. Considerando que, se a saída da verificação da tag for 0, então não executamos a decriptografia conforme o esquema seguro CPA seja simplesmente caixa de saída, portanto, dependendo se a verificação da tag saídas internamente 1 ou 0, nós acabamos ultrapassando o texto simples m ou nós saída indicando que o c concatenado com t, o texto cifrado que estamos recebendo no algoritmo de decriptografia é um texto cifrado inválido. Então, essa é uma maneira que vamos compor a criptografia segura do CPA e um MAC seguro conforme o criptografado então autenticar abordagem. (Consulte O Slide Time: 08 :49) Agora, queremos provar formalmente que se o esquema seguro da CPA; se a criptografia simétrica que nós tiramos nesta composição é segura de CPA e se a MAC que nós tiramos nesta composição é segura digamos, forte CMA segura, então independentemente do que exatamente é a instanciação subjacente do esquema seguro do Π CPA e o que exatamente é a instanciação subjacente do componente Π MAC, o processo de criptografia composto geral que obtivemos é sempre um esquema de criptografia autenticado para um espaço de mensagens que é igual ao espaço de mensagens da CPA subjacente esquema seguro, portanto, esse é um teorema que queremos provar. Por isso, antes de entrar em detalhes formais da prova, vamos primeiro tentar entender, o que exatamente é a intuição, por que exatamente essa afirmação do teorema é verdadeira. Portanto, trivialmente é fácil perceber que o esquema composto é o CPA seguro porque o esquema composto basicamente consiste em um processo de criptografia composto, ele consiste internamente no esquema seguro CPA subjacente. A única diferença no esquema de criptografia autenticada é que conforme a definição de criptografia autenticada, nós exigimos que ela esteja tendo tanto propriedade de integridade de texto cifrada quanto de segurança CCA. Então, eu afirmo aqui que qualquer texto cifrado (c*, t *) que é diferente de vários textos cifrados legítimos que um adversário viu no passado sempre vai decriptografar de volta para uma saída inválida e isto é porque se em tudo há um adversário malicioso que quer forjar um novo texto cifrado, digamos (c*, t *) que é diferente do texto cifrado anterior que viu no experimento CCA como resposta do serviço Oracle de criptografia. Então isso significa que internamente, o adversário tem que criar ou tem que computar uma tag t * na mensagem c * sob a chave desconhecida km, somente se for esse o caso que é possível para um adversário, então somente o adversário poderia vir à tona ou pode forjar um texto cifrado (c*, t *) o que é diferente de todo o texto cifrado legítimo que ele viu como resposta do serviço Oracle de criptografia. Mas isso será uma violação da forte segurança da CMA do MAC subjacente, então lembre-se de que estamos assumindo que o MAC subjacente é forte CMA segura e se for forte CMA segura, então é muito improvável que um adversário de tempo poltico baseado em vários textos cifrados que ele seja visto no passado possa vir a tona com o novo texto cifrado da forma (c*, t *), em que t * é uma tag em c *, em que c * é tratada como a mensagem. Então essa é a primeira observação aqui que significa, se é difícil para um adversário chegar com o novo texto cifrado legítimo que decrime para uma saída não nula, então significa que qualquer invasor CCA do ponto de vista daquele atacante CCA, o serviço de decriptografia Oracle é completamente inútil porque se em tudo isso tenta criar um novo texto cifrado, ele não pode fazer isso porque criar um novo texto cifrado legítimo é tão bom quanto forjar o código de autenticação de mensagem subjacente o qual ele pode fazer apenas com muito menos probabilidade. E isso significa que quaisquer novos textos cifrados ou quaisquer novas strings de bits, c concatenados t que ele tente criar e submeter ao serviço de decriptografia Oracle sempre retornarão de volta bot para ele e isso significa decriptografia o serviço Oracle é completamente inútil para tal atacante CCA e daí tal atacante CCA basicamente reduz a uma instância de um atacante CPA e isso automaticamente significa que se o nosso esquema composto Π for CPA seguro. Isso significa, basicamente o que estamos fazendo agora é; estamos reduzindo o atacante CCA a um atacante da CPA e já que nosso esquema composto Π usa e subjacente esquema seguro de CPA para computar a parte c parte do texto cifrado, será garantido que mesmo c concatenado t também será CPA seguro, ele lhe dará criptografia segura CPA. Então, é assim que a ideia geral, o cerne da prova aqui é basicamente mostrar que a forma como estamos compondo o MAC e o esquema seguro CPA, decriptografia do serviço Oracle vai ser inútil para qualquer atacante CCA e qualquer atacante CCA basicamente se reduz a um atacante do CPA e já que estamos usando um esquema seguro CPA internamente para executar a criptografia no esquema composto, o esquema composto também será seguro CPA. No entanto, verifica-se que mesmo que essa intuição seja muito simples de entender estabelecer formalmente isso através de reduções é a tarefa desafiadora. (Consulte Slide Time: 13:44) Então, vamos entrar nos detalhes da prova de redução aqui, então estou mantendo o processo de criptografia e o processo de descriptografia do esquema composto e imagine que você tem um atacante CCA arbitrário que está participando de uma instância do experimento CCA contra este esquema composto Π, de modo que per as regras do experimento CCA é o adversário ACCA terá acesso tanto ao Oracle service de criptografia quanto ao serviço de decriptografia. E o que eu fiz aqui é eu estou mostrando a interação deste adversário com o serviço Oracle de criptografia com a primeira caixa e com a segunda caixa, estou basicamente denotando a interação deste adversário com o serviço Oracle decriptografia. Quando estou dizendo o serviço Oracle de criptografia; por que ele é um serviço Oracle de criptografia porque o adversário não sabe o valor da parte aleatória de ke e o km parte da chave para o esquema composto que o oráculo de criptografia vai usar para criptografar o texto à plaina que o adversário vai submeter. Da mesma forma, quando o adversário está pedindo a decriptografia de texto cifrado, adversário não estaria conhecendo a parte de ke e o km parte da chave do esquema composto que a decriptografia Oracle do esquema composto vai usar para responder às consultas de decriptografia do Oracle deste adversário. Por isso, agora antes de ir para a redução formal, deixe-me apresentar algumas definições aqui. Assim, em qualquer instância do jogo CCA, eu chamarei um texto cifrado (c | t) para ser um novo texto cifrado, se as seguintes condições se manterão. A primeira condição é que a ACCA não tenha obtido o texto cifrado a partir de sua criptografia Oracle e ou o texto cifrado (c | t) é diferente do texto de cifração de impugnação recebido por este adversário no jogo CCA. Então, se alguma dessas 2 condições se manter, então eu chamarei esse texto cifrado (c | t) para ser um novo texto cifrado. Basicamente, a definição de um novo texto cifrado é que ele é novo no sentido de que o adversário produziu essa sequência por conta própria que significa, não viu essa string como a criptografia de qualquer mensagem de sua escolha que submeteu ao serviço Oracle de criptografia ou é diferente da criptografia do par de impugnação de que o atacante CCA vai se submeter no jogo CCA. Se alguma dessas 2 condições se mantiver, então eu chamo essa sequência de bits (c | t) para ser um novo texto cifrado, agora deixe-me definir em evento que chamei como consulta válida e esta consulta válida de eventos denota o evento que este atacante ACCA de CCA submete um novo texto cifrado a sua decriptografia Oracle tal que a decriptografia deste novo texto cifrado sob a chave desconhecida seguida por km é uma saída legítima que significa, sua saída é bot, portanto, é a consulta válida do evento. Então, eu afirme que se o MAC subjacente que eu estou usando no esquema composto for forte CMA segura, então a probabilidade com a qual a consulta válida do evento ocorre é insignificante, então nós vamos provar isso depois. Para o momento supor que esta afirmação é verdadeira, eu também pausa aqui por um momento e gostaria de ressaltar aqui que o que exatamente é a consulta válida do evento.Se você ver de perto a forma como eu defini a consulta válida do evento que é quase a mesma que é quase a mesma que o atacante CCA poderia quebrar a propriedade de integridade de texto cifrado na presença do serviço Oracle de criptografia assim como na presença do serviço de decriptografia Oracle porque consulta válida significa que este atacante ACCA é capaz de chegar a um novo texto cifrado, que é diferente de qualquer texto cifrado que tenha visto como resposta do serviço Oracle de criptografia bem como o texto cifrado que é diferente; assim como é diferente do texto da cifração de desafio tal que sua decriptografia é uma saída não bot. É justamente isso que exigimos quando dizemos que um adversário quer quebrar a propriedade de integridade do texto cifrado mas na propriedade de integridade do texto cifrado, o objetivo do adversário é apresentar o novo texto cifrado, um novo texto cifrado válido, apenas baseado nas criptografações de mensagens de sua escolha que significa, apenas na presença de um serviço Oracle de criptografia. Mas agora, este evento válido de consulta é o evento em que o atacante CCA poderia vir com um texto cifrado forjado cuja decriptografia é uma saída legítima, até mesmo o adversário tem acesso ao serviço Oracle de criptografia, bem como decriptografia do serviço Oracle. Isso significa, se em toda essa reivindicação que eu estou reivindicando aqui ou fazer aqui é verdade que significa, a probabilidade de que a consulta válida do evento ocorra com a probabilidade insignificante, se esta afirmação for verdadeira. Isso automaticamente, implica que o meu processo de criptografia que eu fiz; eu projetei aqui compondo o esquema seguro da CPA e o MAC tem também a propriedade de integridade de texto cifrado que significa, a probabilidade com a qual a propriedade de integridade do texto cifrado será satisfeita é sempre superior delimitado pela probabilidade com a qual a consulta válida do evento pode ocorrer na presença de qualquer atacante CCA. E se eu de fato provar que a probabilidade de que a consulta válida do evento ocorra com a probabilidade insignificante, ela implica automaticamente que a propriedade de integridade do texto cifrado também esteja satisfeita pelo meu esquema. Por isso, vamos voltar a tocar sobre este fato mais adiante quando provaremos a propriedade de integridade do texto cifrado do esquema composto. (Consulte O Tempo De Deslizamento: 19 :28) Mas, para o momento, assuma que esta afirmação é verdadeira. Então agora eu quero provar que o esquema composto que nós projetamos aqui é de fato o CCA seguro, então vamos tentar calcular que qual é a probabilidade de que qualquer atacante CCA atacando esse esquema composto seja capaz de ganhar a instância do jogo CCA que significa, qual a probabilidade de que a saída do experimento CCA seja de 1? A probabilidade de que este adversário possa ganhar o jogo CCA pode ser ainda mais dividido em 2 casos a saber, primeiro caso em que o adversário pode ganhar o jogo CCA sob a presença do evento que ocorre consulta válida e segundo caso em que o adversário pode ganhar o jogo CCA mesmo quando não ocorrer a consulta válida do evento. Essa é uma probabilidade geral do atacante CCA vencer o jogo CCA. E então o que eu posso fazer é que essa primeira grandeza aqui eu posso sempre superior delimitado pela probabilidade de que ocorra consulta válida pelo evento, então é assim que eu obtenho um limite superior ligado à probabilidade geral com que o adversário pode ganhar o jogo CCA. Então, essa é uma probabilidade geral e o que eu vou mostrar a seguir é que se meu processo de criptografia simétrica subjacente no esquema composto for CPA segura, então o que eu vou provar é que a probabilidade de que o atacante CCA possa ganhar o jogo mesmo na ausência da consulta válida do evento é superior delimitado por 1/2 + insignificante. Intuitivamente isso é verdade porque se a consulta válida do evento não ocorrer isso significa, todo o novo texto cifrado que o atacante CCA vai submeter à decriptografia Oracle vai dar de volta uma parte de saída, então basicamente este atacante CCA reduz para uma instância do atacante CPA e é o meu processo de criptografia simétrica subjacente é o CPA seguro, então ele automaticamente significa que probabilidade geral do atacante CCA vencer o jogo é superior delimitado por 1/2 + insignificante. Então, essa é uma reivindicação que eu vou provar a seguir, então agora assumindo para o momento que realmente essa afirmação é verdadeira, então eu já estou afirmando que a probabilidade com a qual a consulta válida do evento pode ocorrer é insignificante e se eu de fato provar essa nova reivindicação que estou fazendo aqui que a probabilidade de que esse atacante CCA possa ganhar o jogo na ausência da consulta válida do evento é superior delimitado por ½ + insignificante. Em seguida, obtenho que em geral a probabilidade de que o atacante CCA possa vencer o jogo é superior delimitado por ½ + negl (n) + alguma outra função insignificante e uma soma de 2 de função insignificante também é uma função insignificante, portanto, isso provará que a probabilidade de o atacante CCA conseguir vencer o jogo CCA é ½ + negl (n) e daí o esquema é o CCA seguro. Então, agora vamos ver a prova dessa nova reivindicação, que eu estou fazendo aqui. (Consulte O Slide Time: 22 :33) Então, eu quero provar que se a criptografia simétrica subjacente que estou usando no esquema composto é a CPA segura, então essa probabilidade é superior delimitado por ½ + negl (n) e isso eu vou estabelecer anteriormente através de uma redução. Então, imagine um atacante do CCA arbitrário que está jogando uma instância do jogo CCA contra o esquema composto Π, usando tal atacante eu vou projetar outro atacante que eu denote como ACPA, cujo objetivo é ganhar uma instância do jogo CPA contra o processo de criptografia simétrica subjacente que é usado no esquema composto. Então, basicamente o objetivo deste adversário ACPA é ganhar uma instância do jogo CPA contra o processo de criptografia simétrica subjacente que eu estou usando no esquema composto. Assim, na parte da mão esquerda basicamente, da redução geral você tem uma instância do jogo CPA mas contra o esquema de criptografia simétrica subjacente que é usado no esquema composto e no lado direito parte do experimento você tem uma instância do jogo CCA. Este adversário ACPA vai desempenhar um papel duplo; no lado esquerdo parte da redução ele está atuando como adversário em uma instância do jogo CPA, enquanto que no lado direito parte do experimento ele está atuando como verificador para uma instância do jogo CCA contra o esquema composto. Então, agora vamos ver como exatamente as interações acontecem nessa redução, então, quando esse adversário ACPA invoca o adversário ACCA. O adversário ACCA pode exigir por consultas Oracle queries, onde submete vários textos simples e solicitados para as criptografias dessas mensagens conforme o esquema composto, para responder a essas consultas, o que o adversário ACPA faz é simplesmente encaminha aquelas consultas como se ele quiser saber a criptografia dessas mensagens conforme o esquema de criptografia simétrica subjacente. Agora, o que o verificador para o jogo CPA vai fazer é ele vai responder a essas consultas e responder a essas consultas, ele escolhe a chave como por algoritmo de geração de chaves do esquema de criptografia simétrica subjacente que eu denote por ke e ele vai criptografar essas mensagens e o texto cifrado aqui que são retornados de volta para o adversário ACPA são basicamente a criptografia dessas mensagens mi ’ s sob a chave ke.Agora, este adversário ACPA, ele tem que agir como um verificador e ele tem que responder às consultas de criptografia Oracle que ele viu no CCA parte do experimento assim, o que ele vai fazer é para responder às consultas da Oracle de criptografia, esta própria ACPA adversário escolhe uma chave aleatória uniformemente a partir do espaço chave do MAC subjacente conforme a geração de chaves do algoritmo do componente MAC e o que ele vai fazer é: vai computar a tag ti ’ s no texto do ci cifrado que tinha visto do verificador da parte CPA da experiência da redução. Cada um desses ci ’ s concatenado com o ti ’ s são enviados de volta como a resposta do serviço Oracle de criptografia para o adversário ACCA. Por isso, se você ver de perto aqui o que está acontecendo aqui basicamente, adversário ACCA ele espera a criptografia dessas mensagens m1, m2, .. ms conforme o esquema composto Π. E como exatamente a criptografia para essas mensagens teria sido computada, ela teria sido computada primeiramente criptografando essas mensagens conforme o esquema de criptografia simétrica subjacente, de modo que é o que é o ci part aqui e em cima disso uma camada de tag de autenticação de mensagens será computada e é isso que essa própria ACPA adversário está fazendo. Então, se eu apenas considerar a visão desse adversário ACCA, ele visualizar é exatamente o mesmo que teria esperado quando ele participa da instância do jogo CCA e ele vê a resposta dessas consultas Oracle de criptografia a partir do experimento correspondente. Por isso, distribuição sábia a distribuição de probabilidade do texto cifrado no adversário ACCA finalmente vê em resposta às suas consultas Oracle de criptografia é exatamente o mesmo que por uma instância do jogo CCA que ele espera. A diferença aqui é que agora a interação do adversário basicamente é com o atacante CPA que está computando a camada de tag MAC no texto cifrado que ele está vendo a partir do verificador ou do experimento ou do experimento CPA. Então, é assim que as consultas da Oracle de criptografia são tratadas por esta ACPA adversária. Agora suponha que este invasor CCA peça a descriptografia de consultas Oracle a saber, ele submete um texto cifrado (c | t) e pediu a decriptografia de tal texto cifrado. Agora, o que esse ACPA adversário tem a fazer: ele tem que agir como um verificador para o experimento CCA e ele tem que descriptografar essas cifras cifradas. Mas não pode descriptografar completamente esses textos cifrados completamente porque para descriptografar aquelas cifras texto, você precisa ter tanto a parte do km da chave como a parte de ke da chave. O km parte da chave está disponível com este atacante CPA mas o ke parte da chave está disponível com o experimento; com o experimento CPA que não pode buscar porque se ele pode buscar o ke parte do jogo CPA, então trivialmente este adversário ACPA pode ganhar o jogo CPA. O desafio para este ACPA adversário é basicamente ganhar o experimento CPA mesmo sem saber a chave ke, portanto, a forma como este adversário ACPA vai responder a esta decriptografia Oracle queries é a seguinte: ele vê se esta string (c | t) que foi enviada pelo atacante CCA para o serviço Oracle service decriptografia já está presente na lista do texto cifrado que este adversário ACPA enviou de volta para o adversário em resposta a uma consulta Oracle queries. Basicamente, ele verifica se o texto cifrado é resultado de criptografia de qualquer uma das mensagens anteriores para as quais o adversário ACCA solicitou o serviço Oracle de criptografia, se assim aconteceu que realmente este é o caso então o que este ACPA adversário faz é; ele apenas reposta de volta com a mensagem m como a saída do serviço Oracle de decriptografia para o texto cifrado (c | t). Por outro lado, se este adversário ACPA enxerga que o texto cifrado (c | t) é uma nova sequência que não está presente na lista do texto cifrado que ele já enviou como resposta às consultas Oracle de criptografia para o adversário ACCA, então basicamente a resposta para este serviço Oracle de decriptografia para tal novo texto cifrado é bot, eis qual é a estratégia desta ACPA adversário para responder ao serviço Oracle de decriptografia. Agora, conforme o jogo CCA, esse adversário ACCA vai apresentar um par de impugnação de impugnação (m0, m1) e o que este adversário ACPA faz é simplesmente encaminhá-los os autores do desafio na parte da CPA para esta redução. O que este experimento CPA faz é ele decidir aleatoriamente uma da mensagem para criptografia e criptografar mensagem de texto conforme a chave ke e o que este adversário ACPA faz é ele adiciona sua própria camada de tag de autenticação de mensagens em c * tratando c * como a tag conforme a chave km e que enviou como o desafio cifrar texto para este adversário ACCA. Novamente se você ver a visão do adversário que significa, a distribuição de probabilidade do texto de cifração do desafio e adversário ACCA é visto é exatamente o mesmo que este adversário ACCAiria ter visto ao participar de uma instância real do jogo CCA. O texto cifrado (c*, t *) teria sido computado primeiramente criptografando a mensagem mb sob uma ke chave, que é uniformemente aleatória. E depois segui-lo adicionando uma camada de tag sob um km chave, que também é uniformemente aleatória e é assim que exatamente a distribuição do texto da cifra de contestação (c*, t *) que este adversário ACCA está vendo neste experimento. Nessa palestra vimos como compor a criptografia simétrica segura e um MAC seguro e usando o criptografado então autenticar abordagem tal que o esquema composto é sempre provavelmente