The New Alison App has just launched Download Now
We'll email you at these times to remind you to study
You can set up to 7 reminders per week
We'll email you at these times to remind you to study
Monday
Reminder set
7am
Tuesday
Reminder set
7am
Wednesday
Reminder set
7am
Thursday
Reminder set
7am
Friday
Reminder set
7am
Saturday
Reminder set
7am
Sunday
Reminder set
7am
Fundações de Cryptography Prof. Ashish Choudhury Department of Computer Science International Institute of Information Technology-Bangalore Lecture-49 CCA Secure Public Key Ciphers Based on Diffie-Hellman Problemas (Consulte O Slide Time: 00:33) Olá a todos. Bem-vindo a esta palestra. O plano para esta palestra é o seguinte: Então, nesta palestra, veremos a insegurança CCA do El Gamal public key cryptosystem, que tínhamos provado anteriormente para ser seguro CPA. Em seguida, veremos uma instanciação do mecanismo de encapsulamento de chave segura CCA com base em suposições de gap-CDH. Por isso, introduziremos formalmente o que exatamente é lacuna-CDH assunção. E com base nisso, veremos um CCA garantido instanciação de mecanismo de encapsulamento de chave e desde que na última palestra, tínhamos visto que, se você receber um KEM garantido de CCA, então combinando-o com qualquer cifra de chave simétrica segura CCA, podemos obter um esquema de criptografia de chave pública híbrida de CCA. Assim, ao fazer isso, obteremos uma versão segura CCA de instanciação de criptosistema de chave pública híbrida baseada em problemas Diffie-Hellman e as duas variantes de tal instanciação, a saber, a DHIES e a ECIES, vamos discutá-las. (Consulte O Slide Time: 01:26)Então, vamos começar com a maleabilidade do El Gamal Cipher. Então só para relembrar, esta é uma descrição do processo de criptografia El Gamal. O algoritmo de geração de chaves supera uma chave pública e chave secreta, onde a chave pública é alguma g α, onde α é escolhida aleatoriamente a partir de Zq e uma chave secreta. Para criptografar um texto simples, sender primeiro computa g β, onde β é escolhido aleatoriamente da Zq. E então a mensagem é multiplicada por chave pública (pk) β e (pk) β não é nada além de uma chave Diffie-Hellman g α β. Por isso, pela simplicidade, estou assumindo que o meu grupo subjacente é um grupo multiplicativo e por isso o meu c2 é o produto de m e o componente (pk) β. Para descriptografar, o receptor primeiro computa uma chave comum Diffie-Hellman ao elevar a parte c1 do texto cifrado para a chave secreta e tirar seu inverso multiplicativo e multiplicar isso com o componente c2 do texto cifrado. De modo que o efeito de g α β cancela saída. E nós tínhamos provado que se a DDH assumirá a reserva, então esta é a CPA segura. Então, lembre-se de que, também discutimos em uma de nossas palestras anteriores a propriedade homomórfica das cifras El Gamal. Portanto, cifras de El Gamal, então o que exatamente nós queremos dizer é que, suponhamos que você tenha a criptografia cm de alguma mensagem desconhecida m, então conforme a sintaxe da cifra El Gamal cm será constituída de dois elementos de grupo. O primeiro elemento do grupo será algum g β (uknonwn β) e o segundo componente será o texto simples desconhecido m multiplicado por g α β. Agora se tomarmos o texto cifrado e levarmos o segundo componente do texto cifrado e multiplicá-lo por qualquer valor c do grupo. Em seguida, o que obtemos é basicamente um novo texto cifrado que consiste em dois elementos do grupo, que podem ser considerados como válida criptografia El Gamal da mensagem c vezes m. Isto significa, meu processo de criptografia El Gamal é maleável, pois apenas tomando um texto cifrado de uma mensagem desconhecida m, eu posso produzir um texto cifrado de uma mensagem relacionada, a saber c vezes m onde c é conhecido por mim, mas o m não é conhecido por mim, apenas realizando algumas operações locais e acontece que, se o meu processo de criptografia é maleável, então nunca podemos esperar que ele possa ser CCA seguro e eu vou demonstrar isso com um exemplo aqui. (Consulte Slide Time: 04:05) Então imagine, há um polo de adversário arbitrário, que participa de uma instância de jogo CCA contra a cifra El Gamal. Assim, conforme as regras do jogo, o desafiante jogará a chave pública para o adversário, onde a chave pública u é g α, onde α não é conhecida. O que o adversário faz é, é preciso um par arbitrário de texto simples do grupo. O desafio é preparado pelo desafiante, escolhem m0 ou m1 para criptografia. E submete um texto de impugnação de texto c * ao adversário e o que adversário agora faz é, sabe-se que o texto do desafio cifrado, que consiste em dois elementos do grupo tem essa estrutura: 1 ← e 2 ←. , onde β não se sabe a ele, o mb real não é conhecido dele e g α β β não se sabe a ele, mas o que adversário pode fazer é, ele pode escolher algum x arbitrário do grupo e pode explorar a propriedade de maleabilidade do texto cifrado El Gamal. E pode agora produzir algum texto cifrado modificado denotado como c, que agora é uma criptografia da mensagem x vezes a mensagem desconhecida mb e o que o adversário agora faz é, pede o serviço de oracle de descriptografia para este texto cifrado modificado c, o que é permitido conforme as regras do jogo CCA. Agora o desafiante tem que descriptografar este texto cifrado modificado c e sobre decriptografá-lo, jogará de volta x * mb para o adversário. Agora já que o adversário sabe que o valor de x e x pertence ao grupo, ele pode computar o inverso multiplicativo do valor x e sobre multiplicá-lo com m, ele pode identificar completamente o que mb e daí, ele pode submeter a direita b e como você pode ver que a probabilidade de que essa estratégia adversarial vença o jogo, jogo CCA é exatamente 1. Isso significa que a minha cifra El Gamal não é CCA segura. É apenas a CPA segura. Assim que criptografamos alguma mensagem usando a cifra El Gamal e se estamos no modelo contraditório malicioso usando a ajuda do serviço de oráculo de descriptografia, adversário pode descobrir completamente o que exatamente é criptografado. (Consulte Slide Time: 06:20) Então, isso significa, agora temos que pensar que como podemos projetar uma instanciação segura CCA da cifra El Gamal, então o que vamos fazer é em vez de ver uma versão segura do CCA da cifra El Gamal, vamos ver uma variante CCA segura de cifra El Gamal e para isso o que vamos fazer é, vamos instanciar um KEM seguro de CCA baseado em problemas Diffie-Hellman. Então, lembre-se do mecanismo de encapsulamento da chave segura da CPA baseado no modelo de oracle aleatório, que havemos discutido em uma das palestras anteriores. Por isso, imagine que Sita quer montar a chave para seu mecanismo de encapsulamento de chave. Então o que ela faz é, ela faz a sua parte do protocolo de troca de chave Diffie-Hellman uma vez por todas escolhem um α aleatório, que é configurado como sua chave secreta e fazendo g α como sua chave pública. Isso pode ser considerado, esta mensagem g α pode ser considerada como uma mensagem uma vez por todas para cada remetente potencial que quiser se comunicar a ela e agora se houver um Ram que deseja encapsular chave, então o algoritmo de encapsulamento para Ram será o seguinte. Ram fará a sua parte do protocolo de troca de chave Diffie-Hellman, escolhem um β e computação aleatória g β, ou seja, o encapsulamento. E a chave, que Ram obtém ou que é considerada encapsulada neste encapsulamento c é basicamente a saída de (pk) β avaliada sob a função de derivação de chave, que é disponível publicamente, em que o elemento de derivação de derivação de chave subjacente mapeia elemento do grupo cíclico g, para o espaço chave de algum esquema de encriptação de chave simétrica subjacente. Para decapitar c, o que Sita tem a fazer é, ela tem que fazer a sua parte do protocolo de troca da chave Diffie-Hellman para obter a chave comum g α β e obter a saída da função de derivação da chave naquele g α β e então ela pode obter de volta a mesma chave k. Tínhamos provado que no modelo de oráculo aleatório, se assumimos que o problema de CDH é difícil de resolver no grupo subjacente, então o mecanismo de encapsulamento de chave acima é assegurado pela CPA. Mas acontece que o mesmo mecanismo de encapsulamento de chave não é o CCA seguro, mesmo que nós estamos no modelo de oráculo aleatório. Isso porque se assumirmos que há um adversário politime, que participa de uma instância de jogo CCA contra o mecanismo de encapsulamento da chave acima, então o jogo vai olhar algo da seguinte forma. O desafiante irá gerar a chave secreta e uma chave pública e usando a chave pública, realizará um encapsulamento para obter a chave encapsulada c e encapsulada k. E vai preparar o desafio jogando, lançando uma moeda justa e o desafio para o adversário será u, c, e e o objetivo do adversário é identificar se é gerado conforme o método b igual a 0 ou conforme o método b igual a 1. Mas como estamos no mundo CCA, o adversário agora é autorizado a ter acesso ao serviço de oráculo de decapsulação. A saber, pode apresentar qualquer encapsulamento c ’, que é diferente de c e c a decapsulação do resultante c’. Então, o que o adversário agora pode fazer é, ele pode escolher arbitrariamente algum elemento c’ do grupo e dizer que é algum g β’ e junto com isso, ele escolhe algum elemento aleatório z’ do grupo e não apenas isso, ele também computa a saída da função de derivação de chave naquele elemento escolhido aleatoriamente z’ para obter a chave k’. Agora já que o adversário é autorizado a ter o serviço de oracle de decapsulação, ele pode pedir a decapsulação de c’. Já que c’ é aleatoriamente escolhido do grupo, muito provavelmente c’ vai ser diferente de c. Mesmo que não seja diferente de c, o que adversário pode fazer é, ele pode continuar escolhando aleatório c’ e muito provavelmente c’ será diferente de c assim que ele obtiver o c’ diferente de c, ele pede a decapsulação de c. E em resposta o desafiante irá realizar este k, e se você vir a sintaxe do algoritmo de decapsulação, este valor k não é nada além da saída da função de derivação da chave na entrada g α β’ , porque se c’ for g ’’, então para decapsular c’, o desafiante irá computar primeiro g α β’ e, em seguida, mapear aquele elemento g α β’ a um elemento do espaço chave executando, computando a saída de derivação de chave função. Agora o que o adversário agora pode fazer é, pode pedir o serviço de oracle de decapsulação para muitos tais c’, a saber, pode realizar o mesmo cálculo que ele fez aqui, polinomial número de tempo, escolher algum aleatório c’, aleatório z’, computar o k’ correspondente a escolher z’ e pedir o serviço de decapsulação do componente c’ e agora uma vez que ele é polinomialmente treinado, ele pode enviar sua resposta, seja gerado conforme o método b igual a 0 ou conforme o método b igual a 1. Agora você pode estar se perguntando que o que extra vantagem o adversário aqui está conseguindo ao ver a resposta do serviço de oráculo de decapsulação. Se você ver de perto aqui, ao ver a resposta do serviço de oracle de decapsulação, adversário vem aprender se o triplet (u, c’, z’) é um triplet DDH ou não. Mais especificamente, se a resposta do serviço de decapsulação para c’ der de volta a chave k, que é diferente do k’, que o adversário computou, então adversário sabe que definitivamente (u, c’, z’) não constitui um triplet DDH. Porque contrapositivamente, se de fato (u, c’, z’) é um triplet DDH, então basicamente k teria sido igual a k’. Por outro lado, adversário também sabe que se k’ for igual a k, a saber, a resposta que surge como a resposta do serviço de oracle de decapsulação correspondente à consulta do adversário ’, é igual ao k’, que ela computou, então com probabilidade muito alta, o triplet (u, c’, z’) constitui um triplet DDH. Isto porque se (u, c’, z’) não for um triplet DDH, isso significa, este z’ é diferente de g α β’ , então é muito improvável que a função de derivação de chave em duas entradas diferentes nomeadamente g α β’ e alguma g γ, em que o γ seja diferente do α’ lhe dê a mesma saída e isto sustém, pois estamos no modelo de oracle aleatório, em que a função de derivação de chave está a comportar-se como uma função verdadeiramente aleatória. Então isso significa, o que podemos agora ver aqui é que a maneira como adversário está escolhem seu serviço de oráculo de decapsulação e fazendo algum cálculo local então ao comparar a resposta do serviço de oracle de decapsulação, basicamente adversário conseguiu um acesso ao solver DDH, que informa se um triplet enviado constitui um triplet DDH ou não. Isso significa, apenas com base na suposição de CDH e suplência de oráculo aleatório, não podemos provar que esta construção de mecanismo de encapsulamento de chave é a segura CCA. Porque através do serviço de oráculo de decapsulação, adversário passa a ter acesso ao solver DDH e isso nos motiva a agora definir uma nova suposição. (Consulte Slide Time: 14:47)Ou um novo problema duro, que chamamos como lacuna computacional Diffie-Hellmen problema ou gap Computational Diffie-Hellman assunção e intuição subjacente por trás dessa suposição é que nós exigimos que o problema da CDH deve ser difícil de ser resolvido no meu grupo subjacente, mesmo que um adversário tenha acesso oracle a um solver DDH. Eu ressalto aqui que ele tem apenas um acesso oráculo ao soldador DDH; não tem um polítio; não sabia as etapas exatas daquele solver DDH. Assim, a forma como nós modelamos aqui é a seguinte: chamamos esse experimento como gap-CDH e basicamente o desafiante prepara uma instância de problema de CDH escolhendo um g ó tipo g α e g β, onde α e β escolhidos aleatoriamente a partir do set 0 para q – 1 e o desafio para o adversário é computar a função Diffie-Hellman deste u, v par, a saber, tem que computar g α β. Mas agora para modelar o fato de que o adversário tem acesso oráculo a um solver DDH, permitimos que o adversário apresente número polinomial de consultas da forma (v, w) e em resposta as saídas challenger 1, se e somente se o desafiante descobrir que este wcomponente é de fato este v α, a saber, este par (v, w) constitui um triplet DDH com relação ao u, que adversário jogou como um desafio. E o adversário agora é permitido fazer número polinomial de tais consultas aqui e uma vez que tenha feito número polinomial de consultas, o objetivo do adversário é computar a função CDH do desafio u, v, que é atirado para o adversário, a saber, ele supera um elemento de grupo e definição do experimento é dizemos que adversário venceu o experimento, que nós denotamos dizendo que a saída do experimento é 1, se e somente se adversário é corretamente capaz de resolver o problema de CDH, a saber, é de fato igual a g α β. Dizemos que a lacuna CDH assunção se mantém no meu grupo subjacente g com relação ao qual este jogo é jogado é para cada adversário de politime participante deste experimento, a probabilidade de que ele ganhe o experimento é superior delimitado por alguma função insignificante. Você pode estar se perguntando que o que exatamente a lacuna de prefixo significa aqui. Bem, a lacuna significa aqui que queremos que um problema de CDH seja difícil mesmo que o problema do DDH seja computacionalmente fácil de resolver nesse grupo. Isso significa, queremos captar a essência de que há uma lacuna entre a dificuldade do problema da CDH e o problema do DDH aqui e verifica-se que há vários grupos de candidatos, em que acreditamos que a lacuna CDH assunção se mantém, nomeadamente o problema do CDH da lacuna de facto é difícil de resolver. Por exemplo, o grupo baseado nos pontos em curvas elípticas modulo prime é um desses grupos de candidatos. Você também pode levar o subgrupo de prime order do grupo multiplicativo Zp *. Em ambos esses grupos de candidatos, acreditamos que a assunção gap-CDH se detém por valores suficientemente grandes do parâmetro de segurança. (Consulte O Slide Time: 18:04)Então, agora, vamos ver como podemos instanciar mecanismo de encapsulamento de chave sob a suposição gap-CDH e verifica-se que a construção não é uma construção nova. A construção é exatamente a mesma construção, que tínhamos visto, quando discutimos uma instanciação segura de um mecanismo de encapsulamento de chave sob a assunção CDH e DDH assumpção. A única diferença agora é que agora estamos tentando modelar um adversário ativo, sempre que o receptor recebe encapsulamento c antes de ir decapitá-lo, basta verificar se o encapsulamento c é o elemento de grupo ou não. Porque, idealmente, se de fato o encapsulamento c está vindo de partido honesto ou de um remetente honesto, então conforme as etapas do algoritmo de encapsulamento, o componente c do encapsulamento deve ser um elemento de grupo. Por outro lado, se c estiver realmente vindo como uma consulta oracle de decapsulação, então o que um adversário pode tentar fazer é, ele pode pedir a decapsulação de um elemento, que não é um elemento do grupo e se o receptor não executar a verificação de sanidade e proceder cegamente para decaptá-lo e enviar de volta a saída, então pode levar a uma falha de segurança aqui. Então essa é a única verificação adicional que estamos fazendo aqui. O restante das etapas para o algoritmo de geração de chaves, o algoritmo de encapsulamento e algoritmo de decapsulação são exatamente os mesmos, como havia sido lá antes. Agora o que podemos provar aqui, se a lacuna CDH assumida se mantém no meu grupo subjacente, então essa instanciação de mecanismo de encapsulamento chave é o CCA seguro no modelo de oracle aleatório. E vejamos uma visão geral de nível muito alto da prova. Não entraríamos nos detalhes formais. Se você estiver interessado, pode ver o livro de Katz & Lindell para os detalhes formais. Então, se pensarmos em qualquer adversário, um adversário de polítios que participa do jogo CCA contra esse mecanismo de encapsulamento, então minha alegação é que a decapsulação, consultas de decapsulação oracle, basicamente dá ao adversário o acesso ao soldador DDH e isso que tínhamos visto anteriormente, certo. Mas se a minha lacuna-Assunção CDH se mantém no grupo subjacente, certo, então significa que mesmo que o adversário obtenha acesso ao solucionador implícito DDH, o problema da CDH ainda permanece difícil para o adversário resolver. Isso significa que, o oráculo de decapsulação, as consultas de decapsulação não são de uso nenhum para o adversário. Não o ajudaria a resolver o problema da CDH e agora o que basicamente estamos fazendo aqui é basicamente já que as consultas de decapsulação não são de nenhuma ajuda para o adversário, então sabemos já que na ausência de consultas de decapsulação uma instância de jogo CCA contra o mecanismo de encapsulamento de chave é exatamente a mesma de uma instância do jogo CPA contra o mesmo mecanismo de encapsulamento de chave, que já tínhamos provado ser CPA segura sob a assunção CDH no modelo aleatório oracle. Isso significa, não temos de fazer adicionar quaisquer passos sofisticados neste mecanismo de encapsulamento de chave existente para torná-lo CCA seguro. O que nós só temos a garantir é que, nós instanciamos as etapas do algoritmo de encapsulação e decapsulação em um grupo onde a lacuna CDH assumida se mantém e no intervalo de assunção de gap, estamos seguros porque o serviço de oracle de decapsulação é completamente inútil para o adversário e ele não obtém nenhuma vantagem adicional em comparação com um adversário CPA. (Consulte Slide Time: 21:54) Então isso significa agora temos uma instanciação de mecanismo de encapsulamento de chave segura CCA, então o que nós vamos fazer é, nós vamos usá-lo para apresentar versões híbridas de cifras de chave pública baseadas em problemas Diffie-Hellman e há duas instanciações bem conhecidas deste framework, uma é chamada de DHIES e ECIES e ideia aqui é basicamente usar o framework genérico que tínhamos discutido na última palestra. Onde vimos que se nos é dado um mecanismo de encapsulamento de chave segura CCA e se nos é dado um processo de criptografia de chave simétrica segura CCA, então o processo de criptografia híbrida resultante é o CCA seguro. O que temos que basicamente agora fazer é, temos que apresentar a instanciação segura do CCA de mecanismo de encapsulamento chave. Então o que podemos fazer é, podemos usar o mecanismo de encapsulamento chave, que é o CCA seguro com base na assunção de gap-CDH, que tínhamos acabado de ver agora. E para instanciar a criptografia de chave simétrica segura do CCA, o que podemos fazer é, podemos usar qualquer esquema de criptografia autenticada, que tínhamos visto durante nossa discussão sobre o processo de criptografia de chave simétrica, a saber, podemos usar a construção genérica baseada na abordagem de criptografados então autenticar, o que sempre nos dá a garantia de que o esquema resultante é um esquema de criptografia autenticado. Por isso, lembre-se na abordagem criptografada então autenticar, nós tiramos um processo de criptografia segura de CPA, processo de criptografia de chave simétrica e um código de autenticação de mensagem segura e combiná-los usando esta abordagem de autenticação em seguida, onde primeiro criptografamos a mensagem usando a criptografia de chave simétrica segura da CPA e o texto cifrado de criptografia resultante é autenticado conforme o código de autenticação da mensagem para obter a tag. E (texto cifrado, tag) é considerado como o texto cifrado geral e nós tínhamos provado rigorosamente que essa abordagem genérica sempre nos dá um processo de criptografia de chave simétrica de criptografia autenticada e sabemos que no mundo chave simétrica, a criptografia autenticada implica em segurança CCA, pois uma das condições para o esquema de criptografia autenticada ser satisfeita é que, ele deve ter a noção de segurança CCA. Assim, para instanciar esta criptografia de chave simétrica segura CCA, podemos usar qualquer esquema de criptografia autenticado. Por isso, agora, temos instanciação tanto dos gadgets que precisamos no nosso esquema de criptografia híbrida. Se utilizarmos essas duas instanciações, obtemos o que chamamos de esquema de criptografia integrado Diffie-Hellman ou DHIES em resumo e quando instanciamos este DHIES onde o grupo subjacente é baseado nos pontos em curva elíptica, então a instanciação DHIES resultante é chamada como ECIES, a saber, esquema de criptografia integrado de curva elíptica. São dois padrões bem conhecidos, que são usados na prática para instanciar, cifras de chave pública híbrida com base em problemas Diffie-Hellman. Então isso me leva até o final desta palestra. Só para resumir, nesta palestra, vimos instanciações de mecanismo de encapsulamento da chave segura CCA. Para isso, introduzimos uma noção de gap-CDH e lacuna-CDH assumida e tínhamos visto que se combinarmos um KEM seguro CCA baseado em gap-CDH assumida juntamente com qualquer esquema de criptografia autenticado no mundo de chave simétrica, que é chave simétrica, então a construção resultante nos dá o processo de criptografia de chave pública seguro CCA, que chamamos como
Fundamentos da Cryptography Dr. Ashish Choudhury Department of Computer Science Indian Institute of Science-Bangalore Lecture-50 CCA Secure Public Key Ciphers Baseado em RSA Assumpção (consulte o Tempo do slide: 00:30) Olá a todos. Bem-vindo a esta palestra. Só para recapitular, na última palestra tivemos discutido instanciações seguras do CCA de cifras de chave pública baseadas em problemas Diffie-Hellman. Nesta palestra, nosso objetivo é ver as instanciações seguras CCA de criptografia de chave pública com base em pressupostos de RSA, especificamente o roteiro para esta palestra é o seguinte: veremos a maleabilidade da planície RSA, que provará que a simples RSA não é segura CCA. E consideraremos a versão padicionada da RSA e provaremos sua insegurança CCA, a saber, veremos um ataque muito interessante, que chamamos como ataque de Bleichenbacher ’ s e então veremos um candidato CCA seguro instanciação de criptografia de chave pública baseada no assunção RSA, a saber, RSA OAEP. (Consulte Slide Time: 01:12)Então, vamos relembrar a construção de cifra de chave pública de RSA simples da RSA one-way trapdoor permutation. Então você tem o esquema de permutação do trapdoor RSA, que tem o seu algoritmo de geração de chaves. Basicamente, o algoritmo de geração de chaves escolhe uniformemente aleatoriamente n-bit prime números, p e q e computar o módulo N, que é o produto de p e q. Em seguida, dado p e q, ele computa o valor de (), a saber | Zé |. Então, ele escolhe e > 1, tal que gcd (e, ()) = 1 e, em seguida, dado que gcd (e, ()) = 1, podemos computar o inverso multiplicativo de e denote como d,. Em seguida, finalmente, definimos (N, e) para ser a chave pública e (N, d) para ser a chave secreta. A função RSA é um mapeamento a partir de Zbits ⇒ Zpartir e para computar o valor da função RSA em alguma entrada x, basicamente computamos o modulo de xe N. Por outro lado, se você deseja computar a função inversa RSA, então é um mapeamento a partir de Zbits ⇒ Zpartir operado com a chave secreta (N, d). Para computar o valor da função inversa em alguma entrada y, yd modulo N. Então, com base nisso havemos visto uma instanciação de esquema de criptografia de chave pública, que chamamos de cifra simples RSA, em que o algoritmo de geração de chaves da planície RSA é basicamente executar o algoritmo de geração de chaves do esquema de permutação aprisionado pela RSA. E configure (N, e) para a chave de criptografia e (N, d) para ser a chave de descriptografia. Se houver um remetente, que deseja criptografar um texto simples, então utilizando a chave pública (N, e), pode produzir texto cifrado de RSA, que sou eu modulo n e o receptor que obtém o texto cifrado c sobre possuir a chave secreta (N, d) pode decriptografar um texto cifrado por computar yd modulo N. (Consulte o Tempo do slide: 03:17) Agora o que vamos ver é a maleabilidade da cifra de chave pública simples RSA. Por isso, lembre-se de quando introduzimos uma planície RSA, vimos que a criptografia RSA definitivamente não lhe fornece segurança CPA, pois ela não é randomizada. Se você criptografar o mesmo texto simples várias vezes usando a mesma chave pública, você vai obter o mesmo texto cifrado. Não só isso, não podemos reduzir a segurança da criptografia RSA diretamente para a dureza do problema RSA porque o problema RSA requer que o m subjacente deva ser um elemento aleatório a partir de Z, mas quando estamos instanciando a cifra RSA, o texto simples subjacente, que remetente é criptografar pode não ser um elemento aleatório de Zear. E não só isso, discutimos também que mesmo que não visamos a segurança semântica, a saber, para nós basta que o adversário não aprenda todo o texto corriqueiro subjacente em sua totalidade e estamos felizes com isso. Em seguida, mesmo nesse caso, há vários ataques possíveis, que podem ser perdidos na cifra da chave pública de RSA. Portanto, o que vamos agora discutir é, vamos considerar o mesmo requisito a dizer, estamos felizes com todo ou nada meio de segurança. Não visamos a segurança semântica baseada em indistinguibilidade.
This is the name that will appear on your Certification
"Nós enviaremos as instruções para resetar a sua senha para o endereço associado. Por favor, digite o seu e-mail atual."