Articles of criptografia

Como posso assinar um arquivo usando RSA e SHA256 com o .NET?

Meu aplicativo irá pegar um conjunto de arquivos e assiná-los. (Eu não estou tentando assinar um assembly.) Existe um arquivo .p12 que eu recebo a chave privada. Este é o código que eu estava tentando usar, mas recebo um System.Security.Cryptography.CryptographicException “Invalid algorithm specified.” . X509Certificate pXCert = new X509Certificate2(@”keyStore.p12″, “password”); RSACryptoServiceProvider csp = (RSACryptoServiceProvider)pXCert.PrivateKey; string […]

Onde você armazena suas cordas de sal?

Eu sempre usei uma string de sal por input adequada ao hashing de senhas para armazenamento de database. Para minhas necessidades, armazenar o sal no database ao lado da senha com hash sempre funcionou bem. No entanto, algumas pessoas recomendam que o sal seja armazenado separadamente do database. O argumento deles é que, se o […]

Qual function hash criptográfica devo escolher?

A estrutura .NET é fornecida com 6 diferentes algoritmos de hashing: MD5: 16 bytes (tempo para hash 500MB: 1462 ms) SHA1: 20 bytes (1644 ms) SHA256: 32 bytes (5618 ms) SHA384: 48 bytes (3839 ms) SHA512: 64 bytes (3820 ms) RIPEMD: 20 bytes (7066 ms) Cada uma dessas funções funciona de maneira diferente; O MD5 […]

Diferença entre java.util.Random e java.security.SecureRandom

Minha equipe foi entregue algum código do lado do servidor (em Java) que gera tokens randoms e eu tenho uma pergunta sobre o mesmo – O objective desses tokens é bastante sensível – usado para identificação de session, links de redefinição de senha, etc. Portanto, eles precisam ser criptograficamente randoms para evitar que alguém os […]

Algoritmo MD5 no Objective C

Como calcular o MD5 no objective C?

Senha para function chave compatível com comandos OpenSSL?

Por exemplo, o comando: openssl enc -aes-256-cbc -a -in test.txt -k pinkrhino -nosalt -p -out openssl_output.txt produz algo como: key = 33D890D33F91D52FC9B405A0DDA65336C3C4B557A3D79FE69AB674BE82C5C3D2 iv = 677C95C475C0E057B739750748608A49 Como essa chave é gerada? (C código como uma resposta seria muito incrível para pedir :)) Além disso, como é o iv gerado? Parece algum tipo de feitiço para mim.

Versão C # do método OpenSSL EVP_BytesToKey?

Eu estou olhando para a implementação .NET em linha reta da function OpenSSL EVP_BytesToKey . A coisa mais próxima que eu encontrei é a class System.Security.Cryptography.PasswordDeriveBytes (e Rfc2898DeriveBytes ), mas parece ser um pouco diferente e não gera a mesma chave e iv como EVP_BytesToKey. Também encontrei essa implementação que parece ser um bom começo, […]

Por que o XOR é a maneira padrão de combinar hashes?

Digamos que você tenha dois hashes H(A) e H(B) e queira combiná-los. Eu li que uma boa maneira de combinar dois hashes é com XOR , por exemplo, XOR( H(A), H(B) ) . A melhor explicação que encontrei é brevemente abordada aqui sobre estas diretrizes de function hash : XORing dois números com distribuição aproximadamente […]

Autenticação do SSH do Git

Eu tenho o Debian, Fisheye e Git no meu servidor. Meus git repos são gerenciados pela Fisheye. Não há autenticação na parte Fisheye. Todos os procedimentos de autenticação são gerenciados pelo git. Eu gostaria de usar a autenticação SSH, para que eu não precise fornecer o nome de usuário e a senha enquanto eu envio […]

Como hash alguma string com sha256 em Java?

Como hash alguma string com sha256 em Java? Alguém conhece alguma biblioteca livre para isso?