Criptografia – Revisão de Operações Lógicas AND, OR, XOR e NOT

Operações Lógicas AND, OR, XOR e NOT

Uma operação Lógica é uma operação matemática em Álgebra Booleana (com valores binários – bits), cujos valores podem ser iguais a 0 ou 1, o que corresponde a falso ou verdadeiro, respectivamente.

As operações lógicas mais comuns empregadas em criptografia são:

  • NOT (Não) – operação unária
  • AND (E)
  • OR (OU)
  • XOR (OU-Exclusivo)

Operação Lógica NOT (Não)

É a operação de negação (valor inverso). Ao aplicarmos a operação NOT a um valor lógico, ele muda seu estado.

Vamos analisar a sua Tabela da Verdade, que é uma tabela que mostra todas as combinações possíveis de entradas de valores e as saídas geradas com a aplicação dos diversos operadores lógicos:

Tabela da Verdade:

Tabela da Verdade da operação NOT

Operação Lógica AND (E)

Esta operação retorna valor 1 (verdadeiro) somente se todos os valores de entrada também forem verdadeiros.

Tabela da Verdade:

Tabela da Verdade - Operação AND

Operação Lógica OR (OU)

A operação lógica OR retorna 1 caso pelo menos uma das entradas possuir valor igual a 1; caso contrário, retorna o valor 0.

Tabela da Verdade:

Tabela da Verdade - Operação Lógica OR

Operação Lógica XOR (Ou Exclusivo)

A operação XOR é uma das mais utilizadas em criptografia. Essa operação retorna valor 1 se as entradas tiverem valores diferentes entre si. Se as entradas forem iguais, não importando seu valor, o resultado será zero.

Tabela da Verdade:

Tabela da Verdade XOR - Ou Exclusivo

A operação XOR possui uma propriedade importante:

A ⊕ B ⊕ A = B,  para todo  A, B

De modo que:

(A ⊕ A) ⊕ B = 0 ⊕ B = B; a operação XOR é, então, reversível, o que a torna muito utilizada em algoritmos criptográficos.

Exemplos de Operações lógicas bit-a-bit

Sejam os valores binários 1001 e 0101:

Operações Lógicas AND, OR e XOR

Assista agora ao vídeo com as explicações sobre operações lógicas em criptografia:

Sobre Fábio dos Reis (1339 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*