NET-Devs-BR / desafios-string

Desafios envolvendo Strings.
MIT License
9 stars 3 forks source link

Cifra de César #11

Open renanmms opened 1 year ago

renanmms commented 1 year ago

Título: Cifra de César Enunciado:

Cifra de César

A Cifra de César é um algoritmo de criptografia mais antigo já utilizado, pois foi utilizado pelo líder militar Júlio César em torno do ano 52 a.C. para escrever mensagens criptografadas com comandos militares de forma que se alguém interceptar a mensagem não vai conseguir ler sem a chave.

Por exemplo, se Alice quer transmitir uma mensagem para Bob, mas quer manter sigilo usando a Cifra de César ela utiliza uma chave que é compartilhada entre eles. A mensagem a ser transmitida é:

Me encontre na Avenida Paulista

A chave compartilhada entre eles foi o número 3, então Alice utiliza esse parâmetro para criptografar a mensagem deslocando cada letra 3 posições a direita no alfabeto resultando na mensagem criptografada abaixo:

Ph hqfrqwuh qd Dyhqlgd Sdxolvwd

Quando Bob receber a mensagem ele vai precisar da chave para descriptografá-la da mesma forma deslocamos 3 posições a esquerda para cada letra voltando a mensagem original.

Dado uma string s e um parâmetro chave criptografar utilizando a Cifra de César.

Restrições

Observação: Somente letras devem ser criptografadas caracteres especiais devem ser ignorados

Casos de teste

Segue abaixo, exemplos de entradas e saídas do nosso problema:

Entrada 1

aab

3

Saída 1

dde

Entrada 2

abba

2

Saída 2

cddc

Entrada 3

Sou aluno do Metodo .NET Direto ao Ponto!

5

Saída 3

Xtz fqzst it Rjytit .SJY Inwjyt ft Utsyt!