|
|
| Linha 1: |
Linha 1: |
| = Técnica de Criptografia =
| | 1 Técnica de Criptografia |
| A palavra Criptografia vem do grego "Kryptós Gráphein", ou seja, "Escrita Oculta". Criptografia é o estudo a aplicação de técnicas para comunicação e armazenamento seguro de dados em sistemas computacionais.
| | 2 Conceito |
| | | 3 Tipos de Criptografia |
| = Conceito =
| | 4 Autenticação |
| Criptografia é a técnica em que a informação transmitida pode ser transformada da sua forma original para outra impossível de ser identificada, a intenção é ter um armazenamento seguro de dados em sistemas computacionais e que apenas o destinatário certo e com a chave específica possa ter acesso àquela informação.
| | 5 Esteganografia |
| | | 6 Referências Bibliográficas |
| '''Encriptação'''
| |
| | |
| Encriptação é o processo que converte informações em um formato legível (texto puro) para um formato ilegível (texto cifrado), para isso, utiliza-se algoritmo criptográfico.
| |
| | |
| '''Decriptação'''
| |
| | |
| É o processo inverso da Encriptação, ou seja, é a transformação da informação ilegível em uma informação legível, utilizando-se também um algoritmo criptográfico.
| |
| | |
| '''Criptoanálise'''
| |
| | |
| Processo de transformação de dados cifrados (encriptados) em dados legíveis (decriptados) sem que conheça a chave de encriptação. Portanto, trata-se de decifrar a encriptação dos dados para obter acesso ao conteúdo das mensagens. Porém com o intuito de descobrir falhas nos algoritmos para torná-los mais seguros, validá-los ou descartá-los.
| |
| | |
| [[Arquivo:Mod_criptografia.jpg|380x380px]]
| |
| | |
| = Tipos de Criptografia =
| |
| | |
| === Criptografia de Chave Simétrica ===
| |
| Este tipo de criptografia utiliza uma única chave, ou seja, uma mensagem pode ser encriptada pelo emissor e decriptada pelo destinatário utilizando-se a mesma chave. É chamada de simétrica por se tratar de uma chave (iguais).
| |
| [[Arquivo:Trab.jpg|right]]
| |
| Uma cifra simétrica é definida sobre um par de algoritmos de encriptação (E) e decriptação (D), onde:
| |
| {| class="wikitable"
| |
| |m
| |
| |=
| |
| |Texto plano (mensagem)
| |
| |-
| |
| |c
| |
| |=
| |
| |Texto cifrado (encriptado)
| |
| |-
| |
| |k
| |
| |=
| |
| |Chave criptográfica
| |
| |-
| |
| |E
| |
| |=
| |
| |Algoritmo de encriptação(Randomizado)
| |
| |-
| |
| |D
| |
| |=
| |
| |Algoritmo de decriptação(Fixo)
| |
| |}
| |
| | |
| c = E(k,m) e m = D(k,c). Logo: m = D(k,E(k,m)) ''Equação de consistência''
| |
| | |
| Para todo '''''m''''' pertencente a '''''m''''' e '''''k''''' pertencente a '''''k''''': '''D(k,E(k,m)) = m'''
| |
| | |
| <br>
| |
| | |
| ===== '''Exemplo de algoritmo de chave simétrica''' =====
| |
| | |
| ===== '''OTP (One-Time-Pad)''' =====
| |
| Gilbert Vernam, 1917, Bell Labs.
| |
| | |
| A chave é uma string de bits aleatória, com pelo menos o mesmo tamanho da mensagem em si.
| |
| | |
| Exemplo com o F da Tabela ASCII:
| |
| | |
| [[Arquivo:Conta.png|frameless|242x242px]]
| |
| {| class="wikitable"
| |
| |+''K'' exor ''m''
| |
| |Mensagem
| |
| |1
| |
| |0
| |
| |0
| |
| |0
| |
| |1
| |
| |1
| |
| |0
| |
| |-
| |
| |Chave
| |
| |1
| |
| |1
| |
| |0
| |
| |0
| |
| |0
| |
| |1
| |
| |1
| |
| |-
| |
| |C
| |
| |0
| |
| |1
| |
| |0
| |
| |0
| |
| |1
| |
| |0
| |
| |1
| |
| |}
| |
| | |
| [[Arquivo:Conta2.jpg]]
| |
| {| class="wikitable"
| |
| |+''K'' exor ''c''
| |
| |C
| |
| |0
| |
| |1
| |
| |0
| |
| |0
| |
| |1
| |
| |0
| |
| |1
| |
| |-
| |
| |Chave
| |
| |1
| |
| |1
| |
| |0
| |
| |0
| |
| |0
| |
| |1
| |
| |1
| |
| |-
| |
| |Mensagem
| |
| |1
| |
| |0
| |
| |0
| |
| |0
| |
| |1
| |
| |1
| |
| |0
| |
| |}
| |
| | |
| Ou seja, texto cifrado, é igual à aplicação do algoritmo de encriptação sobre a chave e a mensagem, que é igual à chave exor mensagem.
| |
| | |
| <br>
| |
| | |
| === Criptografia de Chave Assimétrica ===
| |
| [[Arquivo:Trabtrab2.jpg|right]]
| |
| Esse tipo de criptografia utiliza duas chaves diferentes, por isso é chamada de Assimétrica. A mensagem é criada a partir da chave pública do destinatário e somente pode ser decriptada com a chave privada que somente o destinatário tem acesso, mesmo que, outra pessoa intercepte a mensagem e tenha a mensagem pública do destinatário, essa pessoa não poderá decriptar a mensagem.
| |
| | |
| ===== '''Exemplo de algoritmo de chave assimétrica''' =====
| |
| | |
| ===== '''RSA (Rivest, Shamir e Adleman)''' =====
| |
| Criado por Ron Rivest, Adi Shamir e Len Adleman, em 1977, é um dos algoritmos de chave assimétrica mais utilizados. Seu funcionamento consiste na multiplicação de 2 números primos (chave privada) muito grandes para a geração de um terceiro número (chave pública).
| |
| {| class="wikitable"
| |
| |m
| |
| |Texto plano (mensagem)
| |
| |-
| |
| |c
| |
| |Texto cifrado (encriptado)
| |
| |-
| |
| |(e,n)
| |
| |Chave pública
| |
| |-
| |
| |(d,n)
| |
| |Chave privada
| |
| |-
| |
| |n
| |
| |Produto de dois números primos
| |
| |-
| |
| |^
| |
| |Operação de exponenciação
| |
| |-
| |
| |mod
| |
| |Operação de módulo (resto da divisão inteira)
| |
| |}
| |
| | |
| ===== '''Criar um par de chaves''' =====
| |
| 1.Pegar dois números primos '''p''' e '''q''' (tamanho aproximadamente igual). Calcular '''n = p*q'''.
| |
| | |
| 2.Pegar um número '''e''' que não tem nenhum fator em comum com '''(p-1)*(q-1)'''.
| |
| | |
| 3.Calcular '''d''' como '''e*d ''mod'' (p-1)*(q-1) = 1'''.
| |
| | |
| O par '''(e,n)''' é a chave pública. '''(d,n)''' é a chave privada.
| |
| | |
| Exemplo :
| |
| Pegar dois números primos aleatórios: '''p = 29''', '''q = 37'''
| |
| Calcular '''n = pq = 29 * 37 = 1073'''
| |
| '''e''' deve ser escolhido de forma aleatória de modo que '''e''' não tenha nenhum fator em comum com'''(p-1) (q-1)''':
| |
| '''(p-1)(q-1) = (29-1)(37-1) = 1008'''
| |
| Pegar '''e = 71'''
| |
| Escolher '''d''' como '''71*d mod 1008 = 1'''
| |
| Vamos encontrar '''d = 1079'''
| |
| Agora temos as nossas chaves:
| |
| * A chave pública é '''(e,n) = (71,1073)''' (chave de criptografia)
| |
| * A chave privada é '''(d,n) = (1079,1073)''' (chave de decodificação)
| |
| | |
| Criptografando a mensagem "HELLO", usando a tabela ASCII:
| |
| | |
| '''m = 7269767679'''
| |
| | |
| Então, temos que recortar a mensagem em blocos contendo menos dígitos do que N. N tem 4 dígitos, então vamos recortar a nossa mensagem em blocos de três dígitos:
| |
| | |
| 726 976 767 900 (completa-se com zeros)
| |
| | |
| '''Criptografar cada bloco: c = m^e mod n'''
| |
| | |
| ''726^71 mod 1073 = 436 <br>''976^71 mod 1073 = 822 <br>767^71 mod 1073 = 825 <br>900^71 mod 1073 = 552'' ''
| |
| | |
| A mensagem criptografada é '''436 822 825 552'''.
| |
| | |
| '''Mensagem descriptografada: m = c^d mod n'''
| |
| | |
| ''436^1079 mod 1073 = 726 <br>''822^1079 mod 1073 = 976 <br>825^1079 mod 1073 = 767 <br>552^1079 mod 1073 = 900'' ''
| |
| | |
| Ou seja, a sequência de números '''726976767900'''.
| |
| | |
| A mensagem em texto simples '''72 69 76 76 79: "HELLO".'''
| |
| | |
| === Função de Hash (Resumo de Mensagem) ===
| |
| [[Arquivo:Hash.png|right]]
| |
| Um algoritmo de resumo de mensagem, recebe uma mensagem de tamanho variável como entrada e um resumo fixo como saída, a mensagem é totalmente incompreensível. Essa saída é chamada de Resumo e o algoritmo é chamado de One-Way Hash.
| |
| | |
| Um algoritmo Hash necessita, no mínimo, de:
| |
| * A mensagem deve ser impossível de se determinar, baseando somente em seu Resumo.
| |
| * Deve ser impossível encontrar uma mensagem qualquer que possa um Hash em particular ou desejado.
| |
| *[[Arquivo:Haahhh.png|right|594x594px]]É computacionalmente inviável duas mensagens ter o mesmo resumo.
| |
| * O mapeamento de um Hash para uma mensagem deve parecer totalmente aleatório
| |
| * A alteração de qualquer bit na mensagem original deve fazer com que a mensagem prozuda um Hash totalmente diferente.
| |
| Usos das Funções de Hash:
| |
| * Autenticação
| |
| * Integridade de mensagens
| |
| * Assinatura de mensagens
| |
| * Detecção de alteração de dados
| |
| * Verificação de senhas
| |
| | |
| Exemplo de algoritmo Hash: MD5
| |
| | |
| = Autenticação =
| |
| A Autenticação é utilizada para verificar que as informações são originárias de uma fonte confiável, ou seja, assegura que a mensagem foi realmente originada pelo remetente, e não por outra pessoa.
| |
| | |
| === Maneiras de autenticar uma pessoa ou uma informação: ===
| |
| | |
| ==== Senha ====
| |
| A maneira mais comum de autenticação é um nome de usuário e uma senha. Caso a senha e usuário estiverem corretos, obtêm-se o acesso à informação, caso contrário, não.
| |
| | |
| ==== Cartões de acesso ====
| |
| Pode ser cartões de crédito ou simples cartões com tira magnética, como por exemplo, a carteirinha da universidade.
| |
| | |
| ==== Assinaturas Digitais ====
| |
| Uma assinatura digital é basicamente uma maneira de se assegurar que um documento eletrônico seja autêntico, seja ele, um e-mail, uma planilha eletrônica ou um arquivo de texto, e permite também verificar a integridade do documento, se foi ,ou não, alterado no caminho. Utiliza-se uma chave assimétrica (privada e pública), umas das que são utilizadas é a RSA.
| |
| | |
| Uma assinatura digital deve ser:
| |
| [[Arquivo:Assinatura.jpg|right|415x415px]]
| |
| * Simples de produzir para o assinante
| |
| | |
| * Facilmente verificável
| |
| * Difícil de ser falsificada
| |
| * Quem usa a assinatura não pode negar que assinou um documento (não-repúdio)
| |
| <br>
| |
|
| |
|
| |
| = Esteganografia =
| |
| Esteganografia e criptografia são duas áreas com objetivos diferentes, a criptografia tem o objetivo de impedir uma mensagem ser lida por pessoas não autorizadas, já a esteganografia tem o objetivo de fazer com que mensagem nem pareça existir.
| |
| | |
| === Ruído ===
| |
| É uma técnica simples que consiste em substituir o ruído em uma imagem ou em um arquivo de áudio pela informação que se deseja transmitir.
| |
| | |
| ===== Exemplo BPCS: ''Bit-Plane Complexity Segmentation'' =====
| |
| A idéia é dividir os planos de bits de uma imagem BMP, PNG ou JPG em regiões com ruídos e sem ruídos.
| |
| [[Arquivo:Bit-planes.jpg|centre]]
| |
| | |
| === Espalhando a Informação ===
| |
| Mecanismos mais sofisticados espalham a informação nos pixels de uma imagem ou em partes de arquivos de áudio.O sinal a ser transmitido é codificado em um sinal similar a um ruído de rádio e é, então, transmitido em freqüências, com o objetivo de obter uma comunicação mais confiável, mais eficiente e mais secreta.
| |
| | |
| === Ordenação ===
| |
| Consiste em transmitir a informação através da ordem em que os elementos de uma lista são dispostos. Essa técnica não altera a qualidade da informação que está sendo transmitida, mas pode ser facilmente perdida caso haja uma nova alteração.
| |
| [[Arquivo:Ordem.jpg|centre]]
| |
| A ordem dos atributos ''alt'' e ''name'' determina o valor do bit. A primeira linha pode representar o bit 0, enquanto a segunda pode representar o bit 1.
| |
| | |
| === Dividindo a Informação ===
| |
| Divide a mensagem em pequenas partes, de modo que ela só possa ser obtida novamente se o receptor possuir todas, ou talvez algumas, partes em suas mãos.
| |
| [[Arquivo:Dividindo.jpg|centre]]
| |
| | |
| = Referências Bibliográficas =
| |
| # <nowiki>https://pt.wikipedia.org/wiki/Criptografia</nowiki>
| |
| # <nowiki>http://olhardigital.uol.com.br/fique_seguro/video/o-que-e-criptografia/32640</nowiki>
| |
| # <nowiki>http://www.bosontreinamentos.com.br/seguranca/introducao-a-criptografia/</nowiki>
| |
| # <nowiki>http://tecnologia.hsw.uol.com.br/criptografia6.htm</nowiki>
| |
| | |
| <br>
| |