Loading
Nota de Estudos
Study Reminders
Support
Text Version

Segurança do CPA

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 de CryptographyProf. Dr. Ashish Choudhury (Ex-) Infosys Foundation Career Development Cátedra Instituto de Informação Technology-BangaloreLecture-13CPA SecurityHello todos, bem-vindos à palestra 12. O plano para esta palestra é o seguinte. (Consulte o Tempo do slide: 00 :32) Nesta palestra discutiremos as limitações de cifras de fluxo. E introduziremos o conceito de segurança CPA e veremos as motivações dos ataques da CPA no cenário real mundial. (Consulte o Tempo do slide: 00 :46) Então, vamos relembrar a cifra do fluxo. Então na cifra do riacho temos um pseudo gerador aleatório, certo, que leva uma semente aleatória de l bits e lhe dá uma saída de L bits e resultado é pseudo aleatório no sentido de que a saída não pode ser distinguida do resultado de um gerador de número verdadeiramente aleatório. Assim, o algoritmo de criptografia da cifra do fluxo basicamente expande a semente para a criptografia usando o pseudo gerador aleatório ao tratar a chave para o algoritmo de criptografia como a semente para o gerador de pseudo aleatório. E a saída expandida do gerador de pseudo aleatório é usada como um pad para mascarar sua mensagem. E no algoritmo de descriptografia, nós apenas fazemos a operação inversa. Então isso é uma cifra de fluxo. Por isso, a primeira restrição que é imposta por cifra de fluxo é que não é multi-mensagem segura. Isso significa que podemos usar cifrão de fluxo apenas para criptografar uma mensagem usando uma chave, não podemos criptografar várias mensagens usando a mesma chave.E a principal razão para isso é que o algoritmo de criptografia em qualquer cifra de fluxo é determinista porque dentro do algoritmo de criptografia, estaremos expandindo a chave usando o pseudo gerador aleatório. Isso significa que se eu quiser criptografar um texto simples m sob a chave k, ele levará para o mesmo texto cifrado c, certo. Então, se eu tiver uma mensagem diz 00. E se eu tiver um k chave, e se eu quiser criptografar uma mensagem 00 usando a mesma chave várias vezes, eu sempre obterei o mesmo texto cifrado porque meu algoritmo de criptografia não é randomizado. Não há aleatoriedade interna como parte do processo de criptografia de cifração do fluxo. E com base nessa ideia, podemos realmente dar uma instanciação do experimento de segurança multi-mensagem do COA onde podemos mostrar um adversário que pode realmente identificar que mensagem é criptografada pelo desafiante no experimento. Então, aqui está a instância do experimento. Sendo assim, uma vez que este é um experimento de segurança multi-mensagem COA, nosso adversário basicamente submete um par de vetores de mensagens em que no 0º vetor temos 2 mensagens consistindo de todas as 0s.Whereas no primeiro vetor m1 o primeiro bloco de mensagens é a primeira mensagem é toda 0s enquanto que a segunda mensagem é toda 1s. Agora conforme as regras do experimento, o desafiante aqui irá executar o algoritmo de geração de chaves e ele irá decidir aleatoriamente o índice m0 ou m1 o qual ele deseja criptografar. E, por conseguinte, prepara o texto de impugnação do desafio para o adversário onde o vetor de cifração do desafio é denotado por C vetor e ele consistirá de 2 ciphertexto right.Now, observe que a maneira como o adversário submeteu o par de mensagens de desafio m0 e m1, adversário sabe que se o vetor de cifração do desafio for uma encriptação do vetor m0, então ambos c1 e c2 serão idênticos porque ambos teriam sido a criptografia da mesma mensagem então todos 0s. Considerando que o adversário sabe que se o texto do desafio cifrar é uma criptografia do vetor de mensagens m1, então definitivamente o texto cifrado c1 será diferente do texto cifrado c2.Como a mensagem está no primeiro vetor m1 são diferentes. Então com base nessa intuição, nosso adversário vai para a saída da seguinte forma vai sair o bit b ’ = 0 se e apenas f c1 = c2. E agora é fácil perceber que o nosso adversário vai à saída do bit certo. A saber, ela irá identificar corretamente a mensagem de desafio que é criptografada no desafio lateral cifração cifração c vetor com probabilidade 1.Because se realmente o 0º vetor for criptografado no vetor C, então definitivamente c1 = c2. Considerando que se o vetor de mensagens m1 teria sido criptografado no desafio, cifrão-texto C, então c1 não é igual a c2. Então claramente o nosso adversário vai ganhar esse jogo com probabilidade 1, e que mostra que em uma cifra de fluxo não podemos criptografar várias mensagens usando a mesma chave, no máximo podemos criptografar apenas uma única mensagem. (Consulte o Tempo do slide: 04 :52) A segunda restrição que é imposta pela cifra de fluxo é que ele suporta criptografia de apenas mensagens de comprimento fixo. Então, por exemplo, imagine que temos uma cifra de fluxo sobre o espaço de mensagens de bits L, certo. Então, imagine o remetente tem uma mensagem que tem tamanho mais do que L bits. Por exemplo, imagine que o remetente tenha uma mensagem que consiste em 2 bits L. Agora, uma maneira ingênua de criptografar esta mensagem teria sido dividir sua mensagem em 2 blocos cada um de tamanho L bits, L bits. E criptografar cada um dos blocos de mensagens m1 e m2 usando a chave k executando 2 instâncias do algoritmo de criptografia da cifra do fluxo certo e o texto cifrado resultante será c1, c2. Agora a questão é, é esse método de dividir sua mensagem maior em blocos menores de tamanho L bits e criptografar cada blocos de mensagens individuais é COA segura ou não. E acontece que a resposta é não. Isso ocorre por causa do problema que foi o algoritmo de criptografia de cifração de fluxo é determinista. Isso significa, se eu tiver uma mensagem maior formada por vários blocos de bits L, e se eu tiver blocos de repetição nessa mensagem maior, então onde quer que esse bloco de repetição esteja aparecendo, obterei os mesmos blocos cifrados porque o mesmo k usado para criptografar todos esses blocos, e não há aleatoriedade interna como parte do algoritmo de criptografia. Então com base nessa fraqueza, podemos realmente criar uma instância do experimento de segurança da mensagem única do COA, e mostrar que realmente eles são existentes uma estratégia de adversário, que pode identificar claramente qual mensagem foi criptografada pelo desafiante. Por isso, aqui está a instância do experimento de segurança da mensagem única do COA. Por isso, neste caso o adversário submete 2 mensagens m0 e m1. E eu ressalto que esta é uma instância de um único experimento de COA de mensagem porque nosso objetivo é mostrar que há um adversário que pode distinguir a criptografia de 2 mensagens maiores onde nossa estratégia de criptografia é dividir as mensagens maiores em blocos pequenos e criptografar de forma independente aqueles blocks.Então, neste caso basicamente adversário está submetendo 2 grandes mensagens, m0 e m1, em que m0basically consistem em 2 blocos de todos os 0s e m1 seriam constituídos do primeiro bloco sendo todos 0s e o segundo bloco sendo todos 1s. Agora, o desafiante prepara o texto do desafio cifrado e para fazer isso, basicamente challenger executa o algoritmo de geração de chaves da cifra do fluxo e obtém uma chave aleatória e ele decide aleatoriamente a mensagem m0 ou m1 para a direita de criptografia. Assim, com base no índice b que é escolhido aleatoriamente pelo desafiante, o desafiante prepara o texto-texto impugnado composto por 2 bloco de texto cifrado c1 e c2. E observe que aqui adversário sabe que se o texto do desafio cifrar é uma criptografia de m0, então definitivamente c1 e c2 vão ser iguais porque nosso processo de criptografia é um algoritmo determinístico. Na outra mão o ouradversário sabe que se o desafio cifração C for uma criptografia da mensagem m1, então definitivamente o bloco de texto cifrado c1 será diferente do bloco de texto cifrado c2.Porque os blocos internos na mensagem m1 são diferentes. Então, com base nessa estratégia, o adversário vai produzindo sua saída da seguinte forma que ele outputs b ’ = 0 se e somente se c1 = c2. E é fácil perceber que a estratégia adversário neste caso de fato identifica corretamente que mensagem foi criptografada na cifração de impugnação c com probabilidade 1, isso significa que 100% de chance o adversário vai distinguir a criptografia de m0 de uma criptografia de m1. E daí esse processo de dividir sua mensagem maior em blocos menores de L bits, L bits e criptografar cada bloco executando uma instância de cifração de fluxo mas com a mesma chave k não é um direito de mecanismo seguro. (Consulte o Tempo do slide: 08 :58) Então, como você pode ver que ambas as fraquezas que temos apontado no contexto da cifra de fluxo é por causa do fato de que o algoritmo de criptografia na cifra do fluxo é um algoritmo determinístico. E daí, é alto o tempo que temos de agora ir para o processo de encriptação randomizada para se livrar dessas 2 deficiências. (Consulte o Tempo do slide: 09 :16) Então o que agora vamos fazer a seguir é que vamos introduzir um modelo de ataque mais forte, a saber, modelo de ataque à plaina escolhido, que também chamamos de CPA. E veremos mais tarde que quando construirmos o processo de criptografia, que são o CPA seguro, podemos realmente nos livrar tanto dos problemas ou das deficiências que encontramos no contexto da cifra do fluxo. Por isso, antes de entrar nos detalhes formais do modelo de ataque da CPA, vejamos algumas reais aplicações mundiais que queremos realmente captar em nosso modelo de ataque. Então, este é um exemplo tomado no contexto da segunda guerra mundial. Por isso, este exemplo basicamente demonstra como basicamente o exército britânico quebrou os códigos alemães ao realmente obter um serviço de oráculo de criptografia do exército alemão. Então o que o exército britânico fez foi o seguinte. Eles propositalmente plantaram minas de mar em locais conhecidos que eu denoquei por dizer localização 1, localização 2 e localização 3 e assim por certo. E o que o exército alemão fez basicamente é sempre que eles realmente encontraram uma mina de mar sendo plantada em um local específico, estavam enviando de volta a identidade desses locais de volta para sua sede de forma criptografada, certo. Então aqui temos o remetente, o exército alemão que está realmente descobrando os locais das minas de mar e sede está atuando como o receptor. E há uma chave aleatória de chave comum estabelecida entre o remetente e o receptor. E sempre que o remetente a saber, neste contexto, o exército alemão estava a identificar os locais da mina de mar, estavam a criptografar a identidade daqueles locais sob uma chave desconhecida e a enviá-la de volta ao receptor, nomeadamente, a sede. E quando esta comunicação criptografada estava acontecendo, certo, o que o exército britânico fez é basicamente eles interceptaram essa comunicação criptografada. E eles sabiam que mensagem tem sido realmente criptografada, certo. Portanto, o que não se sabe ao exército britânico aqui é a chave k, isso não é conhecido do exército britânico, mas o que o exército britânico sabe neste exemplo particular é qual mensagem foi criptografada e comunicada ao receptor. Então, em certo sentido, podemos imaginar que, neste exemplo, o exército britânico, está agindo como um adversário, certo. Porque está sentado entre o emissor e o receptor e está, de alguma forma, obtendo um serviço de oráculo de criptografia, no sentido de que o exército britânico estava forçando os alemães a criptografar mensagens de escolha do exército britânico ’ s. E isso também sem deixar que o remetente ou o receptor, a saber, o exército alemão, cientes deste fato, certo. A razão pela qual estamos chamando como um oráculo de serviços que o remetente que está realmente enviando as mensagens criptografadas não está ciente do fato de que é influenciado para criptografar mensagens de adversário ’ s escolha. Então esse é o tipo de cenário de ataque que realmente aconteceu no contexto real mundial. E se você ver nosso texto cifrado apenas modelo de ataque, definitivamente esse tipo de cenário não é captado em nosso texto cifrado apenas modelo de ataque, pois este é um ataque mais poderoso, que pode acontecer e que não é capturado adequadamente, ou nem em todos capturados no modelo de ataque cifrado somente. (Consulte o Slide Time: 12 :38) Agora vejamos outro exemplo que motiva o modelo de ataque à plaina escolhido. E isso está novamente no contexto da guerra mundial. E aqui o cenário é o seguinte o exército japonês eles estavam realmente mantendo o controle dos movimentos da Marinha dos EUA e ele está agindo como um remetente e sua sede de volta o Japão é o receptor e eles têm uma chave compartilhada k. E de alguma forma, durante a guerra mundial, a US Navy interceptou uma mensagem de que os japoneses planejam atacar um local chamado AF.Então AF foi uma espécie de localização codificada. Por isso, depois de passar um tempo significativo, a Marinha dos EUA não foi capaz de confirmar o que exatamente o local codificado AF corresponde. Mas eles acreditavam fortemente que ela fica para as ilhas midway que é uma pequena ilha nos EUA. Mas não tinham certeza se exatamente AF corresponde à ilha midia ou não. Então, o que confirmar sua intuição ou entender basicamente o que o exército americano fez foi ter um serviço de oracle de criptografia dos japoneses, basicamente os forçados os japoneses a criptografar amessage de sua escolha e sem deixar o exército japonês saber desse fato. Assim, a forma como a Marinha dos EUA fez, esta é a seguinte. Então o que eles basicamente fizeram é eles simplesmente, eles instruiu a força que estava localizada na Ilha Midway para comunicar uma mensagem para a sede dos EUA afirmando que os suprimentos de água doce são baixos em ilhas midway. E esta mensagem foi enviada em claro, e eles realmente queriam que os japoneses interceptem esta mensagem. E esta mensagem foi interceptada pelo exército japonês. E assim que o exército japonês realmente interceptou esta mensagem, eles fizeram uma comunicação criptografada de volta à sua sede sob a chave k que não era conhecida do exército dos EUA e mensagem criptografada foi basicamente correspondente à mensagem que AF é baixa sobre a água. E é comunicação criptografada foi então interceptada pela Marinha dos Estados Unidos. E agora você pode ver claramente que assim que esta mensagem criptografada foi interceptada, a Marinha dos EUA foi confirmada que de fato AF corresponde à ilha midway. Então agora você pode ver aqui, a US Navy basicamente agiu como um adversário sentado entre o remetente e o receptor, e eles de alguma forma conseguiram um serviço de oráculo de criptografia do remetente, a saber, o exército japonês neste contexto. E uma vez que eles se confirmaram que AF corresponde à ilha midway, eles basicamente acabaram implantando tropas adicionais na Ilha Midway. E os japoneses pensavam que, de fato, as ilhas Midway realmente possuam um baixo abastecimento de água, o que não era realmente o caso. Então eles estavam realmente mirando a Ilha do meio-caminho. Eles não estavam se antecipando que as tropas foram fortalecidas no meio-caminho Island.E na verdade o exército japonês acabou por sofrer fortes baixas direito. Por isso, novamente, este é um exemplo de ataque real cenário de ataque mundial que não pode ser captado adequadamente no modelo de ataque cifrado apenas modelo de ataque. (Consulte o Slide Time: 15 :42) Isso significa que agora temos que ir para um modelo de ataque mais mais forte que chamamos como modelo de ataque CPA. E o cenário no modelo de ataque CPA é o seguinte. Temos um remetente e um receptor e uma chave aleatória comum é de alguma forma acordada entre as 2 entidades. E aqui o adversário é assumido para obter serviço de oracle de criptografia quer do remetente ou do receptor pela simplicidade como supõem está obtendo o serviço de oracle de criptografia do remetente. Então o que eu quero dizer com serviços de oracle de criptografia basicamente é que o adversário de alguma forma consegue acesso à criptografia “ caixa ” (em aspas). E basicamente o adversário pode influenciar o senderto criptografar o que quer que o adversário demandante queira ficar criptografado sem realmente deixar o senderknow ou estar ciente do fato de que o remetente está realmente criptografando mensagens de adversário ’ schoice.E isso pode acontecer para qualquer número de consultas, desde que o tempo de execução do atacante seja viável ou computacionalmente delimitado. Assim, neste caso, por exemplo, o adversário pode primeiro obter uma criptografia da mensagem m1 e depois com base na criptografia da mensagem m1 ele pode decidir em seguida qual mensagem deve pedir a criptografia a partir do oráculo de criptografia. Então por exemplo, m2 e como que ele pode adaptar adaptativamente o oráculo de criptografia, certo. Então o que eu quero dizer com consultas adaptativas é que esse adversário não submete todas as suas consultas de criptografia em um único tiro, nosso adversário poderia ser um adversário mais inteligente. E com base nas respostas que o adversário viu da interação anterior com o oráculo de criptografia, ele pode decidir o que pedir a partir do oráculo de criptografia nas consultas subsequentes. Nesse sentido o nosso adversário é um adversário adaptativo.E uma vez que o adversário tem acesso ao oráculo de criptografia e ele preparou um banco de dados de vários pares (mensagens, cifração de texto), somos todos aqueles cifrados cifrados são as criptografias do texto simples correspondente sob a mesma chave desconhecida k. O objetivo do adversário é o seguinte: uma mensagem fresca é criptografada, e ela é interceptada pelo nosso adversário, e o objetivo do adversário é basicamente computar alguma função do texto simples subjacente neste novo texto cifrado. Eu ressalto que pode ser o caso de que uma mensagem fresca que tenha sido criptografada e agora seja interceptada pelo adversário já possa pertencer à lista das mensagens para as quais o adversário teria conseguido a consulta oracle de criptografia. Quando dizemos que queremos construir um esquema seguro de CPA, nosso esquema deve cuidar deste cenário como bem-estar. (Consulte o Tempo do slide: 18 :07) Então agora vamos fazer a definição de segurança CPA um pouco mais formal através de nosso experimento. Por isso, temos um processo de criptografia conhecido publicamente sobre algum espaço de mensagem conhecido e temos um adversário computacionalmente delimitado. E nomenclatura do experimento é a seguinte. Chamamos o experimento como? ?????,? ?? com relação ao adversário A colocado contra um esquema Π e esta é uma única mensagem de segurança CPA.Nós somos basicamente o objetivo do atacante é identificar qual mensagem foi criptografada basicamente, ela tem que distinguir a criptografia separada entre criptografia de 2 mensagens com base no serviço de oracle de criptografia, e n aqui é o parâmetro de segurança direito. Por isso, em um nível muito alto basicamente o jogo consiste em 4 estágios. Temos uma fase de treinamento pré-desafio, temos uma fase de desafio, temos uma fase de treinamento de pós-desafio e temos uma fase de saída. Se compararmos esse experimento com o nosso jogo de segurança COA, então a fase de desafio e saída permanece a mesma que no jogo do COA. As novas coisas aqui são a fase de treinamento de pré-desafio e a fase de treinamento do pós-desafio. Por isso, vamos nos aprofundar um pouco mais no que são exatamente essas fases de treinamento de desafio pré-desafio e pós desafio. Por isso, na fase de treinamento pré-desafio, basicamente nosso adversário ganha serviço de oracle de criptografia. Então, submete várias mensagens de sua escolha de forma adaptativa e pede a criptografia dessas mensagens. Então, para o propósito de simplicidade aqui, eu representei todas as consultas de oráculo de criptografia sendo submetidas em uma só go. Mas isso pode não ser o caso, nosso adversário pode enviar qualquer mensagem de sua escolha com base na resposta que tenha visto anteriormente. Assim, uma vez que essas consultas de criptografia são submetidas ao nosso desafiante, o que o desafiante faz é ele tem que responder a estas consultas. E este modelos basicamente o adversário obtém acesso ao serviço de oracle de criptografia onde pode influenciar o emissor para criptografar quaisquer que sejam as mensagens que o adversário achar, e para responder às consultas oracle de criptografia, o que o desafiante faz é, ele executa o algoritmo de geração de chaves ou obtém uma chave aleatória e criptografa as mensagens oracle de criptografia m1, m2, …, mq conforme o algoritmo de criptografia do esquema Π certo. Portanto, não há restrição quanto ao número de consultas, que tipo de consultas o adversário pode enviar para as consultas oracle de criptografia e assim por diante. A única restrição é que o tempo de execução do adversário deve ser computacionalmente delimitado, a saber, deve ser alguma função polinomial do nosso parâmetro de segurança que reforça automaticamente uma restrição na fila, a saber, o número de consultas que o adversário pode pedir. Sendo assim, essa é uma fase de treinamento de pré-desafio. (Consulte o Tempo do slide: 20 :59) Agora na fase de desafio, adversário desafia nosso desafiante, e submete um par de mensagens do espaço de texto simples. Uma vez que se trata de um único experimento de segurança da mensagem, a única restrição no par de mensagens de desafio é que os comprimentos devem ser iguais. Fora que não há absolutamente nenhuma restrição que significa que a mensagem é m0 m1 poderia ser qualquer uma das mensagens que o adversário já consultou como parte das consultas oracle de criptografia. Então, para distinguir as mensagens m0 e m1 que foi enviado como parte da fase de desafio, estou usando uma cor diferente aqui. Mas valor sábio pode haver qualquer uma das mensagens que adversário já se consultou no passado na fase de treinamento de pré-desafio. Agora, o desafiante tem que preparar o texto do desafio cifrado e fazer que o que o desafiante faz é ele a aleatoriamente decidir se criptografa a mensagem m0 ou se para criptografar uma mensagem m1.E uma vez que decidiu qual mensagem ele tem para criptografar, ele criptografa essa mensagem em particular. Por isso, a mensagem criptografada é denotada por mb e com probabilidade metade mb poderia ser m0 e com probabilidade metade mb poderia ser m1. E agora o desafio para o adversário é identificar o que exatamente foi criptografado em c * se ele é m0 ou se ele é m1. Agora, o que fazemos aqui é realmente dar mais poder ao atacante aqui direito.Assim, uma vez que o adversário enxerga o texto do desafio deixamos novamente o adversário conseguir acesso ao serviço de oracle de criptografia e isso basicamente modela o fato de que na sessão mundial real entre o emissor e o receptor poderia consistir em várias mensagens e o adversário poderia estar interessado em identificar ou quebrar a segurança de apenas uma mensagem em particular naquela sessão baseada em qualquer consulta oracle que pudesse obter antes que o texto cifrado seja comunicado e depois que esse texto cifrado seja comunicado. Então, para modelar isso, basicamente estamos dando ao adversário um serviço de oracle de criptografia de post desafio, onde novamente ele pode pedir a criptografia de qualquer mensagem de sua escolha incluindo as mensagens de desafio, m0 ou m1. Não há absolutamente nenhuma restrição. Ele pode adaptativamente requisitar consulta oracle e em resposta, ele aprenderá a criptografia dessas mensagens. A única restrição é que o número de consultas deve ser superior delimitado por alguma função polinomial do parâmetro de segurança l.Agora, uma vez que o adversário obtém aquela fase de treinamento de pré-desafio, fase de treinamento de desafio, com base nas respostas que obteve, ela tem que identificar o que foi criptografado na cifração do desafio c *, a saber, tem que identificar se ele é m0 ou se é m1 que foi criptografado em c *. Então, essa é uma instância de uma única mensagem um experimento.Agora, a definição de segurança de CPA de mensagem única é que dizemos que o nosso esquema Π é única mensagem CPA segura ou semanticamente única mensagem CPA segura, se para cada algoritmo de tempo polinomial probabilístico participante deste experimento, há alguma função insignificante negl (n), tal qual a probabilidade de adversário vencer esta experiência, que denotamos como? (? outputs? ’ =?) ≤ 1 +? ??? (?) significando a probabilidade de que Uma saídas ou identifique a mensagem 2right que tenha sido criptografada em c *, é superior delimitado pela metade mais aquela função insignificante, onde a probabilidade é realmente tomada sobre a aleatoriedade de nosso desafiante e a aleatoriedade do nosso adversário. Por isso, lembre-se de que todas essas instâncias de experimento são experimento randomizado, pois o verificador vai usar algumas moedas aleatórias para decidir qual mensagem criptografar, qual é o algoritmo de geração de chaves indo para a saída e a aleatoriedade interna que vai ser usada como parte do processo de criptografia. É por isso que a probabilidade está sobre a aleatoriedade sobre o desafiante. E da mesma forma o adversário pode estar pedindo consultas de oráculo de criptografia, em que a natureza das consultas pode ser determinada aleatoriamente com base nas moedas internas da direita adversário. Portanto, essa é a nossa definição de segurança de CPA de mensagem única. E o que essa implicação garante é que esse processo de dividir as mensagens maiores em blocos pequenos e criptografar cada bloco individual por uma instância do esquema Π é garantido para lhe fornecer segurança CPA.Por isso, é por isso que para o resto da nossa discussão, focaremos em projetar esquema seguro CPA apenas para mensagens de comprimento fixo. Então isso me leva até o final desta palestra, apenas deixe-me resumir o que tínhamos visto nesta palestra, discutimos as 2 deficiências de qualquer cifra de riacho. A primeira deficiência é que não podemos criptografar várias mensagens, a saber, a reusabilidade chave é uma grande questão. E o segundo problema é que podemos criptografar mensagens de apenas comprimento fixo. Não podemos usar um processo de criptografia que seja COA seguro para uma mensagem de comprimento fixa para criptografar mensagens longas arbitrárias dividindo as mensagens longas arbitrárias em pequenos blocos individuais e criptografando cada bloco usando a mesma chave. Isso não vai dar-lhe uma garantia de segurança do COA. Também introduzimos a noção de segurança da CPA e tínhamos visto alguma motivação mundial real ou exemplos reais de mundo onde o adversário pode realmente lançar um ataque CPA. E tínhamos visto que no mundo CPA, segurança de mensagem única e segurança de mensagem múltipla são equivalentes. Obrigado.