Thalia (discussão | contribs)
Etiqueta: visualeditor
 
(11 revisões intermediárias por 3 usuários não estão sendo mostradas)
Linha 1: Linha 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.


= Conceito =
== '''Técnica de Criptografia''' ==
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.
*O algoritmo criptográfico é uma sequência de comandos que envolvem uma matemática capaz de cifrar e decifrar informações sigilosas. Esse pode ser executado por um software, hardware dedicado ou por um ser humano. O que os difere é a velocidade de execução e a probabilidade de erros.
*Também é necessária uma chave, que na criptografia computadorizada é um número ou um conjunto deles. Ela protege a informação cifrada, e para decifrá-la, o algoritmo deve ser alimentado com a chave correta. As chaves minimizam a preocupação com o algoritmo utilizado, afinal é mais fácil proteger somente uma chave, do que um algoritmo inteiro. Contudo, sempre é possível decifrar uma mensagem, basta testar todas as chaves possíveis, é só questão de tempo.
*Um algoritmo criptográfico que não utiliza o recurso de chaves para decifrar as informações pode causar prejuízo. Se ele for quebrado, todas as informações cifradas com ele estarão a mostra, afinal o que garante o sigilo das informações é justamente o próprio algoritmo.  


'''Encriptação'''
== '''Conceito''' ==
 
*A criptologia está presente desde os primórdios da história humana, afinal sempre houve mensagens sigilosas que não deveriam ser descobertas pela comunidade ou pelos inimigos. Segundo Kahn (1967), o primeiro exemplo é datado de 1900 a.C., quando o escriba Khnumhotep II substituiu algumas palavras e trechos de um documento, caso esse fosse roubado, o ladrão não teria acesso às informações contidas. Em 50 a.C., foi criado o “Código de César”, por Júlio César, que constitui na substituição cíclica do alfabeto.
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.
*Em 1901, iniciou-se a era da comunicação sem fio, apesar das vantagens, enviar dados em segurança era um desafio. Edward Hugh Hebern fundou a Hebern Eletric Code, uma empresa produtora de máquinas de cifragem eletromecânicas.  
 
Criptografia é o estudo e o uso de técnicas para comunicação e armazenamento seguro em sistemas computacionais. Encriptação é um método de criar e mandar mensagens secretas de modo que apenas o destinatário as entenda, tendo como objetivo manter a privacidade. Desencriptação é o processo inverso da encriptação, transforma os dados ilegíveis em legíveis, com o auxílio de uma chave e algoritmo.  
'''Decriptação'''
*A criptoanálise é o estudo sobre quebra de sistemas criptográficos sem conhecer a chave de encriptação. “Semelhante ao invasor, o criptoanalista procura fraquezas dos algoritmos. É importante que a comunidade de criptografia conheça as fraquezas, pois os invasores também as estão procurando. É quase certo que os invasores não irão publicar suas descobertas para o mundo.(BURNETT, 2002)
 
É 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'''


== '''Tipos de Criptografia''' ==
*'''Criptografia de Chave Privada ou Simétrica:''' os processos de cifragem e decifragem são feitos com uma única chave. O emissor utiliza essa chave para encriptar a mensagem, e o receptor utiliza a mesma chave para decriptá-la, é chamada de chave compartilhada. A chave precisa ser enviada para todos os usuários autorizados antes que as mensagens possam ser trocadas, com isso aumenta o tempo e a probabilidade de que a chave chegue até pessoas não autorizadas.
<br> [[Arquivo:assimetrica.png]]
<br>
<br>
*'''Criptografia de Chave Pública ou Assimétrica:''' foi criada com o intuito de resolver o problema da distribuição de chaves na Criptografia Simétrica. Assim, cada pessoa tem um par de chaves (chave pública e privada). A chave pública é divulgada, enquanto a privada é mantida em segredo. O transmissor cifra a mensagem usando a chave pública do destinatário, que deverá usar a sua respectiva chave privada para conseguir recuperar a mensagem original. Atualmente, a assinatura digital é um dos mecanismos de segurança mais utilizados, e precisa dos conceitos de Criptografia Assimétrica. É uma mensagem que só uma pessoa poderia produzir, mas que todos possam verificar.


===== '''Exemplo de algoritmo de chave simétrica''' =====
<br>[[Arquivo:simetrica.png]]
 
===== '''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>
<br>
*'''Funções de Hash:''' não utiliza uma chave e sim um valor de hash de tamanho fixo, o qual é computado sobre o texto original. São usadas para conferir a integridade da mensagem, para garantir que elas não tenham sido forjadas.


