в какой области можно применить шифратор текста методом цезаря?

 

суть метода заключается в том, что данные шифруются при помощи некоторого ключа, в нашем случае это массив из десяти случайных чисел из диапазона 1-20. т. е все данные разбиваются на группы по десять символов и, каждый символ шифруется методом цезаря, но сдвиг осуществляется не на два, а на число с соответствующим индексом из массива ключа. (1-й на key[1], 2-й на key[2],...10-й на key[10], 1-й на key[1] и так далее до конца) . для большей надежности шифрации будем использовать всю таблицу ascii.
пример:
ключ:
индекс: 1 2 3 4 5 6 7 8 9 10
число: 5 7 8 15 6 13 9 17 7 3

шифруемый текст:
он сел на скамью.
зашифрованный текст:
у+(ёл¬)-з#ц-и¬єv7

так как ключ при каждой шифрации меняется, то его нужно сохранять, но просто записывать его в файл было бы неразумно, потому что такой файл можно быстро расшифровать, зная метод шифрации. поэтому для решения данной задачи я рекомендую вам делать следующее:
1) использовать постоянный, известный только вам, ключ не сохраняя его в файле.
достоинства:
расшифровать файл будет достаточно сложно, даже зная метод шифрации.
недостатки:
злоумышленник, узнав ключ и зная метод щифрации, получит доступ ко всем вашим зашифрованным данным.
2) сохранять ключ в файле специальным образом.
достоинства:
все зашифрованные файлы будут зашифрованы по разному, что увеличивает надежность.
недостатки:
в зашифрованном файле будет храниться ключ к дешифрации, поэтому разгадав каким образом он там храниться злоумышленник получит доступ к ключу, а следовательно, зная метод шифрации, к зашифрованным данным. в нашем примере ключ записывается в конец файла следующим образом:
1-е число заменяется на символ с номером 1+это число из таблицы ascii. затем 10-е число заменяется на символ с номером 1+данное число, и так далее. чтобы числа не слились в единое число между ними ставится #. 

ключ из примера будет выгледеть так:
#########
программа на basic
cls
color 15, 1 print "шифрация автор: якунин максим сергеевич"
color 15, 0
print
input "введите имя шифруемого файла: "; inpf$
input "введите имя зашифрованного файла: "; outf$
open inpf$ for input as #1
open outf$ for output as #2
print "шифрую... "
while not eof(1)
input #1, mstr$
for k = 1 to len(mstr$)
sim$ = mid$(mstr$, k, 1)
gosub 10
mid$(mstr$, k, 1) = shif$
next k
print #2, mstr$
wend
close #1
close #2
print "шифрация закончена! "
end
10 select case sim$
case "а" to "н"
shif$ = chr$(asc(sim$) + 2)
case "о"
shif$ = "р"
case "п"
shif$ = "с"
case "р" to "э"
shif$ = chr$(asc(sim$) + 2)
case "ю"
shif$ = "а"
case "я"
shif$ = "б"
case "а" to "я"
shif$ = chr$((asc(sim$) - asc("а") + 2) mod 32 + asc("а"))
case "a" to "z"
shif$ = chr$((asc(sim$) - asc("a") + 2) mod 26 + asc("a"))
case "a" to "z"
shif$ = chr$((asc(sim$) - asc("a") + 2) mod 26 + asc("a"))
case else
shif$ = sim$
end select
return

программа на pascal

program shifr\_lk;
uses crt;
const l=10; {размер ключа}
var m\_key: array[1..l] of byte; {массив хранящий числа ключа}
k,c,t: byte;{служебные переменные}
i\_name,o\_name: string[12];{имена файлов}
m\_str: string[80];{читаемая строка}
i\_f,o\_f: text;{файловые переменные}
{------возвращает зашифрованный символ---------------}
function sh(sim: char; n: word): char;
begin sh:=chr((ord(sim)-1+n) mod 254+1) end;
{----------------------------------------------------}
begin
clrscr;
randomize;{включение генератора случайных чисел}
for c:=1 to l do m\_key[c]:=1+random (20); {формирование ключа}
textcolor (15);
textbackground(1);
insline;
writeln(' шифратор автор: якунин максим сергеевич');
textbackground(0);
writeln;
write ('введите имя шифруемого файла: ');
readln(i\_name); {ввод имени шифруемого файла}
write ('введите имя зашифрованного файла: ');
readln (o\_name);{ввод имени зашифрованного файла}
assign (i\_f,i\_name);
assign (o\_f,o\_name);
reset (i\_f); {открываем файл с именем i\_name для чтения}
rewrite (o\_f);{открываем файл с именем o\_name для записи}
writeln ('шифрую ...');

вообще-то метод давно уже устарел, советую скачать какую-нибудь книжку по криптографии.
а применять можно в бытовых целях. переписку между друзьями - не более.
через-чур старый метод.

действительно устаревший метод, криптостойкость этого алгоритма очень низкая, вряд ли где то можно использовать данный вид шифрования, поскольку легко раскрываем...