bom então a ideia agora é a gente trabalhar com uma outra característica ela parte de segurança se você como tinha falado né a gente está trabalhando com a questão de privacidade onde a gente já viu então a questão de criptografia Claro e que já viu lá S 3 meses mas a gente tem outras questões que a gente tem que trabalhar também que a questão de autenticação né o pente cidade e integridade e não-repúdio hoje eu começo a descrever alguns aspectos para essa questão mais de integridade ou seja como é que eu consigo fazer para que
eu identifique-se uma determinada mensagem ela foi alterada no meio do caminho e antes de eu falar então sobre a autenticação de mensagem ou integridade mensagem é importante a gente entender a questão de funções resumos o resto function parte que elas servem como elas são construídas o mel e por que que elas vão ser importantes depois eu vou dar alguns exemplos para vocês a gente vai ver também alguns exemplos de como Essas funções elas funcionam então então a ideia aqui de uma função resumo é fazer o que é comprimir uma determinada mensagem que eu tenho um
tamanho arbitrário lá tamanho qualquer e gerar o que um tamanho uma mensagem de tamanho fixo isso não é novo isso é bem antigo mas isso se você deve ter visto disciplinas de redes por exemplo opção né Isso é usado desde a década de 50 se vocês lembrarem também bit de paridade né isso ajudava muito para a gente detectar erro ou mesmo fazer comparação de conteúdo se o hexa Não mesmo sei que os conteúdos são deve ser o mesmo então com seus resumos são para isso vocês também podem ter o visto ao uso de funções resumos
para armazenamento de informações né tu pega o determinado conteúdo que queres armazenar tanto cálculo uma função em cima disso e coloca ele numa determinada posição de estado de uma tabela E aí quando tu queres acessar aquele conta aquele conteúdo de novo Neto Faz um cálculo de novo e tu vai direto para aquela posição da tabela onde aquele conteúdo do sapo por exemplo através de manchar Essas funções resumo criptográficas Elas têm uma característica que ela vão ser que ela vai ser muito importante que essa questão de efeito avalanche depois eu vou passar um exemplo tem aqui
a gente vai usar algumas funções resumos e eu mostro para vocês como isso funciona mas Essas funções resumo criptográficas elas foram implantados basicamente pra gente usar em assinatura digital que a gente vai usar quando a gente for falar de autenticidade né E também para prover garantia da integridade dos dados ela a crença é uma carta garantia esse efeito avalanche e o que ele tá querendo dizer aqui ó é que dado uma determinada a entrada pode ter um tamanho arbitrário né Essa função resumo essa função ré quando ela gerar o resultado dessa reta essa mensagem de
tamanho fixo o que que vai acontecer se eu mexer em um bico aqui um vídeo se vocês olharem deixa ver se eu consigo fazer uma votação aqui às vezes se perde é mas vamos lá olha só essa palavra essa frase que tem aqui ó só eu só Mudo uma letra entre essas duas frases e se vocês olharem lá no código ASCII desses dois caracteres é uma posição é um bit provavelmente que se altera e Olhem só o resultado da função resumo que eu perdi Ou seja eu mexi em um zumbi e ao mexer em um
bit o resultado ele é completamente diferente do resultado anterior nisso é causado por essa esse efeito que a gente chama de efeito avalanche então Essas funções resumo criptográficas se eu mexer em um ambiente aqui e elas vão me gerar uma um resultado uma saída completamente diferente do resultado da saída anterior de forma que eu não consiga fazer a identificação e eu não consiga descobrir que existe entre esses dois essas duas funções resumo conseguir identificar por exemplo as frases e o quê que foi alterado em uma outra fase tanto ela se vocês mexer em um pouco
mais aqui embaixo O resultado é completamente diferente de novo se eu mexer mais um pouquinho O resultado é completamente diferente essa primeira entrada aqui ó a ideia aqui é mostrar seguinte ó esses dois textos têm tamanhos diferentes É mas o tamanho que eu tenho aqui como resultado ele é um tamanho fixo esse tamanho aqui vai depender de qual é a função resumo e a gente vai estar utilizar Então essa característica de nos ajudar a assinatura digital de integridade de dados de efeito avalanche ele é muito importante eu não tivesse feito avalanche ou seja se eu
mudasse um mês aqui e aqui eu não mudasse tanto talvez eu conseguisse inferir o que que é o quê que havia mudado né eu poderia testar algumas frases e descobrir qual é a frase que tinha o qual é o texto que tinha me gerado o Este resultado da função resumo uma outra característica que eu não falei aqui talvez orelha falando aqui mais à frente é que essas funções resumo criptográficas elas a gente chama de funções o ano wayna em uma direção só ou cê eu consigo daqui para calcular mas daqui para cá eu não consigo
e isso vai ser muito fácil de verificar por quê Porque Em geral os o universo e uma pejo de mensagens é um universo gigantesco e Universo de saídas é um universo muito pequeno então ela passa a ser também como se fosse uma função e acaba fazendo o que ela acaba comprimindo os dados ó só que eu comprei no tanto que eu não consigo fazer esse processo de volta ou seja dado um elemento aqui dentro eu não consigo achar eu não deveria conseguir Então esse processo aqui ele não vai ser possível não deve ser possível em
uma função resumo ele tô gráfica que tem segurança Se eu conseguir fazer isso aqui eu não tenho segurança algum então deixou só limpar quilos desenhos bom então essas características elas são importantes é uma função que só tem vai numa direção o efeito avalanche o tamanho de saída fixo o tamanho da entrada é variável e pode ser muito maior do que o tamanho das aí ó ó bom então vamos pensar assim como uma fração né de um oráculo se vocês lembram isso aqui oráculo tem esse uma infecção Então esse oráculo ele é uma caixa-preta pensei assim
graça função resumo ela é uma caixa-preta toda vez que eu faço uma pergunta o que que acontece essa pergunta na realidade é um conjunto de dados que eu entrego para esse oráculo E aí esse oráculo ele faz o seguinte ele ver que conjunto de dados é esse se esse conjunto de dados já me foi dado anteriormente eu devolvo algo para quem me mandou essa pergunta se ele ainda não foi dado o seu se esse conjunto e essa pergunta Ainda não foi da me dado o que que eu faço eu pego essa pergunta armazenam ela num
caderno aqui em algum local e dou um determinado valor que corresponde a esta posição nesse caderno isso aqui é a minha então é isso que eu faço aqui eu mando de volta seguir a mesma pergunta eu venho nesse caderno e ele ficou isso já vem aí um texto né então eu devolvo sempre o mesmo falou essa é a ideia dessa menstruação Então isso é um como se fosse um oráculo lá então aqui em baixo lá você a pergunta é nova o Oráculo de já ouvi um string de tamanho fixo e marca aquilo no registro no
seu livro para não devolver para outra Spring o mesmo valor se não ele procura no livro uma posição e desenvolve o que e devolve a mesma resposta só então é assim que a fazer é como se fosse um oráculo que vai me responder se eu já recebi isso aqui eu devolvo a mesma posição eu tinha devolvido anos Sim há algo diferente eu coloco numa posição diferente e devolvo para quem tá me pergunta ó Isso vai fazer com que em princípio eu sempre armazena e pergunta soldados né em posições diferentes porque se a posição já tá
ocupada eu devo deveria devolver uma nova posição em uma posição anterior é isso que eu quero função resumo de criptografia deveria funcionar assim é só que esse tipo de função a resumo um oráculo nesse sentido ele ele ele é impossível não é como que eu vou garantir cada saída represente somente uma entrada né Eu não tenho como fazer isso porque que eu não tenho porque se vocês pensarem no meu sonho é um conjunto de entrada lembra naquele conjunto de entrada ele é muito maior que o meu conjunto de saída eventualmente bom existir determinados determinados dados
pode haver alguma posição lá então assim o tamanho do estado o tamanho do espaço de mensagens é muito maior que o tamanho do espaço de respostas Então pode acontecer e eu só tirar aquele meu espaço de respostas né aquele é meu livro então a ideia aqui como isso aí possível Teoricamente é impossível e a gente tenta ir para uma solução prática e a solução prática e garantir que seja computacionalmente difícil encontrar duas mensagens que gerem a mesma sair é assim que funciona essa que funciona Essas funções estas que logicamente né pode existir colisões mas computacionalmente
eu vou plantar a transformar isso em algo difícil E aí vocês tem que lembrar sempre nas nossas aulas né de é de números grandes e a se lembrarem naquela parte onde a gente fica fazendo aquela Contagem até um videozinho que vocês podem ver lá onde eu mostrei que levou a hora para eu chegar no 11º 12º disco eu vou tirar números lá com cento e poucos dígitos é propriamente impossível eu consegui encontrar a é computacionalmente difícil melhor né eu encontrar uma determinada coisa então o que que eu quero aqui é trabalhar com essa questão de
requisitos de segurança para funções resumo e quais vão ser os requisitos de segurança o que eu quero chegar é com que a minha função seja resistente a colisão e o que é ser resistente a colisão não dá uma olhada aqui o quê que é existência de praia em março é a ideia básica aqui é que se eu entregar para vocês o resultado da função ré ou sejam peguei um determinado texto calculei o resto dele eu não deveria ser possível encontrar o erro então essa questão de resistência para embaixo seja ela tem que ser uma função
só num sentido a segunda resistência de para a imagem é se eu der o resultado de uma função hash uma mensagem em nenhum eu não vou conseguir achar uma mensagem em dois não lembro e lá daquelas daquelas para vizinhos eu mexi em um bit mas o hash era completamente diferente então a ideia que é se eu te der um ré eu não quero achar uma outra mensagem diferente dm1 e acabo me dando o mesmo resultado terrestre e no final das contas o que eu quero efetivamente é essa questão de resistente a colisão então pulseira eu
quero que eu tenho as a imagem eu tenho a resistência e para imagem onde a eu não posso achar uma uma segunda mensagem e seja o resultado seja igual ao resto da uma outra mensagem e o que eu no final das contas que eram é que alguém pega em duas mensagens quaisquer só diferentes M1 m2 diferentes e que ele calcule o resto dessas duas mensagens e ache o mesmo valor de resultar Ou seja eu acho uma colisão é isso que Essas funções resumo Elas têm que me garante existem diferentes funções resumos famílias de funções resumos
lá o md5 esse carinha aqui já não tem segurança alguma Ela já foi quebrado em 2005 15 Anos Atrás a então se você é uma função o resumo e o resultado São 128b Ó depois a gente tem um conjunto de é como se a gente chama de sala assistir hash algoritmo o primeiro de o primeiro deles é de 1995 então depois eu vou explicar como é que ele é composto esse chá um e eu vou explicar vou mostrar como é que é esse é o algoritmo dele e ele me gera então uma mensagem de 160
B em princípio se vocês lembrarem isso aqui teria uma segurança de 80 bits né mas já foi demonstrado também lá em 2005 que ele é inseguro porque a segurança dele é de 169 E aí eu tenho os outros aqui então o chá dois na hora que eu tenho 256bits e o chá 512 de 512 bits e tem outras funções resumo também que pode ir até ser maiores do que essa o intermediário mas Essas funções aqui achar 256 e achar 512 elas ainda são seguro se vocês acharem alguma coisa com Shalom ou com ele de cinco
esqueça porque isso eu já acho colisão e a ideia de eu achar colisão é para eu evitar problemas como esse que estão aqui ó e Imagine que você tem um programa que a Genuíno e eu calculo o resto isso aqui para depois gerar uma assinatura digital que a gente vai ver ali na frente como funciona se eu conseguisse achar e alterar esse programa lá e colocar um código malicioso e consegui achar uma colisão de resultado esse cara quando fosse verificar se esse programa seria legítimo ele vai calcular o resto vai calcular assinatura e vai ver
esse programa é legítimo ó então colisão nessas funções hash elas acabam por quebrar também tudo meu esquema lá de assinatura digital então funções resumo elas não podem ter colisões ela tem que ser resistente a colisão se ela não for eu tenho um problema de segurança muito grande bom então é isso aqui o programa dele então exemplo vocês vão encontrar diversos lá esse aqui era um exemplo que os caras A exploraram então a colisão do md5 isso aqui foi estaduais 2012 ó então isso já foi usado no mundo real né era um malware para espionar então
Os caras verificavam eles olhavam para ver se aquilo era um programa legítimo da Microsoft e efetivamente ele tinha sido alterado e o md5 certificado ele de cinco ele dizia opa não isso aqui é um programa legítimo mas na realidade era um programa que tinha sido alterado e eles tinham conseguido achar uma colisão né no na função hash entre o programa original e o programa alterar então isso existem existem diversos exemplos no mundo real esse é um deles para vocês verificar e olha só uma função resumo em geral ela envolve três componentes do projeto né que
a gente chama de modo de operação uma estrutura de comparação e as operações de confusão de Fundão Então essas operações aqui tem uma uma das construções possíveis que eles chamam de Merkel da melhor não é simétrico a gente vai ter um cara que você também vão de falar bastante lá para a segurança mas olha só o que eu tenho aqui ó é uma esse esse carinha aqui vai aqui em cima é a minha mensagem lá uma mensagem meu texto e eu estou fazendo o quê o que eu quero gerar o resto para aquele texto Então
imagina em que se pensa eu quebro aqui em diversos pedaços cada pedacinho desse só eu vou fazer o que eu vou fazendo calculando então uma função ré depois quando eu falar do chá do chá um ali na frente lembre disso eu pego um bloco esse bloco Eu submeto aqui e aí o cálculo então aplica função o resto esse bloco o resultado dele vem para o próximo bloco E aí eu pego esse bloco aqui cálculo de novo uma função em cima desse bloco e com o resultado da anterior e assim eu vou fazendo até o chegar
no final né E se vocês olharem ó aqui em cima poderia ter uma mensagem de um jeito mais eu vou quebrando em pedacinhos vou calculando essa função e chego lá no final com 128 bits 160 B 15620 entre 12 e assim porque então eu posso ter comprimido né um conjunto de um bilhão de Mito de bike em 128 bits 160 e assim poder lembro E também daquela minha questão de efeito avalanche né Se vocês mexer em um bebezinho em qualquer posição dessa mensagem o que que vai acontecer o resultado aqui vai ser completamente do resultado
daquela mensagem sem ter mexido onde você já não vou conseguir achar uma relação entre isso Essas funções essa esses construtores nos das funções resumo eles também tenham uma questão de preenchimento aqui né o pedem um preenchimento no final e esse pedem vai depender do do meu algoritmo Quando eu falar ali do e do Paul vocês vão vocês vão ver com isso aqui funciona mas o teu guardo aqui no final é o tamanho da minha mensagem né Eu preencho esse último bloco um bits 1000 até um determinado tamanho e no final eu faço o que eu
coloco 64 bits aqui então para preencher este bloco dizendo qual é o tamanho da minha mensagem original o que ele diz aqui ó esse a função a de compressão é resistente a colisão o ter sucesso aqui é que é resistente a colisão então também toda minha função resumo né esse é o meu consultor todo aqui também vai ser resistente a colisão doença é a forma como eu vou construindo a minha função resumo depois eu vou explicar um dos algoritmos para vocês a plataforma de eu usar Eu poderia usar esse tipo de Construtor ou usar funções
e compressão mesmo né funções que vão comprimindo e aqui tem um exemplo que pode ser é usado então não md5 Eo sha-1 sha-2 que é o que eu pego esse resto aqui tá minha mensagem esse carinho aqui ele é como se fosse por exemplo a minha mensagem e esse carinha aqui é a a minha chave lá então pensa nisso aqui vocês tem um beijo ou um três vezes aqui vocês estão vindo com o resto anterior podia ser o Inicial lá une ver e aqui vocês tem o que vocês têm o pedaço da mensagem que é
usado como o que como chave e é isso me dá um resultado aí eu faço um short um pedaço anterior e esse pedaço vai para o próximo bloco então eu vou aí efetivamente comprimindo né é uma mensagem de 1 Milhão eu vou ficando sempre por 128 bits 128 bits 128 bits e assim por diante Então aqui tem como funcionaria da eu vou fazendo a minha função hash no final das contas é a mesma coisa que eu fazer a cifragem desse resto aqui dessa valor inicial com uma determinada mensagem e pedaço a mensagem sendo usado como
a chave e assim eu vou fazendo sucessivamente sucessivamente até que no final eu tenho só um pedacim não é E eu comprimi então é aquela minha mensagem original então aqui você tem dois duas formas de fazer onde é que eu aplico onde é que eu utilizo funções resumo eu já tinha falado assinatura digital e aí quando eu falar em criptografia assimétrica a gente vai ver com deck e a gente usa essa função resumo integridade de dados não eu quero fazer um tipo de acção para baixar no só quero ser eu deixa eu ver se não
veio nenhum erro não tem nenhum pedaço foi corrompido gerar números aleatórios eu posso gerar números que estão aleatórios eu entrego um texto limpar-me gerar um número completamente diferente lá na frente questão de privacidade de dados para proteger senhas de um texto Claro lá então aqui eu vou falar pra você sobre uma prática de que eu nunca armazená-los senhas em texto Claro em geral que o armazeno é o resto do meu texto lá se vocês lembrarem do exemplo que a gente fez lá no RS se lembrem que eu disse ó a gente não viu ainda essa
questão de funções resumo mas olha eu passei a senha aqui Avelino era a senha mas eu não usava Avelino né eu usava alguns bits do hash da mensagem Avelino então aqui ó como é que eu faço essa questão de armazenamento de senhas E aí já o Quando tu vai fazer um joguinho eu tenho que tu tem lá o teu teu usuário e tua sair se a o sistema de senhas tá trabalhando com senhas Claras eu vou ter o que eu voltei lá o meu banco de dados de senhas onde vou ter quem é o Bob
Bob a senha é essa ali ali seu a senha é essa o Charles a senha é essa isso daqui é um problema de segurança chegando texto porque se alguém pegar esse arquivo de senhas ele conhece todas as senhas de todos os laços sem contar que o próprio dono desse sistema ele pode conhecer a senha que o Bob usa Talvez os mobile usa essa senha em diversos lugares Então esse carinha aqui ele pode estar fazendo o que ele pode estar conhecendo a estratégia de como o Bob constrói a sair então armazenar senhas em texto Claro não
é uma boa para a prática que a gente deveria trabalhar e é dado um login e dado uma senha eu não armazenar a senha eu não guardo a senha tá a senha que tá aqui ó o que que eu faço eu aplico uma função ré em cima dessa senha inicialmente né e armazena o que armazeno Hair atendeu só que o que acontece sendo armazenado só o resultado do resto aqui dentro vocês pra começo de conversa vocês verem o que o dono do sistema não teria como saber a senha né porque dado o resto ele não
consegue calcular o que esse carinho aqui tá aqui lembre na questão de colisão questão de só em um sentido e assim por diante um toque se eu armazenar si só o resto aqui se fosse só o resto esse resto também não me traria segurança porque eu tenho um tipo de ataque que eu chamo de ataque de dicionário Onde existem arquivos de senhas me diga o texto que vocês acham na internet e onde vocês têm sem as mais utilizadas e o cálculo joga função hash que tá aqui então tem um plano na tabela gigantesca lá e
deu essa senha tem este resto é a próxima senha eu tenho esse resto se eu tivesse guardado só resta aqui eu poderia pegar e tentar procurar nesse Zap luz né ver se tinha a esse resto aqui e verificar a esse resto foi calculado por esta senha então eu conseguiria fazer o que a gente chama de ataque de aniversário de celular ó para tentar reduzir esse problema de ataque o que que eu tenho que fazer um das melhores práticas é calcular o ré é um a senha e mais o que a gente chama de sal sal
estes alto aqui é um número o número por exemplo de 128 bits 128 bits e E então calcula o número aleatório aqui de 128 bits e usa esse número Guarda esse número também porque quando o Bob for se logar eu não vou verificar senha dele esta senha que tá aqui eu vou pegar esta senha lá eu vou trazer ela para cá e eu vou pegar elas junto com quem junto com o site E aí eu vou calcular o resto se o resto bater com os eu tenho armazenado significa que o Bob entrou com a senha
correta aqui e o Bob entrar com uma Cerrado aqui eu jamais vou chegar nesse nesse nesse hash com o Salt armazenar ó Isso Evita o problema de ataque de dicionário Isso dificulta o programa do ar condicionado porque o que como é que eu poderia fazer agora o ataque de dicionário eu posso fazer o ataque de dicionário obrigando cada uma das senhas que eu tenho nesse arquivo e tentando calcular com os diferentes saltos que eu tenho esse aqui mas aí eu já tô quase ficando bem mais complicado né porque pra começo de conversa o que que
acontece eu já não tenho mais o resto aqui esse resto aqui já não me adianta para nada né eu tenho que pegar senhas estão aqui e tentar Campo em cada um desses carinhos que estão aqui e aí o campeão milhão um bilhão de senhas possíveis aqui eu vou ter um milhão de senha talvez aqui e isso começa a se transformar então e bem mais difícil para o meu laca então usar a senha armazenar senha o resto da senha e não a senha em texto Claro é uma melhor prática mas só o resto não adianta tem
que usar também o que um sal ó não tem que ser com salto e o resto segue muitas vezes quando vocês perdem a senha e vocês pedem para recuperar a senha e o sistema desenvolver a senha para vocês significa que ele está armazenada sem a senha ou seja ele sabe a senha que você se ele pede para vocês redefinirem a senha provavelmente não é uma garantia Mas provavelmente ele está armazenando a senha de vocês nesse formato ó se ele devolver a senha para você significa que sistema não tem segurança alguma tá porque os usuários os
administradores de sistema conhecem a senha de vocês se ele pedir para vocês Renê finir em a senha Talvez ele esteja usando neste formal se ele tá usando esse formato tem um certo grau de segurança ó E aí bom então isso é uma melhor prática tá o problema no mundo real assim de vazamento de senhas vocês já devem ter visto diversos aqui tem alguns exemplos vocês procurarem hoje em dia tem mais um monte de exemplo e não são empresas pequenas tá não são empresas que você já sabe que a Sony já teve né vazamento de senhas
fui à rua no trazer LinkedIn e assim por diante e ali ó muito desses caras usavam o armazenamento de senhas em texto Claro implantar outros guardavam senha só com o resto é sem o saldo ou seja então eu consiguiria conseguiu ver o diretamente ou eu conseguiria verificar qual era a senha da pessoa que estava utilizando então isso ainda é um problema a questão de senhas e ela ainda é um problema no dia a dia hoje hoje em dia né então a gente tem diferentes mecanismos autenticação em duas etapas é importante para tentar evitar um pouquinho
este problema e o importante aqui é usar uma função resumo com Salt estranhas é uma boa prática para Isso vai tornar então a vida do atacante mais difícil para recuperar as feias mas isso não é impossível Eu já falei dia Patrícia dicionário dado esse cara e salto uma atacante pode tentar a todas as vezes o ataque é possível para tem essa em baixa entropia em geral a gente coloca a palavra usando a gente não usa aquela senhas fortes porque até é difícil da gente lembrar então esses ataques de dicionário Eles são muito é possível eu
vou dar uma parada na máquina nessa parte para tentar mostrar para vocês deixa eu falar de compartilhar então tentar mostrar para vocês como Essas funções resumo funciona lá e vocês devem pelas máquinas de vocês aí eu acho que é esse o terminal E aí com o resultado a pergunta pode falar jwt é feito assim né jwt é ele tem que tem a tua senha daí ele usa um resto a gente puxar alguma coisa assim o que é que pode usar uma outra chave para fazer o site né tu ou na realidade a outra farra é
para gerar um valor de saúde para depois do armazenar sim bem provável que seja usando essa mesma estratégia só que daí os algoritmos para armazenar as senhas eles podem ser um pouquinho diferente tá deixa eu voltar para cá tô sozinho até que vocês estão vendo de tela aí não Zé a tela com ela deixa eu voltar para cá e eu tô querendo ir O que é essa e vocês tão vendo aí na realidade é um canteiro aqui então aqui ó é um programinha daquele cálculo tá Olhem só eco eco é para escrever alguma coisa uma
tela Avelino e eu vou calcular o chá desse caminho tá são esse aqui é o salão então aqui você tem o resultado né esse chá um E se eu viesse aqui ó msgs numa letra né em vez de Avelino beverino e alterasse o que vocês vão conseguir ver aqui ó se vocês olharem é completamente diferente do resto ali de cima e eu mexi só um bebezinho e os eu posso fazer o saque passar 25 meia e aí aqui você tem mais vídeos a saída então aqui vocês também estão alterando se eu fosse lá no Avelino
menos a 256 É que eu tô usando sha-256 Olhem só comparem este valor que está aqui com este valor que está aqui vocês vão ver que eles não tem nada de igual lá eles são bem diferentes e eu olhando aqui eu mexer até um bebezinho somente se eu quisesse fazer com mais bits então com 512 Oi vocês tem o que aqui vocês tem 512 bits aqui tá em hexadecimal tá então que mostra bem clara como é que vocês fazem essa questão de resto tem um outro resto por exemplo é usado no Bitcoin ó ó e
onde é que está se vocês podem trabalhar acredita que até esse cara aqui só não tinha e deixa eu ver para cá só o chá você deve tá vendo aqui ó Isso aqui é como uma demonstração de Bitcoin está de como é que funciona os blocos os blocos de Bitcoin eles têm um conjunto de dados que o armazeno e aqui embaixo tem então o meu o resto deste bloco lá e aqui tá o cálculo do resto deste bloco tá bom só que esse blog é se dá esse bloco aqui não tem nada aqui na frente
então se eu escrever aqui Avelino é que ele tá fazendo agora ele tá calculando esse ré com essa palavra e com este número que está aqui ó então aquele calculou só que se vocês lembrarem se você já ouviram falar em Bitcoin ele tem um processo que ele chama de mineração na esse processo de mineração ele tenta encontrar um hash e tem um conjunto de zeros aqui na frente o Bitcoin hoje são eu não sei quantos dias que tu tem que ter aqui na frente que são 110 80 150 e poucos bits 0 mas é como
é que eu vou achar o resto e vai me trazer com um determinado número de bits zeros aqui na frente ele faz esse resto desses dados que estão aqui eu com o que ele chama de Naus esse não é um valor cada vez se eu mudar esse não sei se ó opa E se eu me mexesse Aqui ó colocasse um ele me calculou o resto diferente se eu colocar dois ele me calcula um outro valor Se eu colocar três aqui ó ele vai calculando o valor vocês tão vendo que ele tá mudando esse valor aqui
embaixo achando que um pouquinho o tamanho dessa tela mais claro a bom então o que que ele tá fazendo aqui ó ele tá mudando cada vez que eu mudo o valor o meu os dados ali aquele não muda quatro né então ele muda aqui embaixo se eu colocar o valor cinco ele muda aqui embaixo se eu colocar o valor de seis ele muda aqui embaixo se eu colocar o valor 7 ele muda aqui em baixo lá no Bitcoin ele usa hash para fazer o encadeamento se vocês lembrarem isso tudo aqui ela verdinho lá e ficou
rosa porque porque aqui ó ele tem o resto do bloco anterior só que quando ele fez isso ele não achou o número de zeros aqui na frente para fazer isso ele tem um processo que ele chama de mineração processo de mineração em testando valores aqui ó oito há nove dez até achar um valor e chega aqui embaixo tem até 40 sempre pressionar o minerar aqui ele vai ficar testando valores até achar o que até achar um valor que tenha sinceros aqui na frente e vou pressionar agora me levar para vocês vão ver o que vai
acontecer ele está calculando o restos até chegar nesse valor aqui ó 9656 Ele conta Atenolol com esses dados que estão aqui nesse caso Avelino e aqui na frente ó aí ele achou o que o resto com 40 era para esse exemplo que tá aí na tela de vocês só que aqui ó o que que acontece agora esse aqui é o resto do bloco anterior só que aqui também tinha que ter quatro zeros e ele não tá achando que eu vou colocar Sei lá eu Daniel tá ele não é isso que eu tenho de dados e
como é que eu vou fazer esse bloquinho aqui para verde de novo eu vou vir aqui vou testar não chegou em 40 vou testar o do e eu só três não chegou Vocês são quatro não chegou Vocês são cinco não chegou testar vocês não chegou e assim sucessivamente esse processo de minerar Ele vai tentar achar um valor que concatenado com esse bloco e concatenado com esse resto do bloco anterior eu tenho que eu tenho o número de zeros aqui na frente E aí bom então esse outro bloco que tá aqui da mesma forma eu teria
que minerar até que ele acha o valor que ele concatene com os dados que tem aqui e me deu um resto aqui que tenha um determinado número de zeros aqui o que eu tô falando isso porque o próximo desafio sobre resto eu vou dar para você vai ser isso tá só que eu vou usar o algoritmo pouquinho diferente aqui para não ficar tão na cara mas basicamente eu vou pedir para vocês como calcular o que calcular e o resto lá uns um determinado quantidade de zeros aqui na frente do nome de vocês e eu quero
saber qual é o número que vocês acharam ó eu Isso vai ser depois quando eu definir o meu o próximo desafio que vocês vão ter eu vou dar uma parada aqui na gravação eu acho que alguém tinha comentado foi o Daniel né que o jwl usa Edmar Edmar que a gente vai ser na próxima aula e aí sim a gente vai o MEC vende message authentication code aqui a gente não tá vendo ainda essa questão aí a gente pode usar senhas para ali na fé não na próxima eu vou dar uma parada na gravação nessa
parte e depois eu vou explicar um pouquinho como funciona então o chá um para vocês o