o SHA-1, que e baseado nos principios de outro conhecido algoritmo de resumo o MD4 e MD5 esses 2 ultimos criados por Ronald Rivest (sim o R do RSA).A principal funcao desse algoritmo conforme dito e resumir. Lembra-se das aulas de portugues onde voce tinha que ler aquele livro "Grande Sertao : Veredas" de Guimaraes Rosa e tinha que entregar um resumo dele? Pois e exatamente isso que o SHA-1 faz de maneira digital.O SHA-1 sempre entrega um resumo de 160 bits (20 bytes), independente da quantidade de bytes de dados que se deseja resumir.A vantagem desse algoritmo e que se ao menos 1 bit for alterado nos dados, um resumo completamente diferente e entregue quando recalculado.Alem da Certificacao Digital os algoritmos de resumo sao amplamente usados em programas P2P, senhas de logins, calculo de imagens ISO disponibilizadas em sites e FTP s, etc.Algoritmos de resumo sao capazes de resumir desde 1 Byte ate Infinito. Embora o SHA-1 seja reconhecido como seguro segundo a FIPS, ele ja sofreu ataques e ja se discute a criacao de um novo algoritmo em substituicao ao SHA.Funcionamento do SHA-1:Exemplos de Resumo usando o SHA-1:Dado : 0x00Resumo (hash): 0x5BA93C9DB0CFF93F52B521D7420E43F6EDA2784FDado : 0x01Resumo (hash): 0xBF8B4530D8D246DD74AC53A13471BBA17941DFF7Caso queira brincar com algoritmos de resumo voce pode baixar um gratuito aqui:http://www.slavasoft.com/hashcalc/index.htmOk, assumo que voce entendeu bem o funcionamento dos algoritmos RSA e SHA-1 e com isso ja podemos assinar conceitualmente um documento, veja como:Assinando uma MensagemO Processo de Assinatura e extremamente simples, digito meu testamento onde deixo minha colecao de Java Cards para meu amigo.Aplico o algoritmo de resumo SHA-1, que me produz um hash de 20 bytes.Aplico nesse hash o algoritmo de criptografia RSA em modo cifragem usando minha chave Privada, que me produz um conjunto de bytes que se pode chamar de Assinatura Digital.Monto um pacote de Dados contendo a mensagem mais a assinatura digital e envio isso tudo via Internet para o cartorio.Com isso o cartorio com posse da minha Chave Publica pode entao realizar a verificacao da minha Assinatura Digital:Verificando uma Mensagem AssinadaAssim que o cartorio recebe o pacote de dados ele separa a mensagem e a assinatura digital.Aplica-se sobre os dados da assinatura digital o algoritmo RSA em modo decifragem usando-se a Chave Publica, com isso o Hash gerado anteriormente pelo emissor e recuperado.Aplica-se o algoritmo SHA-1 na mensagem produzindo o resumo (hash) da mensagem.Compara-se os dois hash e se ambos forem identicos a mensagem esta integra.Suponha que o corpo da mensagem tenha sido violada no meio do caminho, nesse caso o hash gerado pelo cartorio se diferira do criptografado com a chave privada.Caso a assinatura digital seja violada o algoritmo RSA nao conseguira decifrar a assinatura usando a chave Publica, para gerar uma nova assinatura valida e necessaria a chave Privada que ja sabemos desde que seja bem guardada e impossivel de ser quebrada.Isso e a pedra fundamental de toda Certificacao Digital, absolutamente tudo que se utilize de Certificados Digitais usa essa mesma regra seja assinando uma NF-e, um documento bancario, um contrato imobiliario, uma acao judicial, uma declaracao de imposto de renda, um e-mail, uma imagem