o Olá vamos dar início a nossa terceira aula no sistema criptos nessa aula nós vamos falar dos algoritmos criptográficos simétricos basicamente Vamos estudar desde aldeias a ex a dia blowfish é o primeiro time bastante prático de criptografia é chamado de criptografia simétrica Então nesse tipo de algorítimo ele utiliza uma única chave para converter as informações para parecer com bits aleatórios então a mesma chave converte as informações de informações de texto plano para informações não entendíveis e vice-versa é o mesmo algoritmo então utiliza a mesma chave para recuperar os dados originais e o que é uma
chave o fato de que o número secreto que você escolhe funciona da mesma maneira que uma chave convencional de porta faz aparecer o termo chave para designar Então esse número Secreto A gente pode fazer uma analogia então a porta seria o nosso computador a fechadura o algoritmo de criptografia e achar a chave que a gente usa para abrir essa fechadura na porta é porque uma chave é necessário porque não criar um algoritmo que não necessite de uma achar é claro que se a gente queria o algoritmo a cada pessoa teria que memorizar esse algoritmo então
é muito mais fácil guardar uma chave porque é um algoritmo e a Chaves ali viu nos então da necessidade de se preocupar em guardar esse algoritmo se utilizar chave para proteger os segredos né a gente pode então utilizar diferente chaves para proteger diferentes Segredos Essa é a parte legal então eu posso ser o mesmo algoritmo e usar diferentes estados para proteger diferentes elementos diferentes informações o nosso caso se alguém quebrar uma das chaves o outro segredo ainda estará seguro porque ele usa uma nova chave de luz uma chave independente e se você quer aprender de
um algoritmo O Invasor que quebre esse algoritmo terá acesso a todos os dados que eram então sigilosos é o segredo então está na chave a ideia de que o clipe Tá na lista conhece o algoritmo e o Segredo deve residir exclusivamente achar é chamado princípio de quer e vem desde 1883 todos os algoritmos devem ser públicos apenas achar são secretas então Esse princípio é um princípio bastante interessante que nos leva a chave ser exclusiva para cada elemento e travar o mesmo algoritmo Oi e o sistema criptográfico simétrico a chave apenas um número qualquer contanto que
tem o tamanho correto assim sempre que a gente precisar de uma chave a gente deve selecionar o outro número aleatoriamente Então essa chave vai variar e o tamanho dessa chave é que vai ser importante para a gente agora o que significa esse tamanho da chave né então a chave criptográfica elas acabam sendo medidas em vídeos então eu acabo tendo chave com tamanhos diferentes ou seja bikes quantidade de bits diferentes 40 bits 56 bits e 64 bits 128 bits e assim sucessivamente uma chave com quatro 40 bits ela tem 2 elevado a 40 possível achar o
que dá aproximadamente de 0 a 1 trilhão de Chaves que são possíveis ser construídos a partir de 40 Bíblia então a gente faz a troca né a pergunta ação dos Bits aí com uma chave de 56 bits ela tem intervalo de Zé até 2 elevado a 56 Chaves o que dá um quatrilhão de chá o intervalo de Chaves 128bits é tão grande que é mais fácil dizer que tem uma chave de 128 bits né porque o número é muito grande e qual é a relação que a gente tem entre algoritmo de força bruta e achar
cada bit acrescentado ao tamanho da chave ele Dobra o tempo requerido para um ataque de força bruta Então porque cada bit adicional vai dobrar esse número de Chaves possível na média então o invasor vai tentar a metade de todas as possíveis Chaves encontrados então ele vai tentando Vai tentando por força bruta e ele pode ser que ele consiga os algoritmos de chave simétrica tradicionalmente as pessoas que criaram criptografia seja de substituição é de transposição utilizar um algoritmos bastante simples embora criptografia moderna utiliza as mesmas idéias básicas da fotografia tradicional Ou seja todos os algoritmos modernos
simétricos eles têm eles têm transposição ele tem substituição a Índia Se desses algoritmos é diferente atualmente objetivo é tornar o algoritmo de criptografia tão complexo que mesmo que o psicanalista de o significativo de textos onde dados aí cifrado sem a chave ele não é capaz de capturar qualquer sentido em tudo que se ele conseguiu obter ali que ele consegui ler então óbvio que esses algoritmos de substituição e de transposição são tratados aí que uma forma diferente e são utilizados para obtenção de algoritmos mais complexos é o primeiro algoritmo que a gente vai ver simétrico é
um desses deita encryption Standard ele foi criado pela IBM em 1977 e ele possui chave de 56 bits ou seja 72 4 milhões de combinações o valor alto mas não para um computador potente Então à época ele foi considerado um bom algoritmo mas os computadores que a gente tem atualmente ele não é fichinha né em 1970 97 ele foi quebrado por técnicas de força bruta então comentário é que ele é muito fraco do nosso uso atual como é que funciona o desço é o dia dele é composto por uma permutação Inicial então eu posso ver
faço uma permutação Inicial posteriormente eu vou ter 16 House 16 interações esse algoritmo que a gente considera que essas 16 interações elas fazem o esquema de fez teu né e uma pergunta ação final cada uma dessas 16 desses 16 round sou dessas 16 interações executa uma expansão um químico químico sim uma substituição e uma permutação e a pergunta são Inicial e a permutação final são permutações inversas de 64 bits e a gente vai ter a composição da chave também que vai fazer com que eu tenha rotações de partes dos blocos de um bloco que é
quebrado em 21 bom então o que que a gente tem eu tenho meu texto plano né que é quebrada aí em 16 vários blocos de 16 64 bits esse bloco de 64-bits sofre inicialmente uma permutação Inicial posteriormente essa perguntação Inicial esse bloco é quebrado em duas partes e é feita um só com várias subchaves né E então a cada uma das etapas executado o esquema de festa que diz o que onde eu tenho blocos de 32 bits ou seja metade do bloco é feito xizor com a chave então eu tenho aqui como eu tenho um
bloco de 32 bits eu tenho que fazer uma expansão desse bloco para que ele possa ter chegar 48 bits e eu então possa fazer o xizor com achar e os seus olhos com a chave é o mixing de chá né de 15 me seguir posteriormente a esse Mix simples a gente tem os Xbox né então só oito ssbox que são com os quais são feitas a substituição e finalmente a permutação final né que é feita também é com inversor 64 bits e com a expansão funciona cor Eu entro com 32 bits e eu tenho então
uma tabela que é gerada a partir do que eu coloco os meus bits de 1 até 32 só que para eu chegar nos 48 eu vou repetir sempre os dois últimos vídeos na próxima linha Então essa tabela de expansão então eu começo com 32 que aí seria meu último elemento aqui e aí eu vou 1 2 3 4 5 ou 4 5 é repetido aqui 4 5 6 7 8 9 8 9 10 2 3 2 3607-2 um 2425 2.829 3200 E aí a gente repete aqui 32 um certo e aí então eu consigo fazer
a expansão de 48 vezes então tenta expansão aqui eu consigo Então fazer um químico sim eu consigo fazer um ou entre esse bloco bom né Lembrando que os seus olhos tem 1000 0110 então e um e da Zero então o resultado da expansão é juntado aí mixado né com a chave posteriormente é feita a substituição ou Xbox com as sbox sbox eu tenho endereços de 6 bits que são convertidos em endereços de 4 bits a partir do que os primeiros 4 bicos em direção a coluna da Xbox e os dois últimos bits 0 e o
quinto Beach geram a o meu a minha linha tá E com isso então eu vou pegar o bit aqui os quatro bits que vão você transformados para mim então esse conjunto de Bis gera para mim esse conjunto de 4 bits então vocês vi já eram para mim quatro vezes tá como esses blocos chegam é e chegam vários blocos eu tenho várias Xbox eu tenho 8 Xbox então cada um dos seus seis vídeos que chegam são convertidos em novos 4biz então a Xbox cinco por exemplo eu vou pegar esse conjunto de 6 bits e converter nesse
outro conjunto de 6 litros a partir das Linhas né e das colunas então eu vou ter la1101 vai me dar essa coluna zero e um vai me dar e a linha né eu tenho os bichos ali e por fim é feita a permutação Então eu tenho o resultado da substituição é permutado por uma permutação feia aí de 48 bits novamente e como é feito o esquema da chave o esquema da chave para eu gerar subchaves são utilizadas duas tabelas denominadas pc1 e pc2 e eu tenho em cada round eu vou fazer um shift da minha
chave com base e depois feito a depois de ter feito a combinação com essa PC um e com a PC dois então a cada round eu vou fazer um shift aí para a esquerda né de um bit o segundo round de um bit no terceiro round de dois vídeos e assim sucessivamente Então essa tabela também é interna algoritmo e vai seguir essa sequência e vamos ver então como funciona o algoritmo de propriamente dito e o algoritmo disse é o caso do algoritmo de ser nós temos então uma entrada um bloco de 64-bits uma chave e
a saída e vamos pensar na entrada de 64-bits a primeira coisa que vou fazer pegar o texto que eu quero convertendo para binário E então quebrado em blocos de 64 bits então pensamos no texto hello world Então vou quebrar esse texto hello world in binário convertir o texto em binário e vou agora quebrá-lo e dois blocos de 60 em blocos de 64 bits e E aí é feita a conversão eu tenho aí os blocos de 64 bits eu vou separar primeiro bloco segundo bloco porque o algoritmo de se trabalha com blocos de 64 bits quando
eu não tem a quantidade eu completo O restante com conjunto esse conjunto que 64 bits Então vai entrar e vai passar por esses 16 válvulas a primeira coisa que a gente vai se preocupar é com a chave a minha chave também tem 64 vezes o que a gente tem que se preocupar e ver lógica essa chave não é segura uma chave gerada inicialmente é que a gente é que é a última coluna dessa chave na verdade ela é utilizada simplesmente para controle de bit de paridade então a minha chave acaba não tendo 64 bits +
56 tá bom tenho entrada Vou fazer depois da minha entrada eu tenho a primeira pergunta ação a perguntar são Inicial né como é que esse tente essa perguntação Inicial Então eu tenho o meu conjunto de entradas e dentro eu vou ter uma tabela dentro do próprio código e essa tabela vai indicar que o bico 58 vai ter que ir na primeira posição agora então eu vou fazer uma troca eu vou fazer simplesmente uma troca de lugares aí dos Bis e no segundo lugar eu vou ter o bit o 2050 é que vai vir para a
segunda posição o bit 42 é que vai vir para a terceira posição o Beach 34 para quarta posição e assim sucessivamente até eu colocar aí na minha tabela os 64 bits que eu tenho do meu bloco eu fiz então a primeira permutação troquei simplesmente os Beats de lugar a partir do uso desta tabela esse novo bloco perguntado é um bloco que vai entrar então para dentro do Para continuação do meu algoritmo para serem feitos aqueles 16 prótons usando o esquema de festa certo então esse bloco é o bloco que vai entrar e agora vão ser
feitas as operações para isso eu tenho que usar chá como é que eu Gero as minhas subir chá eu voltei aquelas tabelas pc1 e pc2 primeiro eu vou fazer a mesma coisa com a minha chave aquela tabela PC um ela vai justamente servir eu perguntar esses vídeos então eu vou perguntar os meus Beats todos né de acordo com aquela tabela e vou separar essa nova chave gerada em dois blocos de 30 os bits cada um e não mais agora não bloco de 64 Então essa chave né vai entrar eu tenho a chave do lado esquerdo
e a chave do lado direito então eu tenho aí dois esquemas de chave então eu tenho a queria direita e o que eu vou fazer eu vou pegar esse esses blocos e no primeiro áudio que que eu disse que eu faria eu chifre eu vou citar um elemento a esquerda né então aquele meu zero tá lá em cima eu vou trazer ele para o final do meu bloco né então eu tenho aqui um Shift para esquerda em 30 aqui vai ser estipitado não para esquerda ele vai vim parar lá no final da mesma forma 10
que eu tenho aqui ele vai parar lá no final do meu da minha coluna da direita então tanto da esquerda conta da direita e o único shift porque eu estou no primeiro round no segundo round eu também vou fazer um shift e no terceiro eu vou fazer dois chips com esse resultado de um e de dois agora eu junto novamente e fato uma nova transformação que que eu vou pegar e vou fazer vou aplicar de novo uma permutação Entre esses elementos então agora o bit de número quatorze vai estar na primeira posição de número 17
na segunda posição e assim sucessivamente até eu completar só que veja que os bicos 9 18 22 25 35 38 4354 não existem nessa tabela então eu vou criar uma chave com tamanho menor isso é feito justamente porque a última coluna na verdade quando eu considero da minha chave ela vem ela indica para mim os bits de paridade Então ela é desse Considerada no processo de junção aí como elemento de estado e agora sim é eu vou juntar essa chave com aquele bloco que eu entrei mas veja que o meu bloco ele foi como ele
foi dividido em dois eu tenho 32bis e a minha chave tem 48 certo então agora eu tenho que expandir esse meu bloco né para ter mais elemento como é que a gente faz isso eu vou usar aquela tabela de seleção e aquela tabela de seleção Como Eu mencionei anteriormente e nós vamos copiar novamente os dois últimos diz E aí eu faço simplesmente um X Thor entre a minha chave a minha subchave agora na verdade e essa e esse bloco que veio lá da minha entrada perguntada então eu tenho input mas o scizor da minha chave
eu vou gerar então um novo é de dados Então eu tenho lá 0.0 e aí nós vamos criando e tenho meu bloco gerado verde que eu tenho aí 18 linhas de 6 vídeos cada uma essas linhas agora é que vão gerar vão ser usadas para que eu possa fazer a substituição EA partir então dá desses seis Bis eu vou gerar novas saídas de 4 bits fazendo o quê usando os bits de 1 até 4 para selecionar minha linha do meu Xbox e os vídeos 0 e 5 para selecionar as linhas a perdão os bits de
1 a 4 para selecionar a coluna e os Beatles 05 para selecionar a linha da minha Xbox Então a partir de uma entrada dos seis vezes a gente consegue agora ter uma saída né de 4 bits aí então a minha e cada uma daquela ali coluna vai entrar em uma Xbox especificamente né então eu te e as minhas oito coloninhas ali e elas vão entrar nas minhas 8 Xbox Oi e aí eu consigo Então gerar os meus números os meus quatro elementos Oi e aí cadê esse Box Então vai dar uma saída diferente para mim
de quatro elementos então é posso fazer o processo dessa forma ou então posso pegar os vídeos de 1 a 4 né me indicam a linha perdão a coluna e os 2005 me identificam a linha na minha tabela do Xbox Ah e assim sucessivamente tenho meus 8 Xbox tem então minhas 8 saídas né Aí temos o Xbox 3 e posteriormente o Xbox 45 eu sei 7 ie8 pelo Então as minhas saídas eu vou uni-las novamente então Uni as minhas saídas e agora vou fazer a minha permutação final como fica a minha permutação final né vou pegar
aquele elemento passei na verdade esse elemento é o elemento final ele vai entrar vai ser feito agora dado entrada nele né para o meu próximo tchau né então vou unir esse elemento agora com a minha a chave meu aí o meu xizor com a minha chave e vou então passar para o segundo round com a minha segunda subchave né que vai ser gerada novamente da mesma forma que foi gerada a primeira com outro pedaço junto os dois e vou então para o próximo round aí pra onde dois e aí eu faço a mesma coisa depois
do áudio um eu vou determinar a minha chave de novo com o shift circular depois passo pelo PC dois aí o segundo a segunda metade da entrada porque foi dividida em duas né entradas de 32 a segunda entrada agora eu faço um uma seleção da tabela que ela tabela de expansão faça um scizor com a minha chave passa pelos 8 Xbox e faça perguntas são aí faço novamente o scizor das duas entradas os 32 que sobrou mais esse 32 que eu havia perguntado Ah e assim sucessivamente então eu volto até 64 né para depois então
separar novamente fazer todo o processo de determinar a chave subchave na verdade fazendo o quê um left circular shift ou dois dependendo da Hall que eu estou da linha que eu estou Então dependendo de qual a onde que eu estou eu vou te dar uma ou duas né os dois elementos aí feito esse chips faço esse processo por 16 vezes então tenho 16 e interações e até chegar ao último elemento a última rotação Na verdade o último round né que é o Ronald o número 16 então é um dia 11/12 junto novamente se vocês quiserem
vocês podem testar esse exemplo e vendo a saída dos maus que eu tenho aí cada um dos maus então É interessante fazer esse tipo de exercício para verificar se vocês estão fazendo o processo corretamente eu faço vão 15 e normal no 16 eu obtenho essa informação vou fazer agora o inverso o da permutação então vou fazer a permutação inversa Então vou pegar o reverso daquela matriz e agora vou pegar lá o bit de número 40 vai para a primeira posição de número 8 vai para a segunda posição e assim sucessivamente para chegar então não na
minha saída né no elemento de saída que a gente tem então convertendo essa tabela esse valor de saída para tabela as esse seria os dados criptografado que eu tenho aí fizemos isso então para a primeira parte do hello world né então os primeiros 64 bits da frase hello world E aí o todo esse processo é repetido para cada bloco de 64 bits que a gente tem aí no algoritmo dele Então dependendo do tamanho da minha frase eu vou quebrando Esse é o Buriti vou quebrando esses blocos aí 16 64 64 64 bits para poder realizar
nessa informação bom o último desse tem problema então atualmente ele é considerado o algoritmo extremamente seguro principalmente para atividades financeiras então força do dizendo que se eu tiver uma máquina de $100000 gastar em 36 minutos de temos busca 1 milhão 3,5 10 milhões 21 segundos para quebrar o algoritmo deles o curso Então de decodificação 1486 66 mega-hertz nos pegar um portador bem fraquinho ele faz a criptografia de 400 e 344k bytes por segundo o Chips vlsi específico para o texto pode então criptografar as 64 megabytes por segundo e as críticas ao desse padronização de um
algoritmo de criptografia o padrão para uso Federal nos Estados Unidos exceto para informações secretas militares largamente utilizado motivado principalmente pela padronização a padronização deixa o algoritmo especialmente vulnerável já que o torna o desenvolvimento de técnicas de criptoanálise atraente pois permite então utilização em diversos segmentos e viabiliza a construção de uma máquina específica para fazer a quebra desse tipo de algoritmo número de bits né do bloco e da chave são pequenos Então essa é uma das principais críticas algoritmo a redução ocorreu número de bits do bloco e da chave então como achava comprimento 56 bits porque
na verdade a gente comentou seria 64 meses eu tenho que tirar né aqueles bicos que são os bits que vão na verdade indicar a qualidade o garantir que aqueles elementos que estejam corretos Então eu tenho aí aproximadamente 7,2 x 1016 chave e utilizando força Tô fazendo uma criptografia cada microssegundo esse 1973 levaria 1142 anos atualmente é relativamente fácil de quebrar o beijo foi quebrado então é um algoritmo bastante fraco né a redução do número de bits então continuando a gente tem aí tem 77 para mostrar a possibilidade de construção de uma máquina específica ao custo
de 20 milhões de dólares ou seja um milhão de criptografia por microssegundo demoraria 10 horas para para ser quebrada nessa criptografia 93 Michael Winner foi mostrado que era possível construir uma máquina que utilizava um ataque playtest conhecido Que demoraria e 35 horas ou 3,5 horas ou 20 minutos ao custo muito baixo Para gente botar o custo né de 10 milhões aí alta na verdade mas a gente quebrar em minutos isso aí e hoje a gente tem isso muito mais facilitado os modos de operação do dias a gente tem o eletrônico e Cloud o Facebook chá
emoji o site feedback mod hotspot feedback molde que são os modos diferentes de criptografia do disco eletrônico que quando no book molde é o modo mais simples de operação ele criptografa tudo blocos de 64 bits cada bloco criptografado de forma independente utilizando uma mesma chá o termo code book é usado porque cada uma das chaves existe É da é o Zap porque dado uma chave existe o único texto cifrado para cada bloco de 64 bits de texto plano USB as características são aquele é ideal para mensagens pequenas mas e seguro para mensagens grandes porque acaba
deixando as duas e você consegue descobrir o problema entrar com o mesmo bloco de 64 bits é codificado sempre da mesma forma e com isso sendo codificado centro da mesma forma quando você olha o bloco e ele é igual ele vai ter a mesma cor de ficar são então é muito fácil dá o texto grande consegui descobrir esses trechos repetidos inferir Qual é o elemento ocvc o Cyber Block chain molldiere permite que o mesmo bloco de 64 produz produz a criptografia distintas então cada bloco a ser decifrado é alterado em função da cifragem anterior então
como na primeira interação não existe fotografia interior uma sequência de 64 bits no viatura Inicial Mc alisado por isso Vector Inicial deve ser conhecido por ambas as partes assim como a chave então característica que ele pode ser utilizado na criptografia de mensagens grandes e também para autenticação se você FB ele permite a utilização em Sistemas onde bloco básico não seja de 64 bits que lhe permite alterações online né se o bloco básico precisa ser retransmitido ele pode ser imediatamente codificado e transmitido então aplicações distribuídas fazem uso dele eu tenho duas entidades a e b e
a unidade básica de informação trocada é o Bart isso acontece por exemplo com internet na internet e cifrado dessa forma ele se utiliza do modo CVC né então se ele disse utilizado no modo CVC ele pode existir aí duas opções transmite imediatamente completando o resto dos bicos com zero Então o que acarreta uma sobrecarga na comunicação Por que até tenho a inserção de novos Bis transmitir somente quando fosse completado 64 bits de dados é Impossível utilizar uma aplicação e algumas aplicações porque eu preciso de tempo real e às vezes fabricação demora para compor esse elemento
Quais os problemas que a gente tem a criptografia de um o texto plano pi ela é realizada em função das criptografia são anteriores misturando misturados aí constrói-se o texto cifrado transmitido como UnB toda mensagem a partir desse ponto é afetado Por que é óbvio que eu vou usar esse código esse código foi cifrado para cifrar o restante se ele teve problema eu vou ter problema com os outros também o louco tipo de Bergman Woody e seminários FB né mas erros na transmissão não são propagadas não inviabilizando aí a de criptografia do restante das mensagens porque
ele tenta validar faz a validação do de cada bloco de sair é o triplo desse é um outro algoritmo que a gente vai dar uma olhada assim como é esse né é o triplo desse ele ele é vem do desse e faz três vezes né a ideia três vezes o desço então eu tenho dois tipos de implementação uma chave 168 bits ou seja três chaves 56 e o com a chave de 112 bits duas Chaves de 56 bits No caso quando eu ter o triplo de o triplo desse com uma chave de 112 bits o
que acontece aqui no segundo estágio ocorre uma de criptografia né e ele permite então manter compatibilidade com de simples né então neste caso Basta fazer cair igual a K2 k1 igual a cada dois que eu vou ter exatamente a mesma compatibilidade do diz então que poder funciona como eu tenho uma mensagem logo 64 bits e eu posso criptografar porque o triplo desse com uma chave de 168 seja tento a diferença que vão criptografar fazer a criptografia e para mim girando meu texto cifrado 64 litros então processo de criptografia é eu criptografia uma vez com Deus
com a chave um criptógrafo novamente usando o dedo com a chave dois e criptografia novamente usando desço com a chave Teresa então é como se repetir seu processo de fotografia três vezes para o de criptografar eu vou de criptografar obra que qual é a chave na ordem inversa primeiro detector grave com a 13 depois com a 2 e depois como pelo assim então como resultado a minha mensagem original o triplo desse com duas Chaves de 56 56 eu vou ter duas quis aí então Q1 e Q2 e vou fazer o quê Vou pegar minha mensagem
no texto plano cifra seja criptografar com o dedo com a chave um usar o algoritmo de criptografia do disco achar dois e criptografar novamente usando o dedo com a chave um e ir para descriptografar processo inverso da criptografia com alta e fotográfica uma dois e de criptografia com a um novamente certo então esse é o processo do Triton desse que faz exatamente o mesmo processo de só que três vezes fazendo aí agora uma troca de chá a próxima algoritmo que nós vamos dar uma ideia é o cuidar International Day to encrypt sinal wi-fi é um
o algoritmo desenvolvido por lei e mas e né na Suíça Federal Instituto de Tecnologia de Zurique lá em 91 ele é patenteado mas com permissão para uso não comercial ele é considerado o algoritmo bastante forte as principais características do Idea o comprimento do bloco que deve ser longa o suficiente para deter uma análise estatística então ele usa blocos de 64 bits e o comprimento da chave deve ser longa também suficiente para permitir prevenir aí Força Bruta então ele usa um machado 128bits Quais são as principais características do ideia a ideia nesse algoritmo é justamente a
confusão EA difusão Então existe o relacionamento do texto cifrado contexto plano ele deve ser o mais complexo possível e ele utiliza xizor aritmética modular para e essa confusão a difusão é que cada bit do texto plano deve influenciar todos os outros bicos do texto cifrado tentando justamente evitar de ter simplesmente uma substituição cada bit da chave também deve influenciar todos os bits do texto cifrado Então como é que funciona na cifragem o texto Claro é dividido em blocos de 64 bits cada um desses blocos é dividido em quatro sub blocos de 60 16 B eu
tenho bloco um dois três e quatro esses quatro sub blocos são a entrada da primeira rodada do algoritmo no total são oito rodadas e acaba rodada os quatro sub-blocos são submetidos a operação lógica xizor somados e multiplicados entre si e com 6 sub blocos de 16-bits oriundos da chave então vou ter calma K2 K3 K4 para 5 a 6 que são os 128 bits da chave da chave quebrados em 16-bits aí entre ca e o segundo e o terceiro sub-bloco são trocados Então como é que funciona cada rodada a sequência seguinte multiplica-se faço a multiplicação
do primeiro bloco né do primeiro subir bloco de um com a chave com subir bloco da chave o cão adiciono faço adição do B2 com segundo bloco da chave K2 e adição do bloco 3 com ela subir bloco da chave K3 depois multiplico de quatro pelo quarto bloco que eu tenho duas multiplicações e duas adições primeiro multiplico adiciono adiciono multiplico faça Oxe só entre o resultado obtido na primeira e na terceira etapa então da multiplicação de B1 e da adição de B3 e um tesoura entre os resultados db2 com 64 faço então a multiplicação agora
do resultado dessa etapa 5 pelo quinto sub-bloco da chave que há cinco Adiciona os resultados dessas etapas 6 e 7 faço a multiplicação dos resultados dessa etapa 8 pelo sexto sub-bloco da k6 Adiciona os resultados das sete e nove faz xixi só entre os resultados obtidos nas etapas 1 e 9 depois xizor das etapas três e nós Me dá 2 e 10 e da quatro 10 e a saída da rodada são os quatro sub-blocos resultantes das etapas 1113 12 e 14 exceto na última rodada o sub Blocks 1312 trocam de lugar e a nova sequência
de subir blocos ser a entrada para a próxima rodar tão Verde aqui cada a chave ou seja a chave ela eu tenho quebro ela em seis blocos e ela vai apertar todos os vídeos Ali após 8ª rodada saída final então é transformada com o que eu faço de novo uma multiplicação do bloco um pelo primeiro sub-bloco da chave Cauã uma adição do bloco 2 pó subchave K2 uma adição do três com a subchave K3 uma multiplicação de quatro pelo quarto bloco sub-bloco da chave K4 no final quatro subbox G1 G2 G3 G4 e concatenados para
produzir o texto cifrar Então eu tenho meu texto Claro divido ele em quatro blocos de 16 mbit esses blocos na primeira volta são A somar somados e multiplicados pelas respectivas a os resultados dessa primeira etapa então é feito um scizor com o dessa o b1 com o B3 né posteriormente ele é multiplicado pela chave K5 e depois somado com quem eu tenho B4 ele é somado com o b2 e depois é feito o scizor perdão depois tomado com o resultado desse dessa do resultado de Cauã e Capricho com o K5 então ele é somado aí
esse resultado do K5 é somado com o a multiplicação do k6 pelo resultado que eu tenho aqui e isso então vai ser novamente lá na frente somado com bloco B2 né o bloco B4 também E aí eu tenho B1 que vai ser somado de novo aí né Com o resultado que eu tenho daqui isso vai ser multiplicado pela chave ficar um que vai me dar o G1 e assim sucessivamente isso eu vou fazer mais sete voltas então aqui eu tenho oito vezes esse processo é feito até que eu chego na última etapa onde eu multiplico
só e multiplico para ter as minhas saídas à bom então faço esses elementos se tem uma então o meu algoritmo ideia que é bastante forte uma vez que cada elemento da chave cada chave aí vai influenciar os bits todos os vídeos do meu texto plano da minha rodada os pobres mais pobres mais ele surge lá em 2002 Advanced encryption nesse Thunder algoritmos selecionado origem dela então eu novo padrão da federal information do processo stander escolhido pelo nist National institute of standards and technology para ser utilizados pelas organizações governamentais dos Estados Unidos na proteção de informações
sensíveis então o Alex ele marcou o esforço de 4 anos de cooperação entre o Governo dos Estados Unidos empresas privadas e competir e pesquisadores de diversos países como é que ele surgiu pelo padrão estabelecido pelo governo norte-americano para algoritmos de criptografia foi baseado no algoritmo dele entendeu que o algoritmo simétrico de baseado em cifras de blocos então ele também quebra o texto em blocos ele divide os dados que devem ser protegidos em blocos e faz a criptografia de cada bloco separadamente com a mesma achar E então em 1997 onishi requisita propostas de algoritmos para criptografia
e 98 tem o primeiro round são selecionado inicialmente 15 algoritmos criptográficos e 99 o segundo aonde ele foram selecionados dentre os algoritmos finalizou seja dos 15 5 foram finas foram para afinar em outubro de dois mil foi então anunciado o algoritmo selecionado quero o algoritmo de vigilante em novembro de 2.000 houve a liberação do Draft desse algoritmo já com o nome a esse aí e em fevereiro de dois minutos término do período para os comentários a época então o vários anúncios do padrão existem alguns algumas informações a títulos históricos no site do wish list of
barra a esse então o Governo dos Estados Unidos encomenda e BM supercomputadores 10 petaflops apelidada de Mira então a máquina ET mais de 750.000 processadores e vai utilizar em sistema de código e tem outros dois estariam sendo construídos no país né pela IBGE New service em Nova York uma matéria lá em 2011 mostrava esse encomenda do governo né desse computador de 10 é para pó e da última votação fez com que tivesse 86 votos por virgen del e o por serpente 59 to Fish 31 é e seis né que é lá Desce a 23 votos
e o mar deve 13 votos então o ideal ganhou nome dos autores de crime né a chave varia de 128 256 b e o comentário para este algoritmo é que ele era a melhor escolha o algoritmo foi projetado não só por segurança mas também para aumentar a velocidade de processamento então uma boa implementação de software em uma máquina de 2 giga hertz deve ser capaz de alcançar é uma taxa de fotografia de 700 megabits por segundo que é rápido o suficiente para codificar mais de 100 vídeos mpeg2 em tempo real pelo imagina hoje que que
a gente tem o nome a esse foi o nome dado então para origem Dell Advanced encryption Standard 1 o tamanho do bloco varia aí 128/256 potência 28192 256 bits que podem ser utilizados né atualmente é utilizado de 128 128 ou 128/256 tamanho da chave 128 oferece um espaço de 2 elevado a seguinte chave que a gente viu que já no espaço bastante grande né eu te de chaves aí qual é a segurança do a esse ainda que reiniciar National Security ge né conseguir construir uma máquina com um bilhão de processadores Paralelos cada um capaz de
avaliar uma chave o pico segundos essa máquina levaria cerca de dez a dez anos para pesquisar esse espaço de Chaves o que me garante o tempo suficiente para eu trocar essa chave né entre o garantir esse meu algoritmo matematicamente ele é baseado na teoria de campo de relógios nenhum matemático francês e o que proporciona o algoritmo de propriedade de seguranças que são demonstráveis eu consigo demonstrar matematicamente que se algoritmo a seguir e como é que funciona esse algoritmo eu tenho a minha mensagem ela pode então ser meu bloco né se dividido aí 128 192 e
220 cifrado por 128 192 256b que é o tamanho da minha chave gerando um código um texto criptografado cifrado aí de 128 192 ou 256 bits é a de criptografia eu tenho a mesma coisa o tamanho do meu bloco o meu texto cifrado vou ter a minha mensagem a vou ter o meu decifrado voltei a minha chave o meu algoritmo de encriptação e vou então recebeu o meu texto agora decifrada minha mensagem original em 128 192 ou 256 bits E como que funciona quais eu tenho então blocos de 128 bits então cada bloco é tratado
como uma matriz de quatro por quatro de bike denominada de estar a criptografia é feita no a ex em 10 rodadas o processo de criptografia em cada rodada constitu di substituição deslocamento de linhas combinação de colunas e xizor entre o estado EA chave de votava e não é isso o número de rogado depende do tamanho da chave sendo o número igual a 10 12 14 para números de Chaves A iguais a 4 6 e 8 respectivamente o algoritmo possui uma chave principal EA partir delas são geravam número e Mr mais uma chave geralmente chamadas de
chave de Rodada Pois cada uma vai ser usado em uma rodada diferente além disso a própria chave principal é usada antes da primeira rodada da chave principal é alocada em uma matriz de quatro quatro linhas e ele cá colunas e cada a chave de rodada é gripada na da mesma maneira que o blog está a eu estou em cada etapa são executados substituições e transposições substituições device by substituição permutação de bike sempre grupos shiftrows substituição usando uma crise de grupos Mix: e execução utilizar com a chave agr o quê a ver é um algoritmo bastante
complexo que faz uso de um conjunto bastante interessante de substituições E transposições então veremos agora como funciona o algoritmo aí ó E aí E aí E aí Oi ó Ué e como funciona o aí é e eu tenho a minha chave o meu texto plano o meu algoritmo de criptografia e o meu texto cifrado ver que eu tenho de novo conjunto de bloquinho sair da mesma forma que a gente tinha lá no es un eu tenho a minha entrada e eu vou ter o meu estado ou seja os meus elementos aí na notação é então
no na notação hexadecimal isso equivale aos meus bairros aí né e tenho a minha chave né para cifrar E como que eu vou fazer o meu processo de fotografia e a minha geração de subchaves né o processo de criptografia e eu tenho Então o meu a minha chave né o meu Edvaldo aqui então eu tenho do texto que vai entrar no texto plano aqui vou ter a minha chave adicionar uma chave aqui no meu primeiro algo tenho aula Inicial Depois vou ter outros nove House aqui né e o meu último áudio que o décimo House
que é o que a gente tem 10 rounds aí nesse algoritmo certo então vou passar uma duas três quatro cinco seis sete oito nove e dez chego até o meu texto cifrado aqui embaixo eu vejo que eu vou ter a minha primeira chave vai ser usado no primeiro no round Inicial Depois tenho 10 House aonde eu terei chave de distintas Tá certo então uma chave para cada round 9 dos 10 maus ocorre substituição de bike shift Wall Mix cólons e é uma nova chave depois o último round Ele não tem um mix Colors tá ele
vai ter sol o substituição de byte futebol EAD rock E como que funciona cada uma dessas transformações internas do meu algoritmo aí ó bom então substituição de by mais uma vez a gente tem aquela Nossa Xbox é claro que essas Xbox são complicados porque elas são colocadas pelo próprio dono do algoritmo né então elas são iguais sempre né E veja que agora o trabalho de cada um dos algoritmos é justamente fazer melhor uso desses elementos e o esquema mais legal é da chá que é tratado aí dentro então para que a gente não consegui descobrir
como é que que o processo vai ser gerar então o que que eu vou pegar vou pegar cada um dos elementos que eu tenho ali e vou escolher a partir do primeiro essa que eu tenho eu tenho então a minha linha e o segundo essa e da minha coluna e vou fazer a substituição de todos os bailes daquele meu elemento então fiz o meu primeiro processo de substituição a minha s s box é o processo simples substituir a partir do primeiro e do segundo número linha coluna agora eu vou fazer uma rotação de um byte
que vai ser o meu shift Hall Então vou pegar e vou e trocar veja na primeira linha eu não troquei nenhum elemento porque eu considero 0 na segunda eu troquei um na terceira eu troquei dois e na quarta eu troquei 3 bikes então eu fiz o shift rol das minhas linhas e é muito bem segundo processo completo como é que se colam como é que eu faço peguei a minha primeira coluna e vou multiplicá-la ali né obtendo então uma nova coluna com a qual eu vou substituir ali o meu elemento eu faço isso para todas
as minhas colunas Ah e por fim faço o agron e vou pegar aquele elemento e fazer o lote com a minha sabe então peguei faço um add ali uma adição primeira coluna vou ter a minha primeira coluna lá segunda terceira e 41 é muito bem E essas transformações são aplicadas nove vezes né ao final de cada round né eu no último áudio no décimo grau eu não me que se corre é a única diferença que a gente tem então eu vou fazer no segundo áudio depois de eu ter o substituição de bike depois de eu
ter o shift UOL o mix de: vou fazer adicioná-lo ao a aqui daquele balde né e vou ter depois o resultado aqui e assim sucessivamente por round 2 horário três quatro cinco seis e aí é legal você se repetirem esse processo manualmente para vocês ver se vocês realmente entenderam processo faça um o 2° né 7 Oi nó e 10 eu não tenho no grau de 10 o mix de colonos veja que o parto direto desse resultado para somalu com a chave de rodada e obtém então a minha o meu elemento final meu texto o meu
texto cifrado certo muito bem feito isso eu preciso agora simplesmente saber como é que é feito a minha escolha da chave de Rodada né são aquelas fez bloquinhos cinza que tinha ali atrás que são achados para cada uma das rodadas e eu vou pegar então agora a minha chave e vou fazer o quê w i - 1 vai ser a minha footworld né vou trocar uma a coluna Então pega lá o primeiro elemento da coluna e ele foi para o último elemento da coluna e vou fazer agora a substituição com minha Xbox substituir todos os
meus elementos ali tá certo e vou pegar esse tomar ele mais a primeiro coluna que eu tenho lá Inicial mas o meu R com que essa minha tabelinha aqui tá certo então vou pegar o meu é com E aí vou guardar ali na minha primeira opção então voltei lá a minha primeira linha da minha segunda a chave tá certo ou seja achava da primeira rodada porque essa vai se achar que eu vou entrar no meu algoritmo Inicial então aqui eu vou ter a chave da primeira rodada próxima coluna como é que eu vou fazer eu
peguei agora vou pegar eu tô tô aqui na i m há dois anos três e -4 peguei então a próxima coloniale vou fazer o quê com ela vou somar a essa coluna anterior né e voltei então a minha o meu resultado ali A outra a mesma coisa pego a próxima somo com ela e tenho a minha próxima coluna e de mesma coisa próxima coluna feito tem agora uma a primeira chave tá a chave da primeira rodada certo e assim Não confundo as outras são de novo lembra que na primeira vez eu peguei a primeira à
última para compor a primeira linha eu vou pegar a última para comprar primeira coluna perdão eu vou pegar a última coluna da chave então peguei a última palavra chave Qual é o próximo processo agora rodo essa esse elemento rodeio elemento que que eu vou fazer agora estou mal bom né É achar Quais são os fazer a substituição com o meu Xbox fiz a substituição vou somar agora com a primeira e por R Conde novo então Peguei lá minha próxima e cor achei a minha primeira coluna e agora o processo é pego a segunda coluna com
a primeira que eu já gerei faço simplesmente o somatório e gera idem até a última E aí começa de novo processo onde eu vou pegar né então eu tenho a chave da 1ª da 2ª rodada e vou criar da terceira na quarta sucessivamente com os meus R com os aqui embaixo finalizei tenho a chave até a última chave de rodada mais uma vez é interessante que vocês pegarem e executarem esse processo manualmente para ver se vocês conseguiram entender como é que essa chata executada eu espero que vocês tenham entendido funcionamento do algoritmo virgen del né
e com esse fica bem interessante a gente vê é e o processo funcionando novamente a onde eu tenho aí uma duas três quatro cinco seis sete oito nove dez Então as chaves de Rodada aqui nós vimos como elas são obtidas a primeira chave iniciada simplesmente aqui nesse primeiro nessa primeira edição do texto se texto plano com a chave e depois faço a substituição shift home que se colam e ao adicionamento ali da chave G1 PS4 foi um algoritmo feito pelo Greenpeace então da RSA brita sei que ele tinha 37 a chave variável de 1 a
2.048 bits é algo uma chave são fracas mas no caso desse algoritmo e outras são extremamente fólico ele é usado como componente do SL né Principalmente Donetsk port5 também aí do William né ele achava de 128 256 ele é bom mas ele é para penteado então fica complicado de usar para pagar os royalties necessários o to Fish é dobro Schneider de 1997 ele também tem a chave variando de 128 a 256 bits ele é bastante forte e amplamente utilizado tá então é um algoritmo bastante interessante o serpente tanto fixe que na verdade é um é
um sucessor do Blush quanto se tem que participaram da disputa junto com Ah e quem ganhou foi o aí o circo do Anderson a Lilian e que anda sem de 97 também tem chave 128 256 e também é considerado um algoritmo bastante boy então se a gente der uma olhada os principais algoritmos que a gente tem aí né as principais simétricos ou é isso que tem a chave de 128 192 56 um blocão 16-bits aí né na verdade tem sim o bloco de 128 etc né é o blush dobro Schneider onde eu tenho aí blocos
de 8 bits utilizado lá na nota utilix o triplo desse que é usado no SL no SSH o ideia usado do PGP no SSH na CCL urs6 como é que foi aí um dos candidatos né a rua e se para aplicar os usb-c e tem os algoritmos Esses são os por blocos e temos os algoritmos por estranho que é o S4 e o seu né o S4 do Rift e do o galho oficial então a chave no mínimo de oito no máximo 248 nem múltiplos de 8 bits o depois 128 e o seu variável com
o tendo como de por 160 o S4 utilizado ali no SL e na fios ionar diz que em Krypton tão os algoritmos são interessante e um comparativo bem bacana vocês podem achar Nesse artigo que compara o the sun o trio poderoso a expo do Fish you to Fix é um algoritmo um artigo bastante simples mas que mostra por exemplo um texto plano cifrada aí né então no final do texto plano de 240 km cifrada aí ele gera o algoritmo um tamanho bem maior né do meu texto cifrado então tamanho acaba é aumentando de acordo com
os algoritmos que eu uso de criptografia tá em Deus deu um texto maior a bibliografia que vocês podem utilizar para ver esses algoritmos é do estado também Bal é o RSA data Security então tem o site né é o livro do Soares e o do Schneider tem um artigo também então boa sorte para vocês a essa foi a nossa aula de algoritmos simétricos é vão existir alguns exercícios aí no clips para vocês executarem Espero que tenham gostado até a nossa próxima aula E aí