Académique Documents
Professionnel Documents
Culture Documents
Objetivo:
4.1.2.
Teoria Introdutria:
aqueles que permitem o uso de chaves com tamanho varivel. Chaves com
tamanhos maiores so muito mais difceis para um intruso descobrir do que
as chaves menores, porque existe uma possibilidade muito maior de
combinaes a serem testadas durante um possvel ataque de fora bruta ou
ataque de tentativas de chaves.
-
4.1.2.1.
mltiplos
estgios
tanto
TRANSPOSIO.
2-80
de
SUBSTITUIO
como
de
4.1.2.2.
4-80
ROT13: Este algoritmo um dos mais simples utilizados. Ele usado para,
entre outras coisas, tornar invisveis as piadas em vrios grupos de Usenet. O
algoritmo de criptografia ROT 13 no possui chave, o que o torna bastante
vulnervel ou pouco seguro;
4.1.2.4.
7-80
Em maio de 1973, a primeira chamada foi emitida pelo NBS para algoritmos candidatos
ao padro especificado. No foi obtido sucesso desta feita, pois muitos dos algoritmos
8-80
O algoritmo Lucifer, projetado por Horst Feistel para a IBM, no incio da dcada de 70,
baseia-se exatamente na proposta de Shannon, sobre uso de transformaes mistas de
substituies e transposies.
O Lucifer , portanto, uma cifra-produto em bloco de 128 bits, com chave de 128 bits.
J o DES ficou com tamanho de bloco de 64 bits e com chave efetiva de 56 bits.
As operaes de transposies no Lucifer so implementadas em forma de caixas P
(Permutao), ao passo que as substituies so efetuadas por caixas S (Substituio),
conforme ilustrado na figura 4.1-2 a seguir.
10-80
11-80
Por seu turno, as operaes de substituies, feitas pelas caixas S, que so chaveadas,
implementam a Confuso.
As aplicaes sobre os bits do bloco em claro, de sucessivas e alternadas operaes de
transposio e substituio, sob o controle dos bits da chave, iro produzir um bloco
cifrado de bits, que no podero ser deduzidos dos bits em claro, sem o conhecimento
de todas as operaes e da chave envolvida.
A operao inversa, que vem ser a decifrao, efetuada submetendo-se o bloco de
dados cifrados, de volta pelo processo, usando-se o inverso de cada caixa S, de
substituio.
Portanto, o Lucifer, originador do DES, tinha sua segurana baseada em uma srie de
operaes complexas de substituies, interpoladas por transposies, bem como no
segredo da chave criptogrfica utilizada.
Durante alguns meses aps a sua apresentao como candidato ao padro, o algoritmo
Lucifer foi submetido a uma rigorosa e exaustiva anlise pelo NBS, juntamente com a
NSA, visando obviamente levantar suas boas caractersticas, bem com suas possveis
fraquezas, com o objetivo, pelo menos oficialmente, de adequ-lo s exigncias e tornlo mais seguro.
Tal trabalho deve ter sido facilitado pelo fato de o Lucifer, naquela ocasio, j ser
conhecido publicamente, e mesmo j ter sido alvo de vrios trabalhos de anlise.
Na ocasio, o NBS e a IBM entraram em acordo respeito da propriedade intelectual e
permisso de fabricao, implementao e venda do algoritmo nos Estados Unidos, para
outras entidades interessadas .
Em agosto de 1975 foi publicado uma minuta (draft) do padro proposto, aps as
modificaes efetuadas sobre o Lucifer. Vrias discusses surgiram nos 18 meses
seguintes, com respeito aos detalhes de implementao e, tambm, quanto a aspectos de
segurana.
Em 23 de Novembro de 1976, o algoritmo foi adotado como padro federal, e
publicado, em 15 de janeiro de 1977, com o nome de Data Encryption Standard - DES,
na FIPS PUB 46 (FIP461).
12-80
14-80
CHAVE DE 56-bit
FUNO DE
PERMUTAAO 1
PERMUTAAO INICIAL
Sub-Chave 1
ESTGIO 1
Sub-Chave 2
ESTGIO 2
Sub-Chave 16
ESTGIO 16
FUNO DE
PERMUTAO 2
TROCA CIRCULAR A
ESQUERDA
FUNO DE
PERMUTAO 2
TROCA CIRCULAR A
ESQUERDA
FUNO DE
PERMUTAO 2
TROCA CIRCULAR A
ESQUERDA
INVERSO DE 32-bit
INVERSO DA
PERMUTAO INICIAL
17-80
Nota-se que para aplicao da transformao do estgio 1, o bloco de bits T0, resultante
da aplicao de IP em T, dividido em dois conjuntos de mesmo nmero de bits, isto ,
32 bits:
L0 (left), que vem a ser o sub-bloco esquerdo de T0;
R0 (right), que o sub-bloco direito de T0.
De modo geral, sendo Ti o bloco de bits de entrada no i-simo estgio, tem-se que:
Ti = (Li) concatenado com (Ri), ou seja:
Li = Ti1 Ti2 . . . Ti32 , e Ri = Ti33 Ti34 ... Ti64,
onde Tij oj-simo bit de Ti
Li = Ri-1
Ri = Li-1 + f (Ri-1, Ki)
Estes sub-blocos de bits, Li e Ri, interagem com a funo f e com bits da chave, por
ocasio do i-simo estgio, conforme mostra a figura 1.4, e ento so invertidos para a
formao do prximo bloco, Ti+1 a dar entrada na rodada seguinte.
Aps a 16 aplicao da funo f no ocorre a inverso de sub-blocos, sendo que as
metades da direita e da esquerda ficam trocadas, e a entrada para a Permutao Final
ser:
T16 = (R16) concatenado com (L16).
Este esquema o que vai permitir a decifrao, quando os operaes vo ocorrer de
maneira inversa, com a sada se transformando em entrada e vice-versa, e com os blocos
de 48 bits da chave sendo usados na ordem inversa.
Descrio da Funo Cifra (f)
18-80
Operao Seleo E (de expanso), que recebendo como entrada o bloco Ri1 de 32 bits, produz uma sada de 48 bits.
Conjunto de operaes de Seleo S (de substituio), as chamadas "Sboxes", que convertem o resultado de 48 bits da operao anterior (soma
mdulo-2) em um resultado de 32 bits, realizando, portanto, uma
compresso.
19-80
A primeira operao da funo-cifra uma expanso (Seleo E), realizada por uma
tabela de seleo de bits, mostrada na figura a seguir, que utilizada de maneira
semelhante s tabelas de permutao inicial e final (figura 1.5). O bloco de 32 bits R i -1
expandido, se transformando em um bloco de 48 bits.
20-80
22-80
O valor de Sj (Bj), isto , o sub-bloco de 4 bits na sada da matriz Sj, vem a ser a
representao em 4 bits do inteiro que se encontra na interseo da linha e da coluna
selecionadas.
O bloco resultante na sada do conjunto de caixas de substituio formado pela
concatenao dos 8 sub-blocos de 4 bits, os Sj ( Bj ).
23-80
Pela operao de permutao P, os bits da sada sero respectivamente iguais aos bits de
nmeros 16, 7, 20, 21, . . . , 22, 11, 4 e 25 do bloco de entrada, que vem a ser, por sua
vez o resultado da operao das substituies ("S-boxes").
Portanto, o resultado final ou bloco de 32 bits de sada da funo-cifra ( f ) obtido por:
P ( S1 ( B1 ) . . . S8 ( B8 ) ). Este resultado ser somado (mdulo-2), dentro de cada
uma das 16 rodadas do algoritmo do DES, com um bloco de 32 bits, Li-1, conforme
apresentado na figura 4.
Clculo de Sub-Chaves
Pela descrio do algoritmo do DES, conforme as figuras 1.4 e 1.6, cada i-simo estgio
usa uma sub-chave diferente de 48 bits, Ki, derivada da chave inicial K, atravs de
operaes de permutao, seleo e deslocamento. O esquema para a derivao das
chaves Ki apresentado na figura 7.
Inicialmente tem-se a chave K de 64 bits. Numerando-se os bits de K de 1 a 64, da
esquerda para a direita, verifica-se que existem 8 bits de paridade, que so exatamente
aqueles correspondentes s posies 8, 16, 24, 32, 40, 48, 56 e 64.
Estes bits de paridade no sero usados para a derivao das chaves Ki, e, portanto, o
esquema de clculo das mesmas utilizar o bloco constitudo dos seguintes bits da chave
inicial K: 1 a 7; 9 a 15; 17 a 23; 25 a 31; 33 a 39; 41 a 47; 49 a 55; e 57 a 63.
24-80
25-80
26-80
27-80
Efeito Avalanche
Uma propriedade bastante desejada de qualquer algoritmo de criptografia que uma
pequena mudana tanto no texto claro quanto na chave deveria provocar uma mudana
significativa no texto cifrado. Em particular, uma mudana em apenas um bit do texto
claro ou um bit da chave deveria produzir uma mudana em muitos bits no texto
cifrado. Se as mudana na sada fossem pequenas isto poderia fornecer aos hackers uma
maneira de reduzir o nmero de chaves a serem procuradas num ataque de fora bruta.
Para o caso especfico do DES, verificar-se que o mesmo exibe um forte efeito
avalanche.
Como exemplos do efeito avalanche no DES tomem-se os resultados conseguidos por
KONHEIM no livro Criptography: a Primer, New York: Wiley, 1981. Para dois
textos plenos que diferem apenas num bit e sendo criptografados com a mesma chave.
As duas primeiras colunas da esquerda da tabela 1.1 a seguir mostram o nmero de bits
modificados do texto claro original a cada passo do DES. O texto claro e a chave
utilizados apresentavam a seguinte seqncia de bits abaixo:
TEXTO CLARO
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
TEXTO CLARO MODIFICADO 1 bit
10000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
CHAVE
00000001 1001011 0100100 1100010 0011100 0011000 0011000 0011100 0110010
As duas colunas da direita da tabela tambm mostram as mudanas no texto claro
original para o caso de quando utiliza-se o mesmo texto claro mais duas chaves distintas
que diferem uma da outra por apenas um bit. O texto claro e as chaves utilizadas foram
os que esto mostrados a seguir:
TEXTO CLARO
28-80
PASSO
21
14
35
28
39
32
34
30
32
32
31
35
29
34
42
40
10
44
10
38
11
32
11
31
12
30
12
33
13
30
13
28
14
26
14
26
15
29
15
34
16
34
16
35
29-80
Como pode-se constatar pela tabela 4.1-11 acima, mudanas dos bits ao longo dos
passos do DES para dois arquivos a serem cifrados que diferem apenas de 1 bit e
mudana para arquivos iguais com chaves que diferem tambm de 1 bit. Mais ou menos
a metade dos bits no texto cifrado diferem da seqncia de bits original da mensagem,
tanto para o caso da mudana no texto claro quanto para a mudana na chave. O que
comprova o existncia do desejado efeito avalanche no DES.
4.1.3.
Implementao Prtica
4.1.3.1.
Instalao do Aplicativo
Passo 1: O aluno dever obter, a partir do servidor FTP indicado pelo instrutor (utilizar
login anonymous), o arquivo des-linux_1_0.tar.gz que se encontra dentro no diretrio
des, gravando-o no diretrio /home/seguranca. Este arquivo dever ser descompactado,
procedimento este que resulta na criao de um subdiretrio /home/seguranca/deslinux, contendo um conjunto de arquivos criados automaticamente. O comando para
Observao: Feito o passo anterior, o aluno dever entrar no diretrio deslinux criado e verificar os vrios arquivos e diretrios criados com a extrao
e ler o arquivo README para poder ter uma idia melhor desta
implementao do DES.
Passo 2: Aps a leitura completa dos arquivos da implementao o aluno dever gerar o
conjunto de arquivos executveis a partir das rotinas que esto implementadas. Para
tanto, o aluno dever digitar de dentro do diretrio des-linux o seguinte comando no
prompt:
make
30-80
4.1.4.
Execuo
Passo 3: Aps voltar ao README para saber como se faz para executar o principal
aplicativo do pacote que o executvel des, o aluno poder cifrar o arquivo poder.doc
(obter este arquivo a partir do servidor FTP indicado pelo instrutor, no diretrio
arquivos, e consiste em um texto escrito em portugus com duas folhas de tamanho e
[arquivo_de_sada]
[arquivo_de_sada]
Passo 4: Para a parte que se refere a constatao do aumento da entropia o aluno dever
utilizar a rotina ocorr, que analisa qualquer arquivo e lista o nmero de ocorrncias de
todas as strings contidas neste. Esta rotina deve ser obtida a partir do servidor FTP
indicado pelo instrutor (utilizar login anonymous), no diretrio scripts e o aluno dever
copi-la para dentro do diretrio des-linux. Para executar esta rotina o comando a ser
dado no prompt :
./ocorr [nome_do_arquivo]
Estes arquivos podero ser visualizados de maneira mais conveniente pelo aluno se o
comando no prompt for como mostrado a seguir:
./ocorr [nome_do_arquivo] > [arquivo_de_sada]
31-80
Passo 5: Com os arquivos criados na etapa anterior, pede-se ao aluno verificar quais so
as 5 letras maisculas e as 5 letras minsculas com maior ocorrncia no texto
poder.doc. A partir desta constatao, pede-se para o aluno gerar um histograma numa
Passo 6: Partindo dos testes realizados na etapa anterior, pede-se ao aluno compactar os
arquivos poder.doc e poder.doc.des e verificar o que ocorre com seus tamanhos
atuais, quando comparados com os seus tamanhos originais. Ainda como parte desta
tarefa, pede-se ao aluno que gere atravs de um editor de texto do linux, por exemplo o
pico, um arquivo contendo 20 linhas somente com a string a e salvar este arquivo
com nome de a.txt. A seguir executar os procedimentos de cifrao e compactao
como descritos nos passos anteriores.
Passo 7: Agora o aluno ir trabalhar com uma figura em padro bitmap de 24 bits que
o arquivo vermelha.bmp, o qual deve ser obtido a partir do servidor FTP indicado pelo
instrutor (utilizar login anonymous), no diretrio imagens. Esta figura tem um crculo
vermelho simples pintado num fundo branco com o tamanho de 577 Kbytes. A seguir o
arquivo deve ser visualizado em algum visualizador de figuras do X-windows, como
por exemplo o ghostview.
Passo 8: Aps o procedimento descrito anteriormente, o aluno dever executar o
mesmo processo de cifrao da figura, mas desta vez executando o script retirar antes
de cifrar a figura, o qual deve ser obtido a partir do servidor FTP indicado pelo instrutor
(utilizar login anonymous), no diretrio scripts e que quando executado retira o
cabealho da figura. O comando a ser digitado no prompt do linux :
./retirar [arquivo bmp]
32-80
./visual [arquivo]
O que se deseja aqui que o aluno gere um arquivo com o nome de
teste.avalanche com apenas o caracter a, usando um editor do linux. Isto feito, o
33-80
Objetivo:
Teoria Introdutria:
canal seguro
canal
inseguro
DECIFRA
CIFRA
C
34-80
entidade pode mandar uma mensagem confidencial apenas utilizando a chave pblica
do receptor (que de conhecimento de todos), pois ela apenas poder ser decifrada com
a chave privada do seu recebedor (que de seu exclusivo conhecimento e est
armazenada em um local seguro). A figura 4.2-2 a seguir apresenta o funcionamento de
um sistema de criptografia assimtrica.
Chave
Pblica
(KP)
canal inseguro
canal
inseguro
Chave
Pblica
(KP)
Chave
Secreta
(KS)
DECIFRA
CIFRA
C
Figura 4.2-2 Sistema de criptografia assimtrica
36-80
RSA
Descrio do RSA
RSA [18] um sistema de criptografia de chave pblica utilizado para cifrao e
assinatura digital (autenticao) desenvolvido por Rivest-Shamir-Adleman, em 1977. A
sua segurana baseada na crena de que no h um mecanismo rpido de fatorao
numrica para nmeros inteiros grandes. O algoritmo RSA tinha patente nos Estados
Unidos, expirada em outubro de 2000. No existe patente em outros pases.
O procedimento de cifrao e decifrao utilizado pelo sistema RSA pode ser resumido
da seguinte maneira.
Primeiramente, se estabelece dois nmeros primos grandes (de preferncia com no
mnimo 128 dgitos decimais, de modo a obter um nmero de 512 bits) p e q, e calculase o mdulo n definido por: n = pq. Os fatores p e q devem ser mantidos em segredo, ou
serem destrudos.
37-80
38-80
seja possvel achar valores de e, d, n tais que Med = M mod n para todo
M < n;
De acordo com o corolrio do teorema de Euler assume-se que: para dois nmeros
primos p e q e que (n) seja a quantidade de inteiros positivos menor que n = pq e
relativamente primos a n, tem-se:
(n)=(p1)(q1)
Sendo assim, chega-se na relao
ed = k(n)+1
Isto equivalente a:
ed = 1 mod (n) e d = e-1 mod (n)
De acordo com as regras de aritmtica modular esta expresso s vlida se d e,
conseqentemente, e forem relativamente primos a (n). Sendo assim o mximo
divisor comum (mdc) entre (n) e d vale 1.
Resumindo, iniciando o algoritmo escolhe-se e e d de tal forma que:
d = e-1 mod (n)
Ento, segundo a lgebra linear:
39-80
ed = 1 mod (n)
Sendo assim, ed ser da forma
k(n)+1
De acordo, ento, com o corolrio do teorema de Euler, para dois nmeros primos, p e
q, e para os nmeros inteiros n = pq e M, com 0 < M < n, tem-se:
n = pq (calculado e pblico);
e, sendo mdc ((n),e) = 1; 1 < e < (n) (escolhido e pblico);
d = e-1 mod (n) (calculado e secreto)
que seja relativamente primo a (n) e menor que o mesmo, neste caso e=5. Determina40-80
se d menor que (n) pela relao ed=1 mod 96. O valor encontrado 77. Assim temse a chave pblica como KU={5, 119} e a chave privada KR={77, 119}.
Segurana do Sistema RSA
A segurana do sistema est na dificuldade de fatorar n em p e q. O algoritmo mais
rpido de fatorao, leva T = exp (sqrt ( ln(n) ln(ln(n)))) passos, onde ln denota o
logaritmo natural e exp seu inverso. Rivest, Shamir e Adleman recomendam nmeros
gerados aleatoriamente at um nmero b ser encontrado que seja provavelmente
primo.
A segurana do sistema depende ainda de duas suposies crticas:
A fatorao necessria para quebrar o sistema;
A fatorao intratvel computacionalmente, ou alternativamente, a fatorao
difcil e qualquer aproximao que possa ser usada para quebrar o sistema , no
mnimo, to difcil quanto a fatorao.
Para melhor proteo contra a fatorao, as seguintes precaues devem ser tomadas:
p e q devem diferir em comprimento por alguns poucos dgitos.
Tanto p-1 e q-1 devem conter fatores primos considerveis. Para encontrar um primo p
tal que p-1 tem um amplo fator primo, primeiro gera-se um primo aleatrio extenso p.
Ento gera-se p = i * p+ 1, para i = 2, 4, 6, ..., at p ser primo.
Simmons e Norris mostraram que o esquema pode ser quebrado sem fatorao se p e q
no so cuidadosamente escolhidos. Eles achavam que para certas chaves, recifrando
uma mensagem de texto cifrado algumas vezes restabelecia a mensagem de texto
comum original (texto claro). Claramente, este tipo de ataque vlido apenas se o texto
em claro restaurado num nmero razoavelmente pequeno de passos.
Quebrar o esquema RSA pode ser no mais difcil do que a fatorao, pois um
algoritmo
de
fatorao
rpido
automaticamente
fornece
um
procedimento
Vale ressaltar que este processo executado somente quanto h a necessidade de criar
um novo par de chaves criptogrficas. Uma vez determinados os nmeros primos p e q,
o processo de gerao de chaves completado com a seleo de um valor para e e
clculo de d, ou vice-versa.
O valor de e encontrado por meio do clculo:
MDC(f(n),e)=1, ento d=e-1mod f(n).
Felizmente, existe um algoritmo (algoritmo de Euclides) que calcula o MDC (Mximo
Divisor Comum) de dois inteiros e caso seja igual a 1, determina a inversa de um deles
mdulo do outro.
4.2.3.
Implementao Prtica
4.2.3.1.
Instalao do Aplicativo
Passo 1: O aluno dever obter, a partir do servidor FTP indicado pelo instrutor (utilizar
login anonymous), o arquivo rsa.tar.gz que se encontra dentro no diretrio rsa,
gravando-o no diretrio /home/seguranca. Este arquivo dever ser descompactado,
procedimento este que resulta na criao de um subdiretrio /home/seguranca/rsa,
contendo um conjunto de arquivos criados automaticamente. O comando para execuo
do processo de descompactao, a ser digitado no prompt do shell de comandos :
tar -zxvf rsa.tar.gz
-
Observao 1: Feito o passo anterior, o aluno dever entrar no diretrio deslinux criado e verificar os vrios arquivos e diretrios criados com a extrao
e ler o arquivo README para poder ter uma idia melhor desta
implementao do DES.
Passo 2: Aps a leitura completa dos arquivos da implementao o aluno dever gerar o
conjunto de arquivos executveis a partir das rotinas que esto implementadas. Para
tanto, o aluno dever digitar de dentro do diretrio ras o seguinte comando no prompt:
make.
-
Observao 2:
4.2.3.2.
Execuo
(1/P)
Resumindo, a sintaxe :
./genprim [ordem de grandeza do nmero] [P]
Inicialmente desejvel a gerao de um par de chaves, privada e pblica, pequeno.
Para isto necessrio a gerao de nmeros primos pequenos (com 5 e 6 dgitos
respectivamente).
Para a gerao do primeiro nmero primo (p), a sintaxe a seguinte:
./genprim 5 20 > num.primo.um
Para a gerao do segundo nmero primo (q), a sintaxe a seguinte:
./genprim 6 20 > num.primo.dois
-
os
seguintes
comandos:
cat
num.primo.um
Passo 4: Deve-se criar um arquivo juntando estes dois nmeros primos com um
separador entre eles, por exemplo, um #. Para isso, executa-se o seguinte comando:
echo # | cat num.primo.um num.primo.dois > num.primo.soma
-
Passo 5: Para a gerao das chaves privada e pblica, executa-se o programa ./genrsa.
Resumidamente sua sintaxe :
44-80
com
chave
pblica.
Verifique
resultado:
cat
chave.publica
Passo 6: Para a cifrar e decifrar um arquivo. Para a cifrao, digite o seguinte comando:
./rsaencode chave.publica < [arquivo de dados] > [arquivo
cifrado]
Para a decifrao:
./rsadecode chave_privada < [arquivo cifrado] > [arquivo de
dados]
-
./rsadecode
chave.privada
<
README.cifrado
>
README.decifrado
Compare o resultado obtido com o arquivo README.english original.
Passo 7: Faa uma anlise qualitativa da criptografia de um arquivo. Cifre o arquivo
a.txt (obter este arquivo a partir do servidor FTP indicado pelo instrutor, no diretrio
arquivos, que contem apenas a letra A) com a chave criptogrfica gerada acima. Em
seguida faa a medida de ocorrncia dos smbolos do arquivo cifrado, com o auxlio do
programa ocorr, que deve ser obtido partir do servidor FTP indicado pelo instrutor, no
diretrio scripts. A sintaxe do comando :
./ocorr [nome do arquivo] > [ arquivo de saida]
Passo 8: Uma forma de analisar a qualidade de um algoritmo de criptografia
observando o resultado da criptografia de uma imagem. Para realizar este teste, crie um
diretrio imagens dentro do diretrio /home/seguranca/rsa/. Copie os arquivos .bmp e
os scripts retirar e recompor a partir do servidor FTP indicado pelo instrutor, que se
encontram nos diretrios imagens e scripts, respectivamente. Vale a pena lembrar que
para se poder cifrar uma imagem, necessrio retirar o seu cabealho, informaes
sobre o tipo da imagem, paleta, dentre outros. Desta maneira, apenas o corpo da imagem
ser criptografado. Depois, basta recolocar o seu cabealho para possibilitar a sua
visualizao. Os scripts retirar e recompor realizam a funo de tirar e recolocar o
cabealho, respectivamente, para figuras bitmap.
-
46-80
de imagens. O prprio linux possui um, o GIMP, que pode ser acessado
graficamente. Compare a figura obtida com a sua original.
-
Passo 9: Todos os passos anteriores foram realizados para um par de chaves, pblica e
privada de poucos bits. Na prtica, no se utiliza o algoritmo RSA com chaves to
pequenas. Para se garantir uma segurana razovel, deve-se gerar nmeros primos da
ordem de 80 a 130 dgitos. Neste momento, repita os passos 3 at o 7, s que gerando
nmeros primos maiores, na ordem de 80, por exemplo.
-
47-80
48-80
Objetivo:
Teoria Introdutria:
MESSAGEM DE
TAMANHO
ARBITRRIO
FUNO
DE
HASH
VALOR DE HASH
COM UM TAMANHO
FIXO
Quantas pessoas tm que estar no mesmo quarto antes que se tenha 50% de
chance de que uma delas tenha data de aniversrio igual a sua? A resposta
183.
Quantas pessoas tm que estar no mesmo quarto antes que se tenha 50% de
chance de que duas delas tenham a mesma data de aniversrio? A resposta
surpreendentemente menor: 23.
Assim, quantos valores randmicos de hash de 64-bit voc tem que gerar
para encontrar um que resulte um hash para um valor particular? 264 ou
aproximadamente 1019 .
Quantos valores randmicos de hash de 64-bit voc tem que gerar para achar
dois que resultem um hash para o mesmo valor? 2 32.
Este o princpio. So projetadas funes de hash de uma s via de forma que seja
praticamente impossvel criar uma mensagem que resulte um hash de um valor
particular, ou criar duas mensagens diferentes que resultem um hash de um mesmo
valor. este o grande mrito de uma boa funo de hash. Pois, se A pudesse criar
50-80
duas mensagens que resultassem um hash de um mesmo valor, ela poderia criar uma
mensagem incua e pedir que B a assinasse e, com a outra mensagem incriminada
faria o que quisesse. Assim, B assinaria a mensagem incua e A poderia juntar a
assinatura de B mensagem incriminada.
Outra possibilidade tentar um ataque de fora bruta contra a funo de hash. Isso quer
dizer, poderamos gerar hashs de diversas mensagens, uma aps a outra, procurando
por uma mensagem que resultasse em um hash de um valor particular, ou duas que
resultem um hash de um mesmo valor. A taxa de sucesso deste ataque depende do
tamanho do valor de hash. Observe a tabela 4.3-1, a seguir:
Tamanho do Hash
Ano
64 bits
128 bits
160 bits
264 bits
1995
19 dias
38 dias
7000 anos
1018 anos
2000
2 dias
4 dias
700 anos
1017 anos
2005
4,7 horas
9 horas
70 anos
1016 anos
2010
28 minutos
1 hora
7 anos
1015 anos
2015
2,8 minutos
5,5 minutos
251 dias
1014 anos
2020
17 segundo
31 segundos
25 dias
1013 anos
2025
1,7 segundos
3,1 segundos
2,5 dias
1012 anos
2030
0,2 segundos
0,3 segundos
6 horas
1011 anos
51-80
futuro e todas assumem ainda que um hacker poder gastar 1 milho de dolres.
Estimativas futuras assumem que o poder computacional de hardware e de software
aumentem em um fator de 10 a cada 5 anos. Pode-se adquirir qualquer um deles dez
vezes mais rpidos ou dez vezes mais baratos.
Outra aplicao das funes de hash na gerao de linhas de base para um sistema
operacional. Isto , a gerao de um arquivo contendo uma listagem de todos os
programas e arquivos existentes logo aps uma instalao nova. Estas linhas de base, se
armazenadas off-line, so extremamente teis para a localizao de programas
adulterados com backdoors por invasores.
4.3.2.1.
SHA
O SHA o Algoritmo de Hash Seguro, Secure Hash Algorithm,, uma funo de hash de
uma s via inventada no NSA. Ele produz um valor de hash de 160-bit a partir de um
tamanho arbitrrio da mensagem. Os funcionamentos internos do SHA so bem
parecidos com os do MD4. Atualmente, no existe alguma forma conhecida de ataque
criptoanaltico contra o SHA com exceo do ataque de fora bruta. E seu valor de 160bit faz do ataque de fora bruta ineficiente. claro que no existe alguma prova que
algum no possa entender como quebrar o SHA.
4.3.2.2.
Histrico
Este algoritmo foi desenvolvido pelo NIST, National Institute of Standards and
Technology, e foi publicada como um FIPS, Federal Information Processing Standard
em 1993. Mais precisamente o SHA foi conhecido como o FIPS PUB 180. Em 1995,
esta publicao foi revisada e ganhou a identificao de FIPS PUB 180-1 a qual
conhecida genericamente como SHA-1. O SHA baseado no algoritmo do MD4 e o seu
projeto se assemelha muito ao do MD4.
Algoritmo
O algoritmo toma uma mensagem de entrada com o tamanho mximo menor do que 264
bits e produz na sada uma mensagem resumida ou message digeste com o tamanho
de 160 bits.
52-80
B = EFCAD89
C = 98BADCFE
D = 10325476
E = C3D2E1F0
53-80
Palavra A
Palavra B
Palavra C
Palavra D
Palavra E
67 45 23 01
EF CD AB 89
98 BA DC FE
10 32 54 76
C3 D2 E1 F0
Kt = 5A827999
[ 230 x 2 ]
20 t 39
Kt = 6ED9EBA1
[ 230 x 3 ]
40 t 59
Kt = 8F1BBCDC
[ 230 x 5 ]
60 t 79
Kt = CA62C1D6
[ 230 x 10 ]
54-80
f1, K, W [0...19]
20 passos
f2, K, W [20...39]
20 passos
f3, K, W [40...59]
20 passos
f4, K, W [60...79]
20 passos
+ + + + +
CVq+1 de 160 bit ou
Mensagem Resumida
A sada do quarto estgio soma da entrada do primeiro estgio CVq para produzir o
valor de CVq
+ 1
55-80
4.3.2.5.
A Sada
Depois que todos os blocos de 512 bits da mensagem so processados, a sada do ltimo
estgio ser a mensagem resumida ou message digest de 160 bit.
Em resumo, pode-se dizer que o comportamento do SHA-1 :
CV0 = VI
CVq+1 = SOMA32 (CVq, ABCDEq)
MD = CVfinal
Onde:
VI = Valor inicial do buffer dos registradores A,B,C,D e E
ABCDEq = sada do ltimo passo aps processar o bloco de mensagem q.
L= o nmero de blocos da mensagem incluindo o enchimento e os campos de tamanho,
ou seja, a mensagem em si.
SOMA32 = Mdulo adicional de 232 executado separadamente para cada par de palavras
em sua entrada
MD = Mensagem final Resumida ou Message Digest.
4.3.2.6.
56-80
ft
S5
S30
Wf
Kf
Onde:
A , B, C, D, E = As palavras do buffer.
t = nmero do passo (0 t 79).
f(t, B, C, D) = Funo lgica Primitiva para o passo t.
Sk = Deslocamento circular a esquerda (rotao) do argumento de 32 bit por k bits.
Wt = Uma palavra de 32 bit derivada do bloco de entrada de 512 bit corrente.
Kt = Constante aditiva - quatro valores distintos so usados, como j definido
anteriormente.
+ = Mdulo de 232 somador
Cada funo primitiva toma trs palavras de 32 bits como entrada e produz uma palavra
de 32 bits como sada. Cada funo executa um conjunto de operaes lgicas
inteligentes, isto , o n-simo bit de sada funo dos n-simos bits das trs entradas.
A tabela abaixo apresenta o sumrio das funes:
57-80
Passo
0 t 19
f1 = f(t, B, C, D)
(B C) (B D)
20 t 39 f2 = f(t, B, C, D)
BCD
40 t 59 f3 = f(t, B, C, D)
(B C) (B D) (C D)
60 t 79 f4 = f(t, B, C, D)
BCD
Observando a tabela acima, nota-se que apenas trs das funes so diferentes. Para 0
t 19, a funo uma funo condicional, ou seja, se for B ento fica sendo C, caso
contrrioser D. Para 20 t 39 e 60 t 79, a funo uma funo de paridade de
bit. Para 40 t 59, a funo ser verdadeira se dois ou trs do argumentos so
verdadeiros. A tabela 4.3-7 mostra a tabela verdade para todas estas funes:
f0..19
f20..39
f040..59
f60..79
Yq
W0
W1
...
W15
W16
W8 W13
Wt -16
Wt-14 Wt -
Wt - 3
XOR
XOR
XOR
S1
S1
S1
...
Wt
...
W79
59-80
4.3.2.7.
4.3.3.
Implementao Prtica
4.3.3.1.
Instalao do Aplicativo
Passo 1: O aluno dever obter, a partir do servidor FTP indicado pelo instrutor (utilizar
login anonymous), o arquivo sha_tar.gz que se encontra dentro no diretrio sha,
gravando-o no diretrio /home/seguranca. Este arquivo dever ser descompactado,
procedimento este que resulta na criao de um subdiretrio /home/seguranca/sha,
contendo um conjunto de arquivos criados automaticamente. O comando para execuo
do processo de descompactao, a ser digitado no prompt do shell de comandos :
tar zxvf sha_tar.gz
-
Passo 2: Aps a leitura completa dos arquivos da implementao o aluno dever gerar o
conjunto de arquivos executveis a partir das rotinas que esto implementadas. Para
tanto, o aluno dever digitar de dentro do diretrio sha o seguinte comando no prompt:
make
-
4.3.3.2.
Execuo
Passo 3: Aps voltar ao README para saber como se faz para executar o principal
aplicativo do pacote que o executvel ./sha, o aluno dever gerar uma funo hash
dos arquivos tico.doc e linux-2.2.0.tar.gz. Estes arquivos podero ser obtidos a partir
do servidor FTP indicado pelo instrutor (utilizar login anonymous), no diretrio util e o
61-80
aluno dever copi-los para dentro do diretrio rsa. Para gerar a funo o comando a
ser dado no prompt :
./sha [arq_de_onde_se_quer_o_hash] > [arq_de_sada]
Passo 4: Uma outra tarefa para este laboratrio, seria o aluno editar o arquivo a.txt, o
mesmo usado no experimento do DES, e fazer algumas alteraes acrescentando mais
linhas no prrpio arquivo e salv-lo como a1.txt. Logo aps o aluno poder gerar a
funo hash para os arquivos a.txt e a1.txt e direcionar seus arquivos de sada para um
arquivo com o nome a sua escolha.
62-80
4.4. PGP
4.4.1.
Objetivo da Experincia:
Este captulo trata da instalao e utilizao de uma ferramenta, PGP Pretty Good
Privacy, que tem como objetivo autenticar e criptografar mensagens.
Neste captulo o aluno ser habilitado a:
Entender o funcionamento da ferramenta e simular todos os passos de
autenticao e criptografia de mensagens;
Implementar troca de mensagens seguras entre os alunos, realizando um
intercmbio de chaves que permitir cifrar e decifrar mensagens; e
Verificar assinaturas eletrnicas.
4.4.2.
Teoria Introdutria:
Uma pergunta que fomentada pelas pessoas que se utilizam de recursos eletrnicos em
suas reas fins, de como manter a privacidade, a confidencialidade e a integridade da
informao. Apesar de no mundo computacional, a maioria das pessoas no
expressarem tal preocupao, o problema existe. O PGP, ferramenta que ser explorada
neste captulo, considerada por especialistas como uma das solues viveis, e ainda
de fcil implementao. Uma documentao mais detalhada poder ser encontrada na
pgina principal do PGP International Home Page http://www.pgpi.com.
Toda mensagem possui um cabealho, e neste que a maioria dos ataques so
investidos. Atualmente, qualquer pessoa pode alterar o contedo de um cabealho,
alterando por exemplo, a identidade do emissor da mensagem. Programas de segurana
de e-mail podem garantir, ou autenticar, que uma certa mensagem de fato da pessoa de
quem o nome aparece na linha "From". Isto algumas vezes conhecido como
autenticao de dados da origem, ou comumente conhecida como, assinatura digital.
63-80
4.4.2.1.
Assinatura Digital
Alm de codificar chaves, o algoritmo de chave pblica RSA pode ser tambm usado
para gerar assinaturas digitais. As matemticas so as mesmas quando se utiliza o RSA
para administrao de chaves ou assinaturas digitais: existe a chave pblica e a chave
privada, e a segurana do sistema est baseado na dificuldade de fatorar nmeros
grandes.
O DSA, Digital Signature Digital, um algoritmo de chave pblica, mas s pode ser
usado para assinaturas digitais. Quando o padro foi primeiramente proposto, o tamanho
da chave era de 512 bits, considerado para as condies de segurana de hoje, muito
pequeno. O padro final permite chaves de at 1024 bits.
O DSA obtm sua segurana do problema de logaritmo discreto. A matemtica muito
diferente do RSA, mas a segurana semelhante para chaves semelhantes em tamanho.
Embora excees sejam teoricamente possveis, provvel que qualquer grande avano
na quebra do RSA tambm implique em um avano semelhante na quebra do DSA, e
vice-versa. No existe nenhuma vantagem na segurana usando um algoritmo sobre o
outro. Ocasionalmente, comparaes entre a velocidade e eficincia entre os dois
algoritmos so publicadas. No surpreendentemente, os publicados pela Industria RSA
de Segurana de Dados mostram que o RSA melhor que o DSA e os publicados pelo
NIST mostram que o DSA melhor que o RSA. Com o RSA, leva-se mais tempo para
65-80
assinar uma mensagem que verificar uma assinatura. Com o DSA, ambas operaes de
assinatura e de verificao levam a mesma quantia de tempo.
O maior problema de usar criptografia de chave pblica para cifrar a mensagem so os
algoritmos de chave pblica que so incmodos e complicados e demoram para assinar
uma mensagem inteira. Uma forma de tentar contornar este problema para os programas
de segurana de correio eletrnico so utilizarem uma impresso digital (fingerprint) do
documento e assinando aquela impresso.
Esta funo de fingerprinting chamada uma funo de hash unidirecional. Uma
funo de hash unidirecional pega um tamanho arbitrrio da mensagem e produz uma
impresso digital de tamanho fixo daquela mensagem. A impresso digital uma
funo matemtica nica da mensagem e grande o suficiente de forma que a chance de
duas mensagens diferentes terem o mesmo valor de hash astronomicamente pequeno.
Assim, o programa de segurana de correio eletrnico utiliza uma funo de hash
unidirecional para gerar um hash do documento a ser assinado e, desta forma, utiliza um
algoritmo de assinatura digital para criptografia de chave pblica para assinar o valor de
hash, que bem menor que a mensagem, na maioria das vezes.
Um exemplo prtico deste procedimento, seria um emissor estar usando MD5 como
uma funo de hash unidirecional e o RSA para assinaturas digitais. A seguir, ser
mostrado todos os passos da mensagem enviada do emissor para o receptor.
-
66-80
O receptor poder ler a mensagem sem fazer qualquer esforo, porm o receptor
precisa verificar se a assinatura de quem originalmente enviou, o emissor. A seguir
ser mostrado todos os passos que o receptor dever fazer para verificar a assinatura de
um mail eletrnico.
-
Isto poderia parecer um procedimento complicado, mas cabe lembrar que programas de
segurana, como o PGP, cuidam destes detalhes. Tudo que o emissor tem que fazer
indicar que deseja enviar uma mensagem assinada. O PGP gera o valor de hash
unidirecional, assina o hash, concatena a mensagem e o hash juntos e envia a tudo ao
receptor. J no receptor, o PGP faz a operao inversa e de verificao facilmente.
A cifrao prov segurana e confidncia, e assinaturas digitais provem prova de
autenticidade e de origem. No existe nenhuma razo para que no se possa usar ao
mesmo tempo, cifrao e assinaturas digitais. O PGP exerce papel fundamental nestas
tcnicas, tanto a cifrao como a assinatura digital so quesitos imprencindveis na
segurana contra espionagem e adulterao.
No PGP, as chaves pblicas so guardadas em certificados de chaves individuais, que
incluem: o user ID do proprietrio da chave, o fuso horrio de quando o par de chaves
foi gerado e os dados atuais da chave.
67-80
Os certificados das chaves pblicas contm os dados da chave pblica, enquanto que os
certificados da chave secreta contem os dados da chave secreta. Cada chave secreta
tambm cifrada com sua prpria senha, em caso de ser roubada. Um arquivo de
chaves ou "anel de chaves" contem um ou mais desses certificados de chaves. Anis de
chaves pblicas contem certificados de chaves pblicas e anis de chaves secretas
contem certificados de chaves secretas.
As chaves tambm so internamente relacionadas por uma "Chave de ID" (Chave de
Identificao), que uma "abreviao" da chave pblica (os primeiros 64 bits
significativos da grande chave pblica). Quando esta chave de ID exibida, so
mostrados, por um curto perodo de tempo, apenas os 32 bits mais baixos. Enquanto que
muitas chaves podem dividir o mesmo user ID, duas chaves no dividem a mesma
chave de ID.
Os anis de chaves publicas e os anis de chave privada constituem o mtodo principal
de armazenamento e de administrao das chaves pblica e secreta. Melhor do que
manter chaves individuais em arquivos separados de chaves, estas so agrupadas em
anis de chave para facilitar a verificao automtica das chaves, seja pela chave de ID,
seja pelo user ID. Cada usurio possui seu prprio par de anis de chaves. Uma chave
pblica individual temporariamente mantida em arquivo separado at que seja enviada
a algum, que ir ento adicion-la a seu anel de chaves.
4.4.2.3.
O emissor quer enviar uma mensagem segura para o receptor, codificada e assinada (de
fato, o software de segurana de correio eletrnico dele passa por este processo. a maior
parte deste processo transparente.) Eis o que acontece:
-
Emissor assina o valor de hash com a sua assinatura (a sua chave privada
colocada usando um algoritmo de assinatura digital, como o RSA.)
68-80
Emissor gera uma chave cifrada randmica a ser usada para codificar a
mensagem assinada.
4.4.2.4.
No outro lado, o receptor quer ler a mensagem do emissor. Antes que ele possa fazer
isso, o programa de segurana de correio eletrnico dele tem que passar pelo seguintes
passos:
-
receptor
separa
mensagem
codificada
da
chave
codificada
randomicamente.
-
Receptor
separa
mensagem
da
assinatura
do
emissor.
69-80
4.4.3.
Implementao Prtica
70-80
71-80
4.4.3.2.
Passo 9: O aluno dever obter, a partir do servidor FTP indicado pelo instrutor (utilizar
login anonymous), o arquivo pgp.2.6-i.tar.gz que se encontra dentro no diretrio pgp,
gravando-o no diretrio /home/seguranca. Este arquivo dever ser descompactado,
procedimento este que resulta na criao de um subdiretrio /home/seguranca/pgp,
contendo um conjunto de arquivos criados automaticamente. O comando para execuo
do processo de descompactao, a ser digitado no prompt do shell de comandos :
tar -zxvf pgp.2.6-i.tar.gz
-
Passo 10: Aps a leitura completa dos arquivos da implementao o aluno dever gerar
o conjunto de arquivos executveis a partir das rotinas que esto implementadas. Para
tanto, o aluno dever digitar de dentro do diretrio ras o seguinte comando no prompt:
make.
-
72-80
Passo 11: Para a obteno do arquivo de chave pblica para distribuio, o aluno dever
digitar o seguinte comando:
pgp -kxa
-
userID
Observao 4:
arquivo_de_chave
[anel de chave]
companheiro de grupo para que ele possa acrescentar a sua chave ao anel de
chave pblica (pubring) dele.
Passo 12: Para a atualizao do anel de chave pblica, o aluno dever obter o arquivo
de chave pblica do seu companheiro de grupo. Para isto o aluno dever digitar o
seguinte comando:
pgp -ka
arquivo_de_chave
[anel_de_chave]
Passo 13: Para assinar e cifrar uma mensagem o aluno dever executar o seguinte
comando:
pgp -es
arq_texto
userId_do_dest.
[-u seu_userID]
Passo 14: Para decifrar e verificar a assinatura, o aluno dever executar o seguinte
comando:
pgp
arq_de_texto_cdigo
[-o arq_de_texto_plano]
Passo 15: Com base na referncia do PGP em anexo a essa experincia, o aluno poder
fazer novos testes utilizando outras funes do PGP, tais como apenas cifrar, apenas
assinar, separar a assinatura da mensagem quando decifrar, etc...
73-80
arquivo_texto
userID_do_destinatrio
arquivo_texto
[-u seu_userID]
74-80
chave secreta que se encaixe, a utiliza para assinar o arquivo de texto plano "carta.txt",
produzindo um arquivo assinado chamado "carta.pgp".
Caso o aluno no coloque o userID, a primeira chave do seu anel de chave secreta
usada como padro para sua assinatura.
Para assinar um arquivo de texto plano ASCII com a chave secreta, produzindo uma
mensagem de texto plano assinada (no-cifrada) adequada para ser enviada via correio
eletrnico:
pgp -sta
arquivo_texto
[-u seu_userID]
Para assinar um arquivo de texto plano com a chave secreta e depois cifr-lo com a
chave pblica do destinatrio:
pgp -es
arq_texto
arquivo_texto
arq_de_texto_cdigo
[-o arq_de_texto_plano]
Supe-se que o nome do arquivo de texto cdigo tenha uma extenso padro do ".pgp".
O nome opcional do arquivo de sada do texto plano especifica onde colocar a sada do
75-80
arquivo_texto
userID1
userID2
userID3
Se voc no tiver um endereo eletrnico, use seu numero telefnico ou qualquer outra
informao que s sua, pois ajudaria a garantir que seu userID nico.
O PGP tambm pede uma "frase senha" para proteger sua chave secreta se por acaso
cair em mos erradas. Ningum pode usar seu arquivo de chave secreta sem esta frase
senha. Esta frase como uma senha, mas pode ser uma expresso completa ou uma
frase com muitas palavras, espaos, pontuao ou qualquer coisa mais que queira
colocar. No a perca pois no existe meio de recuper-la. Esta frase senha ser
necessria mais tarde, toda vez que usar sua chave secreta. Ela diferencia letras
maisculas de minsculas e no deve ser muito curta ou fcil de se adivinhar. Nunca
mostrada na tela. No a deixe escrita em qualquer lugar, onde algum mais pode v-la e
no a guarde em seu computador. Se no quiser uma frase senha, pressione apenas enter
quando for pedida.
O par de chaves pblica/secreta derivado de uma grande quantidade de nmeros
verdadeiramente aleatrios que, na verdade, so originados principalmente da medida
dos intervalos entre seus toques no teclado. O software pedir para voc entrar com um
texto aleatrio para ajud-lo a acumular alguns bits aleatrios para as chaves. Quando
pedido, dever digitar algumas teclas com intervalos de tempos razoavelmente
aleatrios entre si e isto no quebraria a formao dos caracteres reais que voc digita
ao acaso. Um pouco da aleatoriedade derivada da impreciso do contedo do que voc
digita. Assim, no digite apenas seqncias repetidas de caracteres.
O par de chaves gerado ser colocado nos anis de chaves pblica e secreta. Poder
mais tarde usar a opo de comando -kx para extrair (copiar) sua nova chave pblica do
seu anel de chave pblica e coloc-la num arquivo separado adequado para a sua
distribuio a seus amigos. O arquivo de chave pblica pode ser enviado para seus
amigos para a incluso em seus anis de chave pblica. Naturalmente, mantenha com
voc seu arquivo de chave secreta e inclua-o no seu anel de chave secreta. Cada chave
secreta em um anel de chave protegida individualmente com sua prpria frase senha.
Para acrescentar um contedo do arquivo de chave secreta ou pblica para seu anel de
chave pblica e secreta:
pgp -ka
arquivo_de_chave
77-80
[anel_de_chave]
Para extrair (copiar) uma chave do seu anel de chave pblica ou secreta:
pgp -kx
userID arquivo_de_chave
[anel de chave]
ou:
pgp -kxa
userID
arquivo_de_chave
[anel de chave]
O PGP copia, sem destruir, a chave especificada pelo userID do seu anel de chave
pblica ou secreta para o arquivo de chave especificado. Isto particularmente til se
quiser dar uma cpia da sua chave pblica para algum.
Se a chave tiver algumas assinaturas certificadas anexadas ao seu anel de chave, estas
so copiadas juntamente com a chave.
Para ver os contedos do seu anel de chave pblica:
pgp -kv[v]
[userID]
[anel_de_chave]
Para ver a "digital" de uma chave pblica, a fim de verific-la pelo telefone com seu
dono:
pgp -kvc
[userID]
[anel_de_chave]
[userID]
[anel_de_chave]
userID
[anel_de_chave]
userID
[anel_de_chave]
Para remover uma chave ou apenas um userID de seu anel de chave pblica:
pgp -kr
userID
[anel_de_chave]
Para assinar e certificar a chave pblica de algum no seu anel de chave pblica:
78-80
userID
[anel_de_chave]
seu_userID
Para invalidar ou reabilitar uma chave pblica em seu prprio anel de chave pblica:
pgp -kd
userID
Comandos Especiais:
Para decifrar uma mensagem e deixar intacta sua assinatura:
pgp -d
arquivo_de_texto_cdigo
arquivo_texto
[-u seu_userID]
arquivo_de_texto_cdigo
Opes de comandos que podem ser usados em combinao com outras opes
Para produzir um arquivo de texto cdigo no formato ASCII Base-64, apenas acrescente
a opo -a quando cifrar ou assinar uma mensagem ou extrair uma chave:
pgp -sea
arquivo_texto
pgp -kxa
userID
userId_do_destinatrio
ou:
arquivo_de_chave
[anel_de_chave]
Para apagar o arquivo de texto plano depois de produzir o arquivo de texto cdigo,
apenas acrescente a opo -w (wipe - destruir) quando cifrar ou assinar uma mensagem:
79-80
pgp -sew
mensagem.txt
userID_do_destinatrio
Para especificar que um arquivo de texto plano contem texto ASCII, no binrio, e que
deveria ser convertido de acordo com os padres locais de tela do destinatrio,
acrescente a opo -t (texto) junto as outras opes:
pgp -seat
mensagem.txt
userID_do_destinatrio
Para ver a sada do texto plano cifrado na sua tela (como o comando "more" do estilo
UNIX), sem escrev-lo em um arquivo, use a opo -m (mais) enquanto decifra:
pgp -m
arquivo_de_texto_cdigo
Para especificar que o texto plano decifrado do destinatrio ser mostrado SOMENTE
na tela dele e no poder' ser salvo em disco, acrescente a opo -m:
pgp -steam
mensagem.txt
userID_do_destinatrio
Para recuperar o nome original do arquivo de texto planto enquanto decifra, acrescente a
opo -p:
pgp -p
arquivo_de_texto_cdigo
Para usar um filtro do estilo UNIX, lendo da entrada padro e escrevendo para a sada
padro, acrescente a opo -f:
pgp -feast userID_do_destinatrio <arquivo_entrada >
arquivo_sada
80-80