=== '''Criptografia de Chave Assimétrica''' ===
== '''Autenticação''' ==
[[Arquivo:Trabtrab2.jpg|right]]
*O processo de autenticação fornece a garantia sobre a identidade de um usuário, verificando se você é quem diz ser. Normalmente, ela se refere ao uso de assinaturas digitais: a assinatura é o conjunto inforjável de dados assegurando o nome do autor que funciona como uma assinatura de documentos.
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. 
*Há autenticação de entidade, em que um usuário afirma ter uma identidade legítima em um sistema. Também existe autenticação de origem de dados, que fornece evidência de que dados foram originados de um usuário legítimo.  
 
===== '''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:
== '''Esteganografia''' ==
*Trata-se do estudo de técnicas que permitam esconder informações dentro de outros arquivos. Apesar de ser um ramo da criptografia, ela não pode ser detectada. O que difere a esteganografia e criptografia é que a primeira esconde a existência da informação na mensagem, e a segundo torna a mensagem ilegível.


'''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: 
== '''Referências Bibliográficas''' ==
 
*1 MORENO, E; PEREIRA, F; CHIARAMONTE, R. Criptografia em Software e Hardware. São Paulo: Novatec, 2005.
726 976 767 900 (completa-se com zeros)  
*2 Bóson Treinamentos. Disponível em < https://www.youtube.com/channel/UCzOGJclZQvPVgYZIwERsf5g>.
 
*3    Imagem disponível em <http://migre.me/wF3Gp>.
'''Criptografar cada bloco: c = m^e mod n''' 
*4    Imagem disponível em <http://migre.me/wF3GK>.
 
''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.
 
=== Espalhando a Informação: ===
Mecanismos mais sofisticados espalham a informação nos pixels de uma imagem ou em partes de arquivos de áudio.
 
=== Ordenação ===
Consiste em transmitir a informação através da ordem em que os elementos de uma lista são dispostos.
 
=== Dividindo a Informação ===
Divide a mensagem em partes que seguem caminhos diferentes até o destino; algumas técnicas mais sofisticadas possibilitam, inclusive, que a informação seja reconstruída a partir de uma fração do total de pacotes em que a mensagem foi dividida.
 
 
= Referências Bibliográficas =
<br>

Edição atual tal como às 02h58min de 22 de maio de 2017

Técnica de Criptografia

  • O algoritmo criptográfico é uma sequência de comandos que envolvem uma matemática capaz de cifrar e decifrar informações sigilosas. Esse pode ser executado por um software, hardware dedicado ou por um ser humano. O que os difere é a velocidade de execução e a probabilidade de erros.
  • Também é necessária uma chave, que na criptografia computadorizada é um número ou um conjunto deles. Ela protege a informação cifrada, e para decifrá-la, o algoritmo deve ser alimentado com a chave correta. As chaves minimizam a preocupação com o algoritmo utilizado, afinal é mais fácil proteger somente uma chave, do que um algoritmo inteiro. Contudo, sempre é possível decifrar uma mensagem, basta testar todas as chaves possíveis, é só questão de tempo.
  • Um algoritmo criptográfico que não utiliza o recurso de chaves para decifrar as informações pode causar prejuízo. Se ele for quebrado, todas as informações cifradas com ele estarão a mostra, afinal o que garante o sigilo das informações é justamente o próprio algoritmo.

Conceito

  • A criptologia está presente desde os primórdios da história humana, afinal sempre houve mensagens sigilosas que não deveriam ser descobertas pela comunidade ou pelos inimigos. Segundo Kahn (1967), o primeiro exemplo é datado de 1900 a.C., quando o escriba Khnumhotep II substituiu algumas palavras e trechos de um documento, caso esse fosse roubado, o ladrão não teria acesso às informações contidas. Em 50 a.C., foi criado o “Código de César”, por Júlio César, que constitui na substituição cíclica do alfabeto.
  • Em 1901, iniciou-se a era da comunicação sem fio, apesar das vantagens, enviar dados em segurança era um desafio. Edward Hugh Hebern fundou a Hebern Eletric Code, uma empresa produtora de máquinas de cifragem eletromecânicas.

Criptografia é o estudo e o uso de técnicas para comunicação e armazenamento seguro em sistemas computacionais. Encriptação é um método de criar e mandar mensagens secretas de modo que apenas o destinatário as entenda, tendo como objetivo manter a privacidade. Desencriptação é o processo inverso da encriptação, transforma os dados ilegíveis em legíveis, com o auxílio de uma chave e algoritmo.

  • A criptoanálise é o estudo sobre quebra de sistemas criptográficos sem conhecer a chave de encriptação. “Semelhante ao invasor, o criptoanalista procura fraquezas dos algoritmos. É importante que a comunidade de criptografia conheça as fraquezas, pois os invasores também as estão procurando. É quase certo que os invasores não irão publicar suas descobertas para o mundo.” (BURNETT, 2002)

Tipos de Criptografia

  • Criptografia de Chave Privada ou Simétrica: os processos de cifragem e decifragem são feitos com uma única chave. O emissor utiliza essa chave para encriptar a mensagem, e o receptor utiliza a mesma chave para decriptá-la, é chamada de chave compartilhada. A chave precisa ser enviada para todos os usuários autorizados antes que as mensagens possam ser trocadas, com isso aumenta o tempo e a probabilidade de que a chave chegue até pessoas não autorizadas.



  • Criptografia de Chave Pública ou Assimétrica: foi criada com o intuito de resolver o problema da distribuição de chaves na Criptografia Simétrica. Assim, cada pessoa tem um par de chaves (chave pública e privada). A chave pública é divulgada, enquanto a privada é mantida em segredo. O transmissor cifra a mensagem usando a chave pública do destinatário, que deverá usar a sua respectiva chave privada para conseguir recuperar a mensagem original. Atualmente, a assinatura digital é um dos mecanismos de segurança mais utilizados, e precisa dos conceitos de Criptografia Assimétrica. É uma mensagem que só uma pessoa poderia produzir, mas que todos possam verificar.



  • Funções de Hash: não utiliza uma chave e sim um valor de hash de tamanho fixo, o qual é computado sobre o texto original. São usadas para conferir a integridade da mensagem, para garantir que elas não tenham sido forjadas.

Autenticação

  • O processo de autenticação fornece a garantia sobre a identidade de um usuário, verificando se você é quem diz ser. Normalmente, ela se refere ao uso de assinaturas digitais: a assinatura é o conjunto inforjável de dados assegurando o nome do autor que funciona como uma assinatura de documentos.
  • Há autenticação de entidade, em que um usuário afirma ter uma identidade legítima em um sistema. Também existe autenticação de origem de dados, que fornece evidência de que dados foram originados de um usuário legítimo.


Esteganografia

  • Trata-se do estudo de técnicas que permitam esconder informações dentro de outros arquivos. Apesar de ser um ramo da criptografia, ela não pode ser detectada. O que difere a esteganografia e criptografia é que a primeira esconde a existência da informação na mensagem, e a segundo torna a mensagem ilegível.


Referências Bibliográficas