Loading
Nota de Estudos
Study Reminders
Support
Text Version

Criptálise de Cifras Históricas

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ções Technology-BengaluruLecture-03Historical Ciphers E Respectivos CriptanalysisHello todos, bem-vindos à terceira palestra. O plano para esta palestra é o seguinte. (Consulte o Tempo do slide: 00 :34) Nesta palestra discutiremos algumas das cifras históricas como cifra de turno, cifra de substituição de mono alfabética e cifra de substituição alfabética poltica e veremos sua criptomólise, a saber, veremos o quão mal estas cifras foram quebradas. Veremos as lições que aprendemos com essas cifras históricas. E, finalmente, discutiremos os princípios da criptografia moderna. (Consulte o Tempo do slide: 00 :56) Então, vamos discutir a cifra do turno que é um processo de criptografia simétrica muito simples e no shift cifrar o texto simples e os caracteres de texto cifrado pertencem ao alfabeto de alguma linguagem natural. Assim, por exemplo, supomos que os caracteres nitidez e cifrados pertencem ao conjunto de alfabeto inglês, a saber, o conjunto de letras a a z. E o processo de criptografia aqui é deslocar cada instância do caractere de texto simples por k posições para frente. E o processo de decriptografia é alterar de volta cada caractere de texto cifrado por posições de k na direção invernada. E o turno aqui a saber, o valor de k vai ser um dos valores do conjunto de 0 25, que é selecionado aleatoriamente pelo algoritmo de geração de chaves. Assim, a interpretação matemática da cifra do plantão é a seguinte. Uma vez que os caracteres de texto simples são pertencentes ao conjunto a a z, interpretamos o caractere „ a "como o símbolo 0 caractere „ b" como um símbolo 1 e da mesma forma interpretamos o caractere „ z " como o símbolo 25. Esse é um mapeamento que assumimos está disponível tanto para o remetente quanto para o receptor ou para qualquer terceiro que vai usar uma instância de cifra de turno. Agora o espaço chave aqui é o set 0 25. Pois o valor real de turno a saber, o k vai ser um do valor em aleatoriamente selecionado neste conjunto. E o espaço à plaina e o espaço cifrado vai ser o conjunto de strings sobre o conjunto de 0 25. Porque o meu autor vai ser qualquer texto em inglês onde os caracteres do texto simples serão mapeados para o alfabeto no set 0 25. E, da mesma forma, o texto cifrado que vai ser algum texto sobre o set 0 25, será interpretado como alguma sequência sobre o set 0 25. Assim sintaticamente, o algoritmo de geração de chaves para a cifra do shift é o seguinte. O algoritmo de geração de chaves vai à saída de um valor aleatório uniformemente a saber „ k " que vai ser o valor de deslocamento que emissor e receptor vão utilizar e este turno vai ser um valor aleatório do espaço chave. Então, a notação aqui pertencente ao subscrito R denota que a saída do algoritmo de geração de chaves, a saber „ k " é selecionada aleatoriamente sobre o espaço chave. E a aleatoriedade aqui é aleatoriedade uniforme. Então a notação nobre? denota que o valor é uniformemente selecionado sobre o conjunto „ K ". Sendo assim, essa é a interpretação da notação pertencente a subscrito r. A sintaxe para o algoritmo de criptografia da cifra do plantão é a seguinte. Então imagine que nos seja dado um texto em inglês que estamos interpretando como uma sequência sobre o set 0 25. Isso significa que cada caractere do texto simples é um símbolo no conjunto 0 para 25.So a criptografia do caractere de texto simples da i-ésima acontece da seguinte forma, assumimos o i-ésimo caractere de texto simples mi e temos o valor de turno que vai ser qualquer um do valor na faixa de 0 25. E algoritmo de criptografia produz e ith caractere de texto cifrado, em que o caráter de texto cifrado da i-ésima é a somatória de caracteres de texto simples com o shift modulo 26. Agora esse modulo de operação 26 garante que, nós fazemos o witeound se você está realmente indo além do valor 25.What eu quero dizer com isto é, se, por exemplo, seu mi o caractere de ith plaintext é dizer „ a ", e se o meu valor de „ k" for dizer 25, certo ou dizer meu ilustre caractere de texto simples, digamos „ b ", e se o meu valor de „ k" é 25, então se „ b " for mapeado para 1, e meu k é 25. E se eu adicionar de 25 a 1, na verdade, estarei cruzando o valor, a faixa de valores permitida para os caracteres cifrados, a saber, 0 25. Isso significa que eu tenho que fazer um envoltório por aí. E esse efeito de enrolar está acontecendo ao fazer a operação do modulo. Então esse é o processo de criptografia da cifra de turno e analogamente temos a operação de decriptografia correspondente, onde tiramos o caráter de texto do ithcipher, o valor de shift e para recuperar o caráter de texto ithplain texto, simplesmente vamos voltar „ k " posições de volta do caractere de texto cifrado. E se necessário, fazemos o wondound realizando a operação modulo, modulo 26 operação. (Consulte o Tempo do slide: 05 :25) Então agora vamos tentar analisar a segurança da cifra do plantão e vamos fazer a análise no modelo de ataque mais simples possível, a saber, o modelo de ataque cifrado apenas o modelo de ataque, em que o cenário é o seguinte, supomos que temos um emissor e um receptor e remetente criptografou um texto em inglês composto por „ l " caracteres em que cada um dos caracteres pertence ao conjunto 0 25. E há um valor aleatório de deslocamento que já foi acordado entre o remetente e o receptor. O adversário interceptou o texto cifrado que consiste em caracteres de texto do „ l " cifram-se e sabe que o caráter de i-ciphertexto está relacionado com o caractere ilustre desconhecido por esta relação. Por isso, aqui mi assim como o k é desconhecido do atacante. E o objetivo do atacante é recuperar a mensagem. Por isso, o ataque mais simples possível que adversário pode lançar aqui é o que nos chamamos de ataque de força bruta. E a ideia por trás de um ataque de força bruta é a seguinte. O que adversário tem a fazer é, sabe-se que o valor de k desconhecido é um dos valores possíveis na faixa de 0 25. Então o que pode fazer é pegar o texto cifrado c e pode pensar em sua mente todos os possíveis valores de candidatos de k e pode tentar descriptografar o texto cifrado conforme o próprio candidato k, pois sabe o correspondente processo de decriptografia também. E assim que ele acerta na tecla do candidato para o qual a decriptografia devolvem um texto significativo, por significado eu quero dizer um texto em inglês significativo, ele sabe que ele tem atingido na tecla certa e daí a mensagem recuperada é de fato a mensagem certa com alta probabilidade. E esse ataque é muito fácil de ser lançado porque aqui o adversário tem que fazer o cálculo a saber a descriptografia do texto cifrado apenas com 26 chaves candidatas, o que é muito fácil de perform.Consequentemente, podemos dizer que a cifra de turno pode ser muito facilmente quebrada apenas fazendo um ataque de força bruta. Por isso, a importante lição que aprendemos com este ataque é o que chamamos de princípio de espaço chave suficiente que afirma que qualquer cifra segura deve ter um espaço de chave enormemente grande, a saber, o conjunto de chaves candidatas deve ser enormemente grande, de modo que se torna imprático para aquele adversário fazer um tipo de ataque brutamontes. Essa é a condição mínima necessária, condição que exigimos para que a nossa cifra seja segura. (Consulte o Tempo do slide: 07 :49) Então agora vamos ver como podemos corrigir o problema que está associado à cifra de deslocamento para evitar um ataque de força bruta. E isso leva a outra cifra interessante que chamamos de cifra de substituição mono alfabética. E a ideia aqui é em vez de deslocar cada personagem plaintexto pela mesma quantidade desconhecida k, mudamos cada caractere de texto à parte por uma quantidade diferente em um mapeamento um para um. O que quero dizer aqui é o seguinte: Sabemos que os personagens à paisana poderiam ser qualquer um dos personagens da faixa a a z, ou 0 25. O que fazemos é mapear este caráter de texto simples em um para um mapeamento para o conjunto de caracteres de texto cifrado a a z. Isso significa que a chave vai ser uma permutação secreta do set 0 25, que vai ser conhecida apenas para o emissor e o receptor. Por exemplo, se tomarmos essa permutação específica que mapeia o caráter de texto simples a a b, isso significa no texto simples onde quer que o caráter de texto simples seja um, todas aquelas instâncias de um vão ser substituídas por b da mesma forma onde quer que no texto simples, temos o caractere c todas aquelas instâncias de c vão ser substituídas por z e assim por diante. Uma vez que o receptor também conhece a mesma permutação secreta no recebimento do texto cifrado tem que apenas realizar a operação reversa onde quer que esteja vendo o caractere cifrado z, ele tem que substitui-lo por c e assim por diante. Assim, a operação de decriptografia pode ser realizada pelo receptor. Agora você pode ver o espaço de chave do candidato aqui é extremamente grande, a saber, o conjunto de chaves possíveis é na verdade 26 fatorial porque cada chave não passa de uma permutação do set a para z e poderia haver 26 chaves de tais candidatas. Portanto, se o adversário tenta fazer um ataque de força bruta, que vimos no contexto da cifra de plantão, a quantidade de força bruta ou o cálculo que adversário tem que executar é de ordem de grandeza 2 à potência 88 (288), que é uma enorme quantidade de computação. Isso significa que podemos definitivamente dizer que ataque de força bruta não é possível lançar sobre a cifra de substituição de turno. (Consulte o Tempo do slide: 09 :52) Mas isso não significa necessariamente que aquele é o único ataque possível na cifra de substituição de mono alfabético. Na verdade, verifica-se que há um ataque muito interessante, que chamamos como ataque de análise de frequência. E este ataque pode ser lançado em qualquer cifra, onde o espaço de texto simples subjacente é uma linguagem natural que na verdade é o caso no nosso exemplo, pois estamos considerando uma configuração em que o texto simples é realmente texto em inglês. Então, a ideia aqui é explorar a redundância que está disponível em qualquer língua natural por exemplo, o inglês. O que eu quero dizer com redundância é o seguinte. Se considerarmos grande, longo texto em inglês e sabemos que em uma média o caractere E ocorre com mais frequência comparada a qualquer outro caractere. Da mesma forma que conhecemos em uma média em longo texto em inglês, o caractere T ocorre com mais frequência em comparação com o caractere U e assim por diante. Não só temos a frequência média de letras em inglês disponível para longo texto em inglês, podemos também dizer que estamos disponíveis com a frequência média de bigramas em inglês em longo texto em inglês, por exemplo sabemos que em longo texto em inglês em uma média o bigram „ th "ocorre com mais frequência em comparação com o bigram „ nd" e assim por diante. E da mesma forma, temos a frequência dos trigramas ingleses mais populares e assim por diante. E este é um dado público disponível para qualquer usuário do universo. Assim, a ideia por trás da análise de frequência é que apesar de cada caractere do texto simples ter sido mapeado para um caractere de texto cifrado diferente, preserva-se a relação entre caracteres cifrados com maior frequência e um caractere de texto simples é preservado. Isso significa se o invasor vê um texto cifrado enormemente longo correspondente à criptografia de texto simples de inglês longo, e o que o adversário pode fazer é pode executar ou pode preparar um gráfico similar ao gráfico da frequência média da letra em inglês onde lhe dirá qual cifra de texto cifrado está ocorrendo com maior frequência comparada para outro caractere de texto cifrado e assim por diante. Assim, por exemplo, imagine que após preparar este gráfico adversário descobre que o caractere de hipertexto R ocorre o tempo máximo de tempo. Então, o que adversário pode pensar em sua mente para decifrar o caráter de texto R corresponde ao caráter de texto simples E e assim por diante. Da mesma forma, a relação entre o texto cifrado mais freqüentemente bigrama e o texto simples de ocorrência mais frequente bigram é preservado e assim on.Assim, ao fazer a comparação, adversário pode facilmente descobrir a permutação secreta correspondente entre o espaço de caracteres de texto simples e um espaço de caracteres de texto cifrado que o emissor e o receptor estão operando a instância de cifra de substituição alfabética mono. Assim, como você pode ver, mesmo sem fazer o ataque de força bruta, adversário poderia facilmente recuperar a permutação secreta. E daí a cifra de substituição mono alfabética pode ser muito facilmente quebrada no texto cifrado apenas modelo de ataque direito. (Consulte o Tempo do slide: 12 :54) Então agora vamos ver outra cifra histórica interessante que chamamos de cifra de substituição político-alfabética, e que também é chamada de cifra de Vigenere após o nome de seu inventor. E a ideia aqui é consertar o problema potencial que estava lá em contexto de cifra de substituição mono alfabética. A saber, a ideia aqui é invocar múltiplas instâncias de cifração de turno de tal forma que em cada instância, um caractere de texto simples é mapeado para diferente caractere de texto cifrado. Isso significa que não vai acontecer que onde quer que o caractere de texto à parte seja um ele sempre getsmapeado a um caractere de texto cifrado específico que não vai acontecer, isso significará a relação entre o caractere de texto autor mais freqüentemente ocorrendo e o caractere de texto cifrado mais freqüente vai ser perturbado. E a forma como alcançamos isso é a seguinte. Por isso, novamente aqui a mensagem e o espaço de texto simples e o espaço cifrado é o conjunto de todos possível é um conjunto de strings sobre o conjunto 0 25. E o espaço chave agora vai ser uma sequência de comprimento t, onde t também é selecionado aleatoriamente pelo algoritmo de geração de chaves e valor de t poderia ser qualquer coisa com o valor mínimo de t sendo 1. E o valor da chave vai ser qualquer cadeia de comprimento t sobre o set 0 25. Isso significa que seu algoritmo de geração de chaves está indo para a saída de uma chave formada por caracteres t, onde t também é selecionado aleatoriamente pelo algoritmo de geração de chaves. E cada caractere da chave vai ser um dos valores no set de 0 25 certo, ou seja, um algoritmo de geração de chaves. E o algoritmo de criptografia acontece da seguinte forma. Então imagine que o remetente tenha um texto simples, o que remetente vai fazer é o seguinte ele vai dividir seu texto simples em blocos de t, t, t, pode ser o caso de que o cliente não é na verdade um múltiplo de t. Isso pode ser possível que o último bloco possa não ser um múltiplo de t. Mas, para a simplicidade supor que o último bloco também é um múltiplo de t. Uma vez que a mensagem é dividida em blocos de tamanho t, t e t. A ideia aqui é criptografar cada um do bloco usando a chave executando uma instância de cifração de turno. A saber, produzimos o bloco de texto cifrado da seguinte forma. Então imagine que os personagens do bloco ith são mi1, mi2 e mit. Portanto, há t tais caracteres. E temos os principais caracteres k1, k2 e kt.Assim, a ideia aqui é produzimos o i-ésimo texto cifrado, com os caracteres dos blocos de texto cifrados são ci1, ci2, e cit, em que o caractere jth do bloco i-ésimo texto cifrado é obtido por deslocamento do caractere de ithjth plaintext pelo shift kj modulo 26. (Consulte o Tempo do slide: 15 :44) Então deixe-me demonstrar o que exatamente estou tentando dizer. Imagine que o valor de t é 6 aqui ok, e chave que é gerada aleatoriamente pelo algoritmo de geração de chaves suponhamos que seja o caractere “ cipher ” a saber, mapeamos c para 2, para i a 8 e assim por diante. Isso significa que esta é a chave aleatória que é gerada pelo algoritmo de geração de chaves. E sabe-se tanto para o remetente como para o receptor direito. Agora assuma o recorrente que o remetente quer criptografar é a mensagem em inglês, “ thiscryptosystemisnotnotsecure ”. Assim, qual o primeiro passo para criptografar a exibição em texto será mapear cada um dos caracteres do texto simples para o conjunto 0 26, a saber, para os caracteres 0 26. Por isso, por exemplo, t é mapeado para 19, h gets mapeados para 7 e assim por diante. Uma vez que convertemos o texto simples do inglês em letras na faixa de 0 26, a seguir dividimos a mensagem em blocos de 6 6 6 porque nossas chaves de tamanho 6 caracteres, assim como você pode ver, neste exemplo particular, o último bloco não é um múltiplo de 6, portanto, ele consiste em apenas 3 símbolos, que está bem. Agora o que fazemos é criptografar o primeiro bloco da seguinte forma. A chave para o nosso exemplo é string 8.2.2015 7 4 e 17, o que fazemos é adicionarmos essas letras são os símbolos ou números para o bloco 19 8.7.2018 2 e 17 e cada um da adição é realizado modulo 26.Namely, o caractere 19 é deslocado por 2. E já que não estamos atravessando a faixa de 0 26, obtemos 21. Da mesma forma, o personagem 7 é deslocado por 8 para obter o personagem 15. E da mesma forma o último caractere do primeiro bloco que é 17 é deslocado pelo montante 17 para obter o caractere 6. Então agora você pode ver já que estamos realmente cruzando o intervalo de 0 25, nós fazemos a operação mod 26 para fazer o wraparigas. E como resultado de fazer o "wondound" obtemos o caráter de texto cifrado como 6. Da mesma forma nós tiramos o segundo bloco, e novamente adicionamos os caracteres da chave um por um e fazemos a operação modulo 26 e consequentemente, uma vez obtivemos os caracteres de texto cifrado em que os alfabetos pertencem ao conjunto 0 26. Cada um desses caracteres de alfabeto são mapeados de volta para o conjunto de caracteres em inglês. E como resultado, a string “ vpxzgiaxivwpubttmjpwizitwzt ” será a criptografia, esta string será a criptografia do texto simples “ thiscryptosystemisnotnotnotsecure ”. Na extremidade de recebimento o receptor também vai realizar a mesma operação, ele dividirá o texto cifrado em blocos de 66 6. E neste caso, o último bloco será composto por 3 caracteres, interpretá-los como símbolos na faixa de 0 25 e depois subtrai cada um dos principais caracteres modulo 26 para obter de volta o texto à plaina. É assim que vamos executar a operação de criptografia e decriptografia na cifra Vigenere. E agora a ideia aqui é a seguinte. Se você ver a criptografia, e se você ver o texto simples e o texto cifrado, o que eu destaquei aqui são todas as instâncias do símbolo „ s " certo. Você ver cada instância do símbolo „ s " fica mapeada para diferente caractere de texto cifrado. Por exemplo, a primeira instância do caractere de texto simples s é mapeada para z direito. A segunda instância da letra s fica mapeada para v e assim por diante. E a razão pela qual isso está acontecendo é porque cada vez que o valor s é deslocado por quantidade diferente, o que depende da posição do caráter demandado s que significa onde exatamente ele está operando, e por quanto quantidade foi deslocada, a quantidade de shift pela qual s está sendo deslocada não será igual em todas as instâncias da letra s. Porque isso depende da posição da letra s, bem como do valor do caractere da chave que vai ser usada para deslocamento da instância de s. Certo, como resultado, na verdade estamos, de alguma forma, perturbando o padrão que está disponível entre o texto simples e o caráter de texto cifrado, isso significa que não podemos mais dizer que o caractere de texto cifrado mais frequentemente ocorrendo corresponde ao caractere de autor mais frequente ocorrendo e assim por diante. (Consulte o Tempo do slide: 20 :06) Então, agora você pode ver um pode sentir que a cifra de Vigenere é realmente difícil de quebrar, mas verifica-se que podemos realmente realizar a criptoise da cifra de Vigenere que significa que podemos quebrar a cifra de Vigenere no próprio modelo de ataque cifrado. E o ataque acontece fazendo uma abordagem de dois estágios. No estágio 1, o objetivo será determinar o comprimento de t a saber o tamanho do período da chave direitos.Então, lembre-se, t poderia ser qualquer valor a partir de 1 em diante e há vários métodos bem conhecidos, e um método interessante para determinar o valor de t. Então, por exemplo, você pode usar o método de Kasiski ou outro método interessante chamado índice de coincidência método e assim por diante. Uma vez que sabemos o valor de t, no estágio 2 o que vamos fazer é vamos recuperar de volta os caracteres desconhecidos da chave.E uma vez que conhecemos os caracteres desconhecidos da chave, podemos facilmente realizar a operação de decriptografia e recuperar de volta o texto simples. Então, o que eu farei é supor que saiamos como determinar o valor de t e deixo como uma atribuição para você passar pelas referências e ver esses métodos e descobrir como exatamente o valor de t desconhecido pode ser computado. O Que Iam discutir é o seguinte é que uma vez que o valor de t é conhecido, como descobrir os caracteres desconhecidos da direitos-chave. E a ideia aqui será executar t instâncias independentes de análise de frequência. O que eu quero dizer com isso é imaginar que o adversário ficou com o texto cifrado porque estamos assumindo que estamos no modelo de ataque cifrado somente de texto, e seu objetivo é descobrir o texto simples desconhecido. O adversário sabe o seguinte que, se considerarmos o primeiro caractere de texto cifrado, e depois o (t + 1) o caractere de texto cifrado e depois (2 t + 1) caractere de texto cifrado e assim por diante. Em seguida, isso constitui um fluxo de caracteres de texto cifrado. E este fluxo de caracteres de texto cifrado está relacionado com o fluxo desconhecido de caracteres de texto simples, consistindo do primeiro caractere de texto simples, (t + 1) ésimo caractere de texto simples, (2 t + 1) ésimo caractere de texto simples e assim por diante a relação é que o fluxo de caracteres de texto cifrado é, na verdade, uma versão deslocada do fluxo correspondente dos caracteres de texto simples, em que a quantidade de shift é k1, que exatamente o adversário deseja computar. (Consulte o Tempo do slide: 22 :33) Da mesma forma o adversário pode pensar no segundo fluxo de cifras que consiste no texto cifrado da segunda cifração e (2 + t) cifrar texto cifrado caráter e assim por diante. E sabe que todo o segundo fluxo de caracteres de texto cifrado está relacionado a outro fluxo de caracteres de texto simples, a saber, o fluxo de caracteres de texto simples que consiste em m2 e m (2 + t) e assim por diante certo. Pelo relacionamento que todos eles são versão deslocada, em que a quantidade de shift é algum valor desconhecido de k2 e assim por diante. Isso significa do ponto de vista do atacante o que o atacante pode fazer é apenas se separar e formar t fluxos independentes de caráter de texto cifrado, e tem que agora apenas realizar uma análise de frequência em cada um desses fluxos independentes. E se assumirmos que o texto à plaina é suficientemente longo, o texto cifrado correspondente também é suficientemente longo, então realizando a análise de frequência sobre este t streams dependentes, o adversário poderia facilmente recuperar de volta os caracteres desconhecidos da chave.E daí poderia recuperar a chave completamente. Portanto, esse é um método interessante para fazer a análise de criptas da cifra da Vigenere cipher direito. (Consulte o Tempo do slide: 23 :45) Então quais são as lições que aprendemos com as cifras históricas. As lições que aprendemos são as seguintes. Todos eles podem ser facilmente quebrados em texto cifrado apenas modelo de ataque. Então imagine o quão mal eles poderiam ser quebrados se considerarmos esse texto cifrado ou esse processo de criptografia a ser operado em um modelo de ataque mais mais forte dizem que o modelo de ataque KPA e o modelo de ataque da CPA lá o adversário será privilegiado com algumas informações adicionais. Então, por exemplo, se você considerar este modelo de ataque CPA, então o adversário não só terá acesso ao oráculo de criptografia e, portanto, poderá quebrar mais confortavelmente o processo de criptografia subjacente. Outra lição que aprendemos com as cifras históricas é o princípio de espaço chave suficiente, que diz que a condição mínima necessária que qualquer cifra segura deve ter é garantir que seu espaço chave seja suficientemente grande para tornar inviável o ataque da força bruta. E, no geral, a lição mais importante que aprendemos com as cifras históricas é que projetar cifração segura é realmente uma tarefa difícil e desafiadora. Cifras foram propostas ao longo de um período de tempo e as pessoas achavam que estão seguras, mas eventualmente todas elas estavam mal quebradas. (Consulte o Tempo do slide: 24 :59) Que nos leva à diferença entre a criptografia clássica e moderna. Se você considera a criptografia clássica, não era uma ciência era principalmente uma arte porque não havia fundamentos científicos, nem definições adequadas, nenhuma prova de segurança matemática, e como resultado o resultado final foi muito desastroso. Considerando que a criptografia moderna é uma ciência e fundamenta-se em fundamentos e princípios científicos fortes. Namely os 3 princípios da criptografia moderna são: princípio 1 é definição de segurança formal definimos corretamente e matematicamente definimos o que exatamente nós queremos dizer com segurança. Princípio 2states que uma vez que temos a definição e procedemos para construir um primitivo que satisfaça uma determinada definição, então devemos afirmar precisamente qualquer suposição ou a partir de uma suposição não comprovada, que estamos usando em nossa construção. Olhando à frente veremos neste curso que todas as primitivas criptomoedas que vamos projetar a sua segurança serão baseadas em alguns pressupostos de dureza não comprovados. Portanto, princípio 2 afirma claramente que devemos precisamente afirmar em nossa construção, o que exatamente é a suposição subjacente usada em nossa construção e princípio 3 afirma que uma vez que temos a construção temos que provar formalmente que de fato a construção que demos satisfaz a definição que demos no estágio 1. Então, isso me leva até o final desta palestra. Para finalizar, discutimos algumas das cifras históricas e o quão mal elas foram quebradas. E também discutimos algumas lições importantes que aprendemos com as cifras históricas, e discutimos os princípios da criptografia moderna. Espero que tenha gostado desta palestra. Thankyou.