Главная страница
    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.048 c
15-1176497172
Petr V.Abramov
2007-04-14 00:46
2007.05.13
Не обос<по большому>ся бы... :)


15-1175695826
kaif
2007-04-04 18:10
2007.05.13
Заботы президента о мироздании


6-1163397577
Мстилели
2006-11-13 08:59
2007.05.13
Служба не видет инета


1-1173995089
Дмитрий А.
2007-03-16 00:44
2007.05.13
Запись DBGrid в Excel


2-1177065874
..::KraN::..
2007-04-20 14:44
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский