Article image
Pedro Dias
Pedro Dias29/06/2024 15:10
Compartilhe

Exemplo de script de criptografia assimétrica:

  • #Kotlin
  • #Android
  • #Java

A criptografia assimétrica utiliza um par de chaves - uma pública e outra privada - para proteger informações sensíveis. Tipo, você criptografa a mensagem usando uma chave pública, gerando um string cabuloso que só faz sentido se você tiver a chave privada. (E sim, isso montou um Triplex na minha cabeça kkkkk)

A melhor chave que se pode utilizar é a RSA, que sua segurança é baseada na dificuldade de fatorar grandes números primos, o que acaba impossibilitando a quebra através da força bruta, baseando-se mais na impossibilidade computacional para quebra do que para o segredo da chave. (SENTE A PRESSÃO NENÉM💥🔊)

Uma estratégia interessante para se manter a comunicação é através do uso de RSA com o AES, onde o AES criptografa grandes volumes de dados rapidamente, e o RSA protege a troca de chaves, driblando o grande desafio de como você pode transmitir a chave sem ela ser interceptada pela rede.

O uso de Base64 converte dados binários em texto, facilitando a transmissão e armazenamento de dados criptografados. A criptografia ponta a ponta garante que os dados sejam criptografados no dispositivo do remetente e só possam ser descriptografados no dispositivo do destinatário, oferecendo uma camada adicional de segurança.

Um exemplo bem meia-boca de scripts que pode ilustrar é esse:

```

fun main () {

// Gera um par de chaves RSA

val keyPair = AsymmetricCryptoUtil.generateKeyPair()

val publicKey = keyPair.public

val privateKey = keyPair.private

// Gera uma chave simétrica

val symetricKey = AsymmetricCryptoUtil.generateSymetricKey()

// Encripta a chave simétrica com a chave publica

val encryptedSymetricKey = AsymmetricCryptoUtil.encryptSymmetricKey(symetricKey, publicKey)

// Decripta a chave simétrica com a chave privada

val decryptedSymetricKey = AsymmetricCryptoUtil.decryptSymmetricKey(encryptedSymetricKey, privateKey)

// Encripta a mensagem com a chave simétrica

val encryptedMessage = AsymmetricCryptoUtil.encryptWithSymetricKey("Hello World", decryptedSymetricKey)

// Decripta a mensagem com a chave simétrica

val decryptedMessage = AsymmetricCryptoUtil.decryptWithSymetricKey(encryptedMessage, decryptedSymetricKey)

}

```

Script completo: https://github.com/pmd1308/Kotlin-roadmap.sh/blob/main/Script%20e%20Snips/CyberSecurity/CriptografiaAssimetrica.kt

Compartilhe
Comentários (0)