Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.13;
Скачать: CL | DM;

Вниз

шифр Вижинера   Найти похожие ветки 

 
Маша_Семенова   (2007-03-15 19:01) [0]

Уважаемые мастера.
Есть ли у кого алгоритм
шифрования Вижинера.
Спасибо.


 
S@shka ©   (2007-03-15 19:50) [1]

Шифр Вижинера:

program job3_Vishiner;
uses crt;
var
a,b,c,d:string;
i,j,k,t,q:integer;
begin
t:=1;
writeln("Enter text for coding");
readln(a);
writeln("Enter code-word");
readln(d);
q:=length(d);
c:="";
b:="abcdefghijklmnopqrstuvwxyz";
for i:=1 to length(a) do
for j:=1 to length(b) do
begin
if a[i]=b[j] then
begin
if t>length(d) then
t:=1;
for k:=1 to length(b) do
begin
if d[t]=b[k] then
q:=j+k-1;
if q>26 then
q:=q-26;
end;
c:=c+b[q];
t:=t+1;
end;
end;
writeln(c);
readkey;
end.

Симметричный ключ (или использование лог преобразований):

Program Job4_Sim_key;
uses crt;
var
t:string;
n,z,k,i,j:integer;
mas,sam:array[1..100] of string;
abc,buf:string;

begin
abc:="abcefgh01234567890xyz";
z:=1;
k:=0;
writeln("Enter text for coding");
readln(t);
writeln("Chose kol-vo el-tov v gruppe");
readln(n);
for i:=1 to length(t) do begin
mas[z]:=mas[z]+t[i];
k:=k+1;
if k=n then begin
k:=0;
z:=z+1;
end;
end;
if length(mas[z])<n then
for i:=1 to (n-length(mas[z])) do begin
mas[z]:=mas[z]+abc[i];
end;
k:=z;
for i:=1 to z do begin
buf:=mas[i];
for j:=n downto 1 do begin
sam[k]:=sam[k]+buf[j];
end;
k:=k-1;
end;
writeln("Open text");
for i:=1 to z do
write(mas[i],"-");
writeln("");
writeln("Coding text");
for i:=1 to z do
write(sam[i],"-");
readkey;
end.

Применение гаммирования:

Program job6_Gamma;
uses crt;
var
t,s:string;
i,j:integer;
masS,masG,masR:array [1..100] of integer;
abc,buf,gamma:string;
begin
abc:="abcefghijklmnopqrstuvwxyz";
s:="";
writeln("Enter text for coding");
readln(t);
randomize;
for i:=1 to length(t) do
gamma:=gamma+abc[RANDOM(24)+1];
writeln("Text: ",t);
writeln("Gamma: ",gamma);
{Ocifrovka vvedennogo texta}
for i:=1 to length(t) do begin
for j:=1 to length(abc) do
If t[i]=abc[j] then
masS[i]:=j;
end;
{Ocifrovka Texta gammi}
for i:=1 to length(gamma) do
for j:=1 to length(abc) do
if gamma[i]=abc[j] then
masG[i]:=j;
{Ri=(Si+G) mod (k-1)}
for i:=1 to length(t) do begin
masR[i]:=(masS[i]+masG[i]) mod (length(t)-1);
if masR[i]=0 then {proverka esli ostatka net}
s:=s+"\";
for j:=1 to length(abc) do
if masR[i]=j then
s:=s+abc[j];
end;
writeln("Coding-text: ",s);
readkey;
end.


 
S@shka ©   (2007-03-15 19:54) [2]

Маша_Семенова   ))))

Ох, Ма...ша )


 
Leonid Troyanovsky ©   (2007-03-15 21:20) [3]


> Маша_Семенова   (15.03.07 19:01)  

> Есть ли у кого алгоритм
> шифрования Вижинера.

http://groups.google.com/group/fido7.ru.delphi/browse_thread/thread/865bf0adf13dfc43

--
Regards, LVT.



Страницы: 1 вся ветка

Текущий архив: 2007.05.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.038 c
15-1176546874
parus
2007-04-14 14:34
2007.05.13
ASP VB Script


2-1177054105
Steep
2007-04-20 11:28
2007.05.13
Юниты


15-1176549082
SkySpeed
2007-04-14 15:11
2007.05.13
Подскажите где можно найти спец ПО для изменения функц. клавиш?


3-1172035723
merko$
2007-02-21 08:28
2007.05.13
экспорт из IBQuery в Excel


2-1177261325
Kostafey
2007-04-22 21:02
2007.05.13
Что значат эти предупреждения?