Baixe o app para aproveitar ainda mais
Prévia do material em texto
SEGURANÇA DE SISTEMAS E CRIPTOGRAFIA ENTREGA DAS ATIVIDADES – AV1 ➢ Data Limite de Entrega: o 03/05/2021 (Turma Segunda) o 04/05/2021 (Turma Terça) ➢ Postar no CANVAS – [Atividade Individual Avaliativa - A1 (2/2)] ➢ Substituir Nome do Aluno, no nome do arquivo: o Nome do Aluno_ SEGURANÇA DE SISTEMAS E CRIPTOGRAFIA_Atividades_AV1_2021_1 Nome do Aluno: Clara Pessoa Teixeira Matrícula: 20201107070 Atividade – Avaliativa AV1 Pontuação ATIVIDADE-01 1,0 Ponto ATIVIDADE-02 1,0 Ponto ATIVIDADE-03 1,0 Ponto ATIVIDADE-04 1,0 Ponto ATIVIDADE-05 1,0 Ponto TOTAL 5,0 PONTOS Fórum Avaliativo AV1 Pontuação DEBATE-01 1,5 Pontos DEBATE-02 1,5 Pontos TOTAL 4,0 PONTOS ATIVIDADES Pontuação ATIVIDADE FINAL - AV1 1,0 Ponto (+1,0 EXTRA) Participação: Aulas 1,0 Ponto TOTAL 5,0 PONTOS PONTUAÇÃO FINAL AV1 10,0 (DEZ) Pontos (+1,0 EXTRA) ❖ ATIVIDADE-01 ➢ Questão 1: Resposta: 27 pessoas. Princípio da Casa de Pombos: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, ..., 51 → todos as casas ímpares Ao separarmos as casas ímpares não temos vizinhos, pois pulamos sempre uma casa, com isso é necessário adicionar uma casa par, em qualquer ordem da fila numérica, em que será vizinho de dois números diferentes. 26 + 1 = 27 → quantidade de números ímpares + 1 par = mínimo de pessoas possíveis. Exemplo: 26 → terá (25, 26) e (26,27) como casas vizinhas. ➢ Questão 2: Resposta: Letra A. De 900 a 1900 folhas, temos 1001 possibilidades de quantidade de folhas para as árvores. Sendo assim, nesse caso, ao termos 1002 árvores, pelo menos duas árvores irão ter a mesma quantidade de folhas. ➢ Questão 3: Resposta: Certo. 29 + 28 – x = 35 - x = 35 – 57 * (-1) x = 22 → 22 > 20 → o que torna a afirmativa verdadeira. I → 7 técnicos II → 6 técnicos I e II → 22 técnicos 29 X 28 0 35 I II ❖ ATIVIDADE-02 ➢ Questão 1: (a) Resposta: Sim, é múltiplo de 65. 2^48 – 1 → 281474976710655 / 65 = 4330384257087 (b) Resposta: 5^99 – 5. Não, apesar de toda base 5 elevado a uma potência seja múltiplo de 25, ao subtrairmos 5 do resultado da potência tornamos falsa a equação. Dessa forma 5^99 – 5 não é múltiplo de 25. 5^99 = 1,57772181E+69 – 5 → possui E, tornando-se uma exceção. ❖ ATIVIDADE-03 ➢ Questão 1: Resposta: 121 detergentes. MMC → 12, 15, 20 12, 15, 20 2 6, 15, 10 2 3, 15, 5 3 1, 5, 5 5 1, 1, 1 / 60 M(60) → (0, 60, 120, 180, 240,..) → apenas o 120 funciona porque no enunciado diz que José pretende organizar de 100 a 150 detergentes. Como sempre resta 1, temos que: 120 + 1 = 121 detergentes. ➢ Questão 2: Resposta: 19 aparições. MDC → 90,108,144 MDC = 2 * 3 * 3 = 18 s 90, 108, 144 2 45, 54, 72 2 1°→ 90 / 18 = 5 aparições 45, 27, 36 2 2°→ 108 / 18 = 6 aparições 45, 27, 18 2 3°→ 144 / 18 = 8 aparições 45, 27, 9 3 15, 9, 3 3 Total de aparições → 5 + 6 + 8 = 19 aparições // 5, 3, 1 3 5, 1, 1 5 1, 1, 1 / ❖ ATIVIDADE-04 ➢ Avaliação e descrição do passo a passo do Algoritmo DES: O algoritmo DES foi um marco em algoritmos de criptografia, criado no início dos anos 1970, tendo seu trabalho baseado na Estrutura Feistel Cipher. O Data Encryption Standard é um algoritmo de cifra simétrico, que utiliza o método cifra de bloco para criptografar e descriptografar uma mensagem. O DES possui 64 bits, no entanto 8 bits são de paridade para corrigir os erros, sendo assim a chave efetiva é 56 bits. O DES é um algoritmo cíclico, dessa forma, a partir do texto claro a primeira etapa é a permutação (permutação inicial) – que no caso é a troca de posição (troca de ordem, sem trocar o valor dos bits) – após a troca existem 16 ciclos iguais e para cada ciclo há um gerador de chave cíclica, sendo assim cada round tem uma chave derivada da chave, de 64/56 bits, inicial. Por fim, após o 16° ciclo, há novamente a permutação (permutação final), assim chegando ao texto final de 64 bits. Tabela de Chave (64 bits) Tabela de Chave (56 bits) ➢ Conclusão Final (Simulações DES e 3DES): O DES atualmente é considerado inseguro, para muitas aplicações, devido a sua pequena chave de 56 bits. Acreditam que o algoritmo seja mais seguro ao usarmos sua versão 3DES, já que a chave possui o tamanho máximo efetivo de 168 bits. A forma 3DES utiliza de três chaves – ou duas chaves dependendo do modo de operação escolhido – em seu processo, sendo a primeira para encriptar os dados, a segunda para decriptá-los e por último a terceira chave serve para encriptar a mensagem novamente. O uso das três chaves no método 3DES torna-o mais lento, no entanto, oferece uma maior segurança ao usuário. Por fim, recentemente a forma DES foi substituída pelo AES, Advanced Encryption Standard, que consiste um algoritmo de cifragem em blocos de tamanho variável, que suporta chaves de 128, 192 e 256 bits. ❖ ATIVIDADE-05 ➢ Implementação do algoritmo RSA: Executei essa atividade de duas maneiras, primeiro montei um código simples na linguagem Python para criptografar a mensagem desejada, e segundo, utilizei uma calculadora RSA online. (https://www.cs.drexel.edu/~jpopyack/Courses/CSP/Fa17/notes/10.1_Cryptogra phy/RSAWorksheetv4e.html) Código Python import random as rd def mdc(n1, n2): while(n2 != 0): r = n1 % n2 n1 = n2 n2 = r return n1 def gerar_chave_publica(n): while True: e = rd.randrange(2, n) if(mdc(n,e) == 1): return e def gerar_chave_privada(totiente, e): d = 0 while((d *e) % totiente != 1): d += 1 return d def cifrar(mensagem, e, n): msg_cifrada = "" for letra in mensagem: k = (ord(letra) ** e) % n msg_cifrada += chr(k) return msg_cifrada def decifrar(mensagem, n, d): msg_decifrada = "" for letra in mensagem: k = (ord(letra) ** d % n) msg_decifrada += chr(k) return msg_decifrada def rsa(): https://www.cs.drexel.edu/~jpopyack/Courses/CSP/Fa17/notes/10.1_Cryptography/RSAWorksheetv4e.html https://www.cs.drexel.edu/~jpopyack/Courses/CSP/Fa17/notes/10.1_Cryptography/RSAWorksheetv4e.html msg = "Criptografia é uma área da criptologia que estuda e prática pr incípios e técnicas paara comunicação segura na presença de terceiros, ch amados adversários. Mas geralmente, a criptografia refere- se à construção e análise de protocolos que impedem terceiros, ou o públi co, de lerem mensagens privadas." p = 17 q = 19 n = p * q y = p-1 x = q -1 totiente = x * y e = gerar_chave_publica(totiente) print(f"Chave publica: ({e},{n})") d = gerar_chave_privada(totiente, e) print(f"Chave privada: ({d},{n})") msg = cifrar(msg, e, n) print("MENSAGEM CIFRADA: " + msg) msg = decifrar(msg, n, d) print("MENSAGEM DECIFRADA: " + msg) rsa() print("Funcionou! Aqui está sua mensagem.") Calculadora RSA É necessário escolher um número primo, aleatório e grande para ser o valor de p e q, nesse caso os escolhidos foram 17 e 19. O site tem uma etapa para verificar se os números são realmente primos ou não. Em seguida, usei o produto de p e q para o N. A partir da lista de candidatos do 1 mod r, o número selecionadopara K foi 8065, que tem seus fatores primos 5*1613 (no caso, 8065 é fatorado como o produto de dois números). As informações da fatorização do fator K (5, 1613) são usadas nas variáveis e e d. Caso seja aceito os números na checagem de consistência, a mensagem “e*d mod=1”, “e e d são relativamente primos” e “d e r são relativamente primos” no final da checagem. Momento de digitação da mensagem desejada para ser criptografada, no caso desse site não é possível colocar acento e ç, e por algum motivo estava dando problema com mensagens muito grandes. A partir daí, clicamos no botão para codificar, sendo assim a mensagem será convertida na forma numérica. Na última etapa, para a descriptografia funcionar corretamente, a mensagem criptografa é descriptografada utilizando a chave d. Exibida também de forma numérica, a mensagem é convertida do formato numérico para o formato ASCII. Se tudo seguir como o programado, a mensagem descriptografada será igual ao texto simples original. Que nesse caso, funcionou e a mensagem descriptograda se mostrou igual ao texto simples. ➢ Conclusão final (RSA e DES/3DES): Em conclusão, o algoritmo RSA utiliza de duas chaves – uma pública e uma privada – para criptografar e descriptografar a mensagem. A estrutura de uma criptografia simétrica (DES\3DES) é diferenciada de uma assimétrica (RSA) justamente por causa das duas chaves, em que a primeira chave (pública) é utilizada para “cifrar” os dados a serem enviados, por exemplo: logins e senhas, enquanto a segunda chave (privada) é usada para retornar o texto “cifrado” ao seu formato original, já que apenas ela consegue cumprir essa função. Pelo fato da criptografia simétrica utilizar apenas uma chave, essa chave é compartilhada entre emissor e destinatário, enquanto a assimétrica disponibiliza a chave privada para um número restrito de usuários. Por fim, a criptografia assimétrica é considerada mais segura do que a simétrica, por permitir a maior privacidade e confiabilidade durante a troca de dados. ➢ Atividade FINAL – AV1 Resposta: A sugestão que eu daria para o operador Θ é XOR, já que funciona perfeitamente no momento de criptografar e descriptografar a mensagem. A → 10101010 → Original K → 11110000 → Chave de Criptografia Z → 01010101 → Texto Criptografado K → 11110000 → Chave de Descriptografia OK → 10101010 → Texto Descriptografo
Compartilhar