Página 1 de 2

Criptografia

Enviado: 09 Nov 2007 11:09
por Roberto Carlos Bett
Srs. nunca precisei de criptografia, mas estou precisando agora e baixei o programa modelo deste site.
Mas agora minha pequenina cabeça naum entende uma coisa..
O texto retornado criptografado e que é mostrado na tela eu estou gravando em um arquivo DBASE e blz. esta perfeito em seguida transforme este mesmo arquivo em texto e ai o codigo gerado se transforma>???

Pq. isto ocorre.??
:P

Enviado: 09 Nov 2007 11:24
por Maligno
Bem-vindo ao fórum. :)

Que programa foi esse que você baixou?

Dependendo do algoritmo utilizado, você informa uma senha e um dado fonte e o resultado é um amontoado de código binário. Normalmente é binário, mas nem sempre precisa ser assim. O resultado poderia ser texto imprimível. Na reversão, a mesma senha e o dado criptografado. Como resultado, o dado original. Só não entendi exatamente qual é a sua dúvida a respeito. Você não está conseguindo obter o dado original íntegro de volta?

Enviado: 09 Nov 2007 14:21
por Roberto Carlos Bett
Cara,

eu baixei as funcoes na Secao/Dowload/Funcoes e Programas do site www.pctoledo.com.br

CRIPTOGRAFIA

Este programinha exemplo gera um codigo criptografado de uma string digitada na tela, eu fiz ele gravar em um arquivo DBF o resultado dessa
string ja criptografada.

Bem ai vou no DBASE e edito o arquivo, esta la gravado a string criptografada como apareceu na tela. Mas ai pego este mesmo arquivo e copio com COPY XXXX SDF e vou lah editar um meu arquivo TXT e a string nao eh mais a mesma que esta no arquivo DBASE e na tela , parece que ele converte pra outros caracteres..

Enviado: 09 Nov 2007 14:32
por Maligno
Me corrija se eu estiver errado: após a gravação do DBF dentre os caracteres criptografados existem vários caracteres ilegíveis, não é? Se for isso, no COPY do DBASE pode estar se confundindo com esses caracteres, talvez até ignorando-os.

Nunca usei COPY. Por isso não sei se há alguma restrição nesse sentido. Aliás, o campo caractere do DBF foi concebido (na época do guaraná com rolha) para armazenar caracteres legíveis. Ou seja, aqueles cujo código ASCII está acima do 32 e abaixo do 127. Fora desse espectro é considerado binário. O ideal, ainda levando em conta que meu pensamento está correto, seria converter o binário para ASCII legível antes da gravação. Aí existem algumas soluções: UUENCODE, BASE64, etc. Mas isso é uma outra história. :)

Inclusive, justamente pelo fato de caracteres binários terem esse problema, todo eMail é transformado em texto puro, mesmo que nele existam anexos binários. Por isso, se for UUENCODE, o anexo de eMail aumenta exatamente 1/3 de tamanho.

Enviado: 09 Nov 2007 15:51
por alaminojunior
Veja só:

cString:= "VARIAVEL" // Texto legivel

cString:= Crypt(cString,"qualquerlixoparamascararaavariavel") // transforma "VARIAVEL" para um monte de coisas que só Deus sabe.

Para se ter acesso de volta ao conteudo original, tem de reverter, escrevendo a mesma coisa:

cString:= Crypt(cString,"qualquerlixoparamascararaavariavel") // Converte para o conteudo original, ou seja "VARIAVEL"

Agora, se depois de tudo isso não conseguir, é devido a limitação que o nosso amigo Maligno postou aí em cima.

Enviado: 09 Nov 2007 16:59
por Maligno
Acho que o problema do colega não foi com a reversão em si, mas com o que aconteceu depois do COPY. Além do quê, eu não tenho certeza se realmente existe esse problema com COPY. Nunca usei este comando. Estou apenas "ventilando" possibilidades. :)

Enviado: 10 Nov 2007 11:09
por rochinha
Amiguinhos

A duvida exposta é pertinente e levanta a lebre da segurança destes dados criptografados e copias ou backups que podem para de funcionar ou coisa parecida.

Por isto, já vou ficar experto em relação as minhas formas de criptografias e verificar a possibilidade de perdas.

Enviado: 13 Nov 2007 00:59
por Stanis Luksys
alaminojunior escreveu:cString:= Crypt(cString,"qualquerlixoparamascararaavariavel") // transforma "VARIAVEL" para um monte de coisas que só Deus sabe.

cString:= Crypt(cString,"qualquerlixoparamascararaavariavel") // Converte para o conteudo original, ou seja "VARIAVEL"
Acho estranho que se use a mesma função para criptografar e descriptografar. Talvez exista um parâmetro a mais aí, para que a função saiba quando vai e quando vem... heeh

Falou!

Enviado: 13 Nov 2007 02:00
por Maligno
Alguns algoritmos de criptografia são bidirecionais. Desculpe, me escapa o termo correto no momento. Mas é +\- isso. :)

Exemplo simples: ROT13. Ele faz uma rotação, conforme a tabela ASCII. Na primeira passada, criptografa. Na segunda, recupera o original.

Re: CRIPTOGRAFIA

Enviado: 25 Ago 2008 22:39
por alaminojunior
Ressuscitando o tópico......

Resolvi fazer uns testes, encriptando um campo do dbf, com a Crypt da CATools. O campo fica todo o tempo encriptado, e a informação só é desencriptada no momento da exibição, seja onde for. E na inclusão de registros, faz-se o contrário, óbvio.
Até onde a vista alcança, não houveram erros.
Agora pergunto: Essa criptografia usada pela Crypt() é de certa forma, no que diz respeito à privacidade, confiável ?
O que os colegas acham ?
Interessante que não afetou a velocidade.
É a minha SIX !!! :)Pos


Tem gente que vai ficar P da vida !!! :|<

Re: CRIPTOGRAFIA

Enviado: 26 Ago 2008 00:06
por Maligno
No seu lugar eu não me preocuparia tanto com a questão da confiabilidade, uma vez que há uma chave a ser informada, e com base nela, é feita uma "mistura". Sem essa chave até se poderia fazer um ataque de força bruta, mas o indivíduo, primeiro, teria de saber que algoritmo utilizar. Daí a dificuldade aumenta. Se o atacante for, por exemplo, um programador que leu esse tópico, ele já saberá que algoritmo você utilizou, mas ainda assim, como a chave é alguma coisa qualquer, sem tamanho fixo (escolha algo extenso), já vai dificultar bastante o trabalho. Sem falar que há de se levar em conta o real ganho em decifrar esses campos. O sujeito tem que ganhar bem pra se dispor a dedicar um tempo pra fazer isso. Em suma: se você estiver guardando nesses campos os resultados futuros da MegaSena, vá lá. Fora isso,... :)

Re: CRIPTOGRAFIA

Enviado: 26 Ago 2008 13:12
por alaminojunior
se você estiver guardando nesses campos os resultados futuros da MegaSena, vá lá. Fora isso,... :)
Não chega a ser o resultado da megasena. É o resultado de alguns anos de trabalho.
E, em se tratando de um concorrente meu aqui, que se digna a abordar o cliente lojista, enquanto este, está na cadeira do dentista com a boca aberta .... . É preciso se defender de alguma forma.

Enviado: 26 Ago 2008 16:21
por Maligno
Então caímos naquela suposição que levantei: o possível atacante é da área. Portanto, se ele conhece Clipper, é bem provável que conheça a CATools. Então, pra melhor se resguardar, talvez seja mais interessante criar seu próprio algoritmo de criptografia. Se ele for tentar um ataque de força bruta não saberá que algoritmo foi utilizado. Daí sua segurança aumenta consideravelmente.

Re: CRIPTOGRAFIA

Enviado: 01 Set 2008 12:56
por labaroazul
Olá, amigos do Fórum! :xau

Desculpem se tento pegar o bonde andando. Essa função a que vocês se referem grava cada campo do registro na base de dados criptografado e, depois, precisa ser chamada para "deciptar" o dado desse campo para exibí-lo? É isso? Rapaz, que trabalhão!

Será que existe alguma função que criptografe a base de dados inteira e "descriptografe" a base de dados inteira, também? :-[

Re: CRIPTOGRAFIA

Enviado: 01 Set 2008 15:25
por Maligno
Se não me engano tem, mas veja o problema: se estiver em rede?