Percursos
/
SQLite
SQLite
/
Exercícios
/
Cifra de cerca
Cifra de cerca

Cifra de cerca

Difícil

Instruções

Implementa a codificação e a descodificação da cifra Rail Fence.

A cifra Rail Fence é uma forma de cifra de transposição que recebe o nome da forma como é codificada. Já era utilizada pelos antigos gregos.

Na cifra Rail Fence, a mensagem é escrita de forma descendente em "carris" sucessivos de uma cerca imaginária, e sobe quando chega ao fundo (como um zigue-zague). Por fim, a mensagem é lida por linhas.

Por exemplo, com três "carris" e a mensagem "WE ARE DISCOVERED FLEE AT ONCE", quem cifra escreve:

W . . . E . . . C . . . R . . . L . . . T . . . E
. E . R . D . S . O . E . E . F . E . A . O . C .
. . A . . . I . . . V . . . D . . . E . . . N . .

De seguida, lê:

WECRLTEERDSOEEFEAOCAIVDEN

Para desencriptar uma mensagem, tomas a forma em zigue-zague e preenches o texto cifrado ao longo das linhas.

? . . . ? . . . ? . . . ? . . . ? . . . ? . . . ?
. ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? .
. . ? . . . ? . . . ? . . . ? . . . ? . . . ? . .

A primeira linha tem sete lugares que podem ser preenchidos com "WECRLTE".

W . . . E . . . C . . . R . . . L . . . T . . . E
. ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? .
. . ? . . . ? . . . ? . . . ? . . . ? . . . ? . .

Agora, a segunda linha recebe "ERDSOEEFEAOC".

W . . . E . . . C . . . R . . . L . . . T . . . E
. E . R . D . S . O . E . E . F . E . A . O . C .
. . ? . . . ? . . . ? . . . ? . . . ? . . . ? . .

Deixando "AIVDEN" para a última linha.

W . . . E . . . C . . . R . . . L . . . T . . . E
. E . R . D . S . O . E . E . F . E . A . O . C .
. . A . . . I . . . V . . . D . . . E . . . N . .

Se agora leres ao longo da forma em zigue-zague, consegues ler a mensagem original.


Fonte

WikipediaO link abre numa nova janela ou separador
Editar via GitHub A ligação abre numa nova janela ou separador
SQLite Exercism

Estás pronto para começar Cifra de cerca?

Inscreve-te no Exercism para aprenderes e dominares SQLite com 81 exercícios, e mentoria humana real, tudo grátis.