Главная страница
    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.45 MB
Время: 0.03 c
2-1177321428
>>DEATH<<
2007-04-23 13:43
2007.05.13
вытаскивание ссылок


15-1175808226
ampo
2007-04-06 01:23
2007.05.13
Небольшая коллекция мануалов


15-1176274427
ocean
2007-04-11 10:53
2007.05.13
Действительно, куда там Донцовой


1-1173776106
Demondelphi
2007-03-13 11:55
2007.05.13
Буфер обмена, обмен данными между главной и дочерними формами


2-1177415337
Настена
2007-04-24 15:48
2007.05.13
Элементы массива





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский