Cifra Qwerty

A extensão da cifra de Vigenère.

Experimentar

Resumo Histórico


Criptografia

A criptografia é definida como a arte e a ciência de fazer e desfazer códigos ou mensagens secretas. Um dado original chamado de texto simples é codificado no texto cifrado por meio do processo de criptografia e o texto simples é restaurado do texto cifrado por meio da descriptografia. Uma chave é usada para configurar um sistema de criptografia para criptografia e descriptografia.


Cifra Qwerty

A cifra qwerty pretende estender a cifra Vigenère original de 26 caracteres para uma cifra sensível a maiúsculas e minúsculas de 92 caracteres, incluindo dígitos e alguns outros símbolos. A cifra qwerty também altera a sequência de mapeamento usada na cifra de Vigenère. O mapeamento altera de uma sequência de alfabeto estendida para uma sequência de teclado qwerty estendida. Para descriptografar o código ocorre o mapeamento reverso que é do teclado QWERTY estendido para a sequência alfabética estendida.

Os quatro princípios básicos da Criptografia:

Confidencialidade

Visa impedir a leitura não autorizada da mensagem.

Integridade

Assegurar ao destinatário que a mensagem recebida não foi alterada de forma alguma em relação ao original.

Autenticação

Identificar ou verificar uma pessoa que afirma ser.

Não repúdio

Um mecanismo para confirmar que o remetente realmente enviou esta mensagem.

Pseudo-código

PSEUDO-CÓDIGO

Apresentação do pseudo-código relativo à cifra Qwerty

                
                  

Encriptar

alfabeto[]={a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z} qwerty[]={q,w,e,r,t,y,u,i,o,p,a,s,d,f,g,h,j,k,l,z,x,c,v,b,n,m} texto = ler() texto = eliminar espaços() para i<-0 até ao comprimento (texto) faça Para j<-0 até 26 faça Se texto[i]==alfabeto[j] então textocifrado += qwerty[j] Imprimir(textocifrado)

Desencriptar

alfabeto[]={a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z} qwerty[]={q,w,e,r,t,y,u,i,o,p,a,s,d,f,g,h,j,k,l,z,x,c,v,b,n,m} texto = ler() texto = eliminar espaços() para i<-0 até ao comprimento (texto) faça Para j<-0 até 26 faça Se texto[i]==qwerty[j] então textoclaro += alfabeto[j] Imprimir(textoclaro)
JavaScript

JAVASCRIPT

Apresentação do código javascript relativo à cifra Qwerty

                
                                            $(function() {
                                              $(document).on('input','#txtencriptar',function () { 
                                                encriptar();
                                              });
                                              $(document).on('input','#txtdesencriptar',function () { 
                                                  desencriptar();
                                                });
                                              var alfabeto = 'abcdefghijklmnopqrstuvwxyz'.split("");
                                              var qwerty = "qwertyuiopasdfghjklzxcvbnm".split("");
                                
                                              function encriptar() {
                                                var chars = $('#txtencriptar').val();
                                                var ciphertext = "";
                                                var indivChars = chars.split('');
                                                for (i = 0; i < indivChars.length; i++) {
                                                  lowerChar = indivChars[i].toLowerCase();
                                                  characterIndex = alfabeto.indexOf(lowerChar);
                                                  if (characterIndex > -1) {
                                                      ciphertext += qwerty[characterIndex];
                                                  } else {
                                                    ciphertext += indivChars[i];
                                                  }
                                                }
                                                $('#txtdesencriptar').val(ciphertext);
                                              }
                                
                                              function desencriptar(){
                                                var chars = $('#txtdesencriptar').val();
                                                var ciphertext = "";
                                                var indivChars = chars.split(' ');
                                                for (i = 0; i < indivChars.length; i++) {
                                                  var j = 0;
                                                  while (j < indivChars[i].length) {
                                                    charGroup = indivChars[i].substr(j, 1);
                                                      characterIndex = qwerty.indexOf(charGroup.toLowerCase());
                                                    if (characterIndex > -1) {
                                                      ciphertext += alfabeto[characterIndex];
                                                      j = j + 1;
                                                    } else {
                                                      ciphertext += charGroup.charAt(0);
                                                      j = j + 1;
                                                    }
                                                  }
                                                  if ((i + 1) < indivChars.length) {
                                                    ciphertext += ' ';
                                                  }
                                                }
                                                $('#txtencriptar').val(ciphertext);
                                              }
                                            });
                
              
Equipa

Equipa

Elementos do grupo do projeto de criptografia.

João Marques

Nº 35118

João Félix

Nº 35126

Vasco Paulo

Nº 35139

José Martins

Nº 35121
Experimenta a Cifra Qwerty

Experimenta a Cifra Qwerty

A cifra substitui cada letra do alfabeto pela letra que está no mesmo lugar do alfabeto num teclado ou numa máquina de escrever.

Mensagem a Encriptar

Mensagem a Desencriptar