Читаем Защита от хакеров корпоративных сетей полностью

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

Манипуляции над абстрактными 0 и 1 могут оказаться трудными для восприятия, если ранее читатель не сталкивался с двоичными числами и величинами. Поэтому автор решил привести пример простой программы, которая выполняет серию из трех операций XOR на различных перестановках ключа для кодирования сообщения. В этой короткой программе на языке Perl используется свободно распространяемый модуль IIIkey для обращения к внутренней функции шифрования XOR. Для того чтобы воспользоваться приведенной программой, следует загрузить модуль IIIkey по адресу www3.marketrends.net/encrypt.#!/usr/bin/perl

#!/usr/bin/perl

# Encodes/Decodes a form of XOR text

# Requires the IIIkey module

# Written specifically for HPYN 2nd Ed.

# by FWL 01.07.02

# Use the IIIkey module for the backend

# IIIkey is available from http://www3.marketrends.net/

encrypt/

use IIIkey;

# Simple input validation

sub validate {

if (scalar(@ARGV) < 3) {

print “ Error: You did not specify input correctly!\n” ;

print “ To encode data use ./xor.pl e \“ Key\” \“ String

to Encode\”\n”;

print “ To decode data use ./xor.pl d \“ Key\” \“ String

to Decode\”\n”;

exit;

}

}

validate;

$tmp=new IIIkey;

$key=$ARGV[1];

$intext=$ARGV[2];

if ($ARGV[0] eq “e”) { # encode text

$outtext=$tmp->crypt($intext, $key);

print “Encoded $intext to $outtext”;

} elsif ($ARGV[0] eq “d”) { # decode text

$outtext=$tmp->decrypt($intext, $key);

print “Decoded $intext to $outtext”;

} else { # No encode/decode information given!

print “To encode or decode? That is the question.”;

exit;

}

А вот пример отчета работы программы.

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже