رمزگذاری و رمزگشایی را برای رمز Rail Fence پیادهسازی کنید.
رمز Rail Fence گونهای از رمز جابجایی است که اسمش را از شیوهی رمزگذاریاش گرفته است. یونانیان باستان هم از آن استفاده میکردند.
در رمز Rail Fence، پیام روی «ریل»های پیاپی یک حصار خیالی رو به پایین نوشته میشود و وقتی به پایین میرسیم رو به بالا حرکت میکند (مثل یک زیگزاگ). در پایان، پیام ردیف به ردیف خوانده میشود.
برای مثال، با سه «ریل» و پیام «WE ARE DISCOVERED FLEE AT ONCE»، رمزگذار مینویسد:
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 . .
سپس اینگونه میخواند:
WECRLTEERDSOEEFEAOCAIVDEN
برای رمزگشایی یک پیام، شکل زیگزاگ را در نظر میگیرید و متن رمزشده را در طول ردیفها پر میکنید.
? . . . ? . . . ? . . . ? . . . ? . . . ? . . . ?
. ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? .
. . ? . . . ? . . . ? . . . ? . . . ? . . . ? . .
ردیف اول هفت جای خالی دارد که میتوان آنها را با «WECRLTE» پر کرد.
W . . . E . . . C . . . R . . . L . . . T . . . E
. ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? .
. . ? . . . ? . . . ? . . . ? . . . ? . . . ? . .
حالا ردیف دوم «ERDSOEEFEAOC» را میگیرد.
W . . . E . . . C . . . R . . . L . . . T . . . E
. E . R . D . S . O . E . E . F . E . A . O . C .
. . ? . . . ? . . . ? . . . ? . . . ? . . . ? . .
و «AIVDEN» برای ردیف آخر باقی میماند.
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 . .
اگر حالا در امتداد شکل زیگزاگ بخوانید، میتوانید پیام اصلی را بخوانید.