DevLab

Atbaş Şifri

Asan
stringcryptography
3000 ms
256 MB

Yaxın Şərqdə yaradılmış qədim bir şifrələmə sistemi olan Atbaş (Atbash) şifrinin alqoritmini yazın.

Atbaş şifri, əlifbadakı bütün hərflərin tərsinə çevrilməsinə əsaslanan sadə bir əvəzləmə şifridir. Birinci hərf sonuncu hərflə, ikinci hərf sondan ikinci hərflə və s. əvəz olunur. Latın əlifbası üçün Atbaş şifrinin yerdəyişməsi aşağıdakı kimidir:

  • Düz (Plain): abcdefghijklmnopqrstuvwxyz

  • Şifrəli (Cipher): zyxwvutsrqponmlkjihgfedcba

Bu çox zəif bir şifridir, çünki yalnız bir mümkün açarı var və sadə bir monoəlifbalı əvəzləmə şifridir. Ancaq şifrənin yarandığı dövrdə bu böyük bir problem olmaya bilərdi.

Qaydalar:

  1. Şifrələnmiş mətn (Ciphertext) söz sərhədlərinə görə mətnin təxmin edilməsini çətinləşdirmək üçün sabit uzunluqlu qruplar şəklində yazılır (ənənəvi qrup ölçüsü 5 hərfdir).

  2. Rəqəmlər olduğu kimi saxlanılır və dəyişdirilmir.

  3. Bütün durğu işarələri və boşluqlar silinməlidir.

  4. Həm giriş, həm də çıxışda bütün mətnlər kiçik hərflərlə kodlaşdırılmalıdır.

Giriş verilənləri: Giriş axınında iki sətir verilir:

  1. Birinci sətirdə əməliyyatın növü verilir: ENCODE (şifrələ) və ya DECODE (deşifrələ).

  2. İkinci sətirdə isə üzərində əməliyyat aparılacaq sətir (mətn) verilir.

Çıxış verilənləri:

  • Əgər əməliyyat ENCODE olarsa: verilmiş mətni Atbaş alqoritmi ilə şifrələyin və aralarında boşluq olmaqla 5 simvolluq bloklar şəklində çap edin.

  • Əgər əməliyyat DECODE olarsa: şifrələnmiş mətni deşifrələyin və qruplaşdırmaları, boşluqları silərək tam bitişik formada çap edin.

1Nümunə 1:
Giriş:
encode yes
Çıxış:
bvh
2Nümunə 2:
Giriş:
decode gvhgr mt123 gvhgr mt
Çıxış:
testing123testing

Məhdudiyyətlər

  • Mətnin uzunluğu 1 ilə 104 arasında simvol ola bilər.

  • Mətn yalnız ASCII hərflərindən, rəqəmlərdən, boşluq və standart durğu işarələrindən ibarətdir.

REDAKTOR
Giriş edin
Giriş:
encode yes
Çıxış:
bvh