RSA em Ruby para iniciantes

Introdução

RSA é um algoritmo de encriptação baseado em chaves públicas e privadas , que foi desenvolvido pensando na dificuldade de se fatorar dois números primos grandes. O seu nome vem das iniciais de seus criadores Rivest, Shamir e Adleman.

Computacionalmente falando, ele é um algoritmo caro, mas mesmo assim é amplamente utilizado no mercado e um dos mais importantes algoritmos de criptografia. Seu uso é geralmente realizado de maneira indireta, como por exemplo pelo OpenSSL, que utiliza RSA na geração de suas chaves ou até mesmo quanto utilizamos chaves SSH ou certificados SSL, que também são encriptados por este algoritmo.

Implementando a Cifra de César em Ruby

A Cifra de César é a mais simples e conhecida técnica de encriptação. Ela também é conhecida por cifra de troca, código de César, troca de César, ROT N ou ROT13, sendo esse o nome mais comum, trocando as letras em treze rotações.

Este algoritmo é extremamente simples, pois somente funciona para letras entre A e Z, ignorando todos os caracteres especiais como pontos, espaços em branco e letras como Ç or Á.