Track
/
Java
Java
/
Esercizi
/
Cifrario a recinzione
Cifrario a recinzione

Cifrario a recinzione

Medio

Istruzioni

Implementa la codifica e la decodifica del cifrario rail fence.

Il cifrario Rail Fence è una forma di cifrario a trasposizione che prende il nome dal modo in cui viene codificato. Era già usato dagli antichi Greci.

Nel cifrario Rail Fence, il messaggio viene scritto verso il basso su «rails» successivi di una recinzione immaginaria, poi risalendo quando si arriva in fondo (come uno zig-zag). Infine il messaggio viene letto riga per riga.

Per esempio, usando tre «rails» e il messaggio «WE ARE DISCOVERED FLEE AT ONCE», chi cifra scrive:

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 . .

Poi legge:

WECRLTEERDSOEEFEAOCAIVDEN

Per decifrare un messaggio, si prende la forma a zig-zag e si riempiono le righe con il testo cifrato.

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

La prima riga ha sette posizioni che possono essere riempite con «WECRLTE».

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

Ora la seconda riga prende «ERDSOEEFEAOC».

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

Lasciando «AIVDEN» per l'ultima riga.

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 ora leggi lungo la forma a zig-zag, puoi leggere il messaggio originale.


Fonte

WikipediaIl link si apre in una nuova finestra o scheda
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Java Exercism

Vuoi iniziare Cifrario a recinzione?

Iscriviti a Exercism per imparare e padroneggiare Java con 26 concetti158 esercizi e il mentoring di persone reali, tutto gratis.