Atividades Praticas Supervisionada - Desenvolvimento de Programa de Criptografia
Por: eduardamaia17 • 27/12/2017 • 1.762 Palavras (8 Páginas) • 563 Visualizações
...
Ex.: WEP. Criptografia usada para Wifi. Atualmente não é muito usada por ser uma criptografia considerada fraca.
- Requerimento de Segurança em Comunicações
Um sistema de criptografia nos permite quatro características importantes: autenticação, integridade, confidencialidade e, não-repúdio.
- Integridade: É o conteúdo das informações trocadas entre transmissor e receptor, ou seja, a garantia que esse conteúdo chegue intacto ao receptor, não podendo ser alterado de nenhuma forma no percurso. Isso é realizado por meio de algoritmos de criptografia.
- Autenticação: Como a própria palavra diz, autentica que a mensagem foi realmente originada pelo remetente, e não por terceiros.
- Confidencialidade: Garante que as informações e os dados estão disponíveis somente para pessoas e processos que tenham autorização para acessá-las e utilizá-las.
-Não-repúdio: É importante evitar que uma mensagem, após seu envio, seja repudiada pelo transmissor, ou seja, ele não poderá negar que a transmitiu .Ex: assinatura digital.
- Técnicas criptográficas mais utilizadas e conhecidas
Existem três tipos básicos de técnicas de criptografia: criptografia de chave privada ou simétrica; criptografia de chave pública ou assimétrica; funções de Hash.
- Criptografia de chave privada (Simétrica): essa técnica utiliza apenas uma única chave. O emissor utiliza a chave para encriptar a mensagem que vai ser enviada, e o receptor usa essa mesma chave para decriptar a mensagem. É a chamada chave compartilhada, ou “shared key”. É permitido utilizar a mesma chave nos dois processos, encriptação e na decriptação. Essa é a técnica Simétrica. Esse sistema pode utilizar cifragem de fluxo ou de bloco. Exemplos de algoritmos: DES, 3DES, Blowfish, AES, OTP (One Time Pad).
O OTP é uma técnica muito antiga também, criada em 1917 por Gilbert Verman. A chave é considerada uma string de bits aleatória, com pleo menos o mesmo tamanho da mensagem em si. Se a mensagem tiver 80 bits, por exemplo, a chave também terá 80 bits, contudo, o OTP é muito rápido. A operação para ela é: C = (k,m) = K XOR m.
Um exemplo prático de OTP:
- Encriptação:
Mensagem: 1000110 (letra F em ASCII)
Chave: 1100011
__________________
C: 0100101
- Desencriptação:
M = D(k,c) = K XOR c
Texto crifrado C: 0100101
Chave: 1100011
_____________________
Mensagem: 10001100 (a mesma da encriptação).
- Cifras de Fluxo (Stream Cipher)
É uma cifra de chave simétrica que combina os bits do texto plano com um fluxo de bits pseudo-aleatório, um a um. Dessa maneira, cada dígito da mensagem é encriptado pela combinação com um dígito desse fluxo de bits, originando o texto encriptado. A operação XOR é a mais usada para realizar esse procedimento.
As cifras de fluxo usam o método da cifra OTP, que usa um fluxo de bits (keystream) de dígitos totalmente aleatórios. Porém, uma cifra de fluxo usa uma chave de tamanho muito menor que o OTP para gerar esse kestream, como 64 ou 128 bits. Essa chave é usada para gerar um kestream pseudo-aleatório que é combinado com o texto plano para gerar o texto cifrado. Exemplos de cifras de fluxo: RC4, SALSA20, SEAL.
- Cifras de Bloco (Block Cipher)
Essa cifra trabalha sobre blocos de dados. O texto plano é “cortado” em blocos pelo algoritmo, que trabalha sobre cada bloco de tamanhos iguais de forma independente.
Contudo, essa cifragem apresenta um defeito: se o mesmo bloco de texto se repetir, o texto cifrado será igual, o que pode gerar um padrão repetido, em que o invasor não consegue identificar. Tal problema é resolvido usando um Modo de Realimentação.
Existem vários modos de realimentação. Alguns deles são:
CBC (Chiper Block Chaining ou Cifra de Bloco por Encadeamento): Trabalha fazendo um XOR no bloco atual de texto plano com o bloco anterior de texto cifrado. Para o primeiro bloco é feito XOR com um vetor de inicialização (IV)
Exemplos de Cifras de Bloco: IDEA, RC5, RC6, AES, Blowfish, CAST, Rijndael, 3DES.
- Criptografia de chave pública (Assimétrica): nesse modo de criptografia usamos duas chaves diferentes, com tamanhos que variam entre 512 e 2048 bits, a fim de obtermos uma comunicação segura através de canais de comunicação inseguros. Trata-se de uma técnica de criptografia assimétrica pelo fato de usar um par de chaves distintas.
Cada participante dessa criptografia possui uma chave pública e uma chave privada. A chave privada é secreta, como o próprio nome da a entender, só o proprietário a conhece, ao passo que a chave pública é compartilhada com todos que se comunicarão. Exemplo: José quer se comunicar com Maria de uma forma que ninguém possa intercepta-lo. Então, José encripta a mensagem com uma chave pública de Maria, de modo que a mensagem só pode ser aberta usando a chave privada da Maria, que somente ela possui. Exemplo disso é a DAS, RSA, GPG
- Funções de Hash: a técnica de Hash é um método matemático que não utiliza uma chave como as técnicas anteriores. Utiliza um valor de Hash de tamanho fixo, o qual é computado sobre o texto plano.
São usadas para verificar a integridade dos dados para garantir que não sejam violados inapropriadamente. Verificações de senha podem usar funções de Hash também. Exemplos de Funções de Hash utilizadas: MD5, SHA1, SHA2
- Operações Lógicas (AND, OR, NOT, XOR)
Uma operação lógica é uma operação em álgebra booleana, ou seja, com valores binários (bits) podendo ser 0 ou 1, verdadeiro ou falso.
As operações mais comuns são:
- NOT (NÃO)- operação unária;
Tabela
...