фровка
из
центра
Дмитрий ЛЕВЧЕНКО
p r o x y m u s @ r i a . c j b . n e t
Вопрос о том, как защитить ценную информацию, интересовал человечество всегда. Раньше для
этого использовались шифровки, создавались секретные методы передачи данных. С появлением
компьютера интерес к этой теме только увеличился. У каждого пользователя компьютера найдется
хоть какая-то ценная информация, знать о которой не должен никто. Это тексты писем, пароли и
другие секретные материалы. Для шифровки и защиты такой информации применяются программы-
шифровщики. О них мы и поговорим
более того, вы сможете создать их сами.
П
р о г р о м м - ш и ф р о в щ и к о в с у щ е с т в у е т м н о г о , н о р е з у л ь т а т и х р о -
б о т ы д о л ж е н б ы т ь о д и н о к о в — н а д е ж н о з о ш и ф р о в а н н о я и н -
ф о р м а ц и я . З а щ и т и т ь м а т е р и о л ы н о 1 0 0 % н е у д о в о л о с ь н и к о -
г д а и , н о в е р н о е , н е у д о с т с я и в б у д у щ е м . В е д ь л ю б о й а л г о -
р и т м , к о т о р ы й б ы л с о з д о н д л я ш и ф р о в к и , м о ж н о в з л о м а т ь . П р и в е -
д у м а л е н ь к и й п р и м е р . Д л я э л е м е н т а р н о й з о щ и т ы ф а й л о в м о ж н о и с -
п о л ь з о в а т ь о р х и в а т о р У*/іпІ?аг, в к о т о р о м п р и с о з д а н и и о р х и в а е с т ь
в о з м о ж н о с т ь у с т а н о в и т ь н о н е г о п о р о л ь . Н о у ж е д о в н ы м - д а в н о с у -
щ е с т в у ю т п р о г р о м м ы , к о т о р ы е з о о ч ч ч е н ь м о л ы й п р о м е ж у т о к в р е -
м е н и п о д б и р а ю т э т о т п а р о л ь . Н о ш е й ж е ц е л ь ю я в л я е т с я н е с о з д а -
н и е н о д е ж н о г о с р е д с т в а з о щ и т ы , а в с е г о л и ш ь ж е л а н и е п о к а з а т ь
н а п р о к т и к е , к а к , с о б с т в е н н о , о с у щ е с т в л я е т с я к о д и р о в к а / д е к о д и -
р о в к а .
. . Н у , а д о л е е — н а с к о л ь к о х в а т и т в а ш е г о э н т у з и о з м а .
Д л я п р о с т о й и л л ю с т р о ц и и к о д и р о в а н и я и д е к о д и р о в а н и я ф а й -
л о в я в о с п о л ь з у ю с ь с р е д о й р о з р о б о т к и
Borland C++ Builder 6.0.
Д ля н а ч о л а п о г о в о р и м н е м н о г о о к о м п о н е н т е т ш г о Р г о с е в -
s o r , к о т о р ы й , с о б с т в е н н о , и в ы п о л н я е т к о д и р о в о н и е / д е к о д и р о в а -
н и е . Э т о т к о м п о н е н т в ы п о л н я е т ч и с т о т е х н и ч е с к у ю з о д а ч у к о д и р о -
ва ни я и д е к о д и р о в а н и я ф а й л о в п о о л г о р и т м у M IM E и л и UUEncode.
Ч т о б ы к о м п о н е н т м о г в ь п о л н и т ь с в о ю з а д а ч у , н у ж н о в с в о й -
с т в е
in p u t s t r e a m у к о з о т ь и м я о б р а б а т ы в а е м о г о п о т о к о , в с в о й -
с т в е
M e th o d в ы б р о т ь м е т о д к о д и р о в а н и я / д е к о д и р о в о н и я , в с в о й -
с т в е
O u t p u t s t r e a m у к о з о т ь в ы х о д н о й п о т о к , о з о т е м в ы з в а т ь м е -
т о д
E n c o d e и л и D e c o d e д л я в ы п о л н е н и я к о д и р о в а н и я / л и д е к о -
д и р о в а н и я с о о т в е т с т в е н н о .
С в о й с т в о
M e th o d м о ж е т п р и н и м о т ь т о л ь к о д в а з н а ч е н и я :
u u M im e — д л я о л г о р и т м о M I M E , и л и u u C o d e — д л я U U E n c o d -
i n g / U U D e c o d i n g . П о т о к и ж е м о г у т п р е д с т а в л я т ь с о б о й л и б о ф о й -
л ы , л и б о о б л а с т и в д и н а м и ч е с к о й п а м я т и .
В к о м п о н е н т е п р е д у с м о т р е н о н е с к о л ь к о в а ж н ы х с о б ы т и й :
O n B e g in E n c o d e п р о и с х о д и т п е р е д н а ч о л о м к о д и р о в о н и я п о -
т о к а , о н и н и ц и и р у е т с я м е т о д о м
E n c o d e . С о б ы т и е O n E n d E n c o d e
п р о и с х о д и т п е р е д з а в е р ш е н и е м м е т о д а
E n c o d e . С о б ы т и я О п В е -
g in D e c o d e и O n E n d D e c o d e г е н е р и р у ю т с я а н а л о г и ч н ы м о б р о з о м
п р и в ы п о л н е н и и о п е р о ц и и д е к о д и р о в а н и я .
А т е п е р ь р а с с м о т р и м п р и м е р
С о з д а д и м н о в о е п р и л о ж е н и е C + + B u i l d e r и п о м е с т и м в ф о р -
м у д в о п о л я р е д о к т и р о в о н и я
E d i t l и E d it 2 д л я у к а з а н и я в н и х
и м е н в х о д н ы х
и
в ы х о д н ы х ф о й л о в
д в е к о м а н д н ы е
КНОПКИ B u t -
t o n l и B u t t o n 2 , д в о г р у п п о в ы х о к н о G r o u p B o x l и G ro u p B o x 2 , в
к о т о р ы е д о б о в л я е м п о д в е р а д и о к н о п к и —
R a d io B u t t o n l, R a -
d i o B u t t o n 2 , R a d io B u t t o n 3 , R a d io B u t t o n 4 , к о м п о н е н т O p e n -
D i a l o g l , S t a t u s B a r l , N M U U P ro c e s s o r ( н а с т р а н и ц е з о к л а д о к
FastNefj, д л я п р о с т о т ы с р о з у ж е с т а в и м с в о й с т в о
Nam e р о в н ы м
NMUUE1. П р и н о ж о т и и н о к н о п к у с н о д п и с ь ю « В ы п о л н и т ь » б у д е т
з а г р у ж а т ь с я д и а л о г о в о е о к н о в ы б о р а в х о д н о г о ф а й л а д л я к о д и -
р о в о н и я и л и д е к о д и р о в а н и я . К н о п к о « В ы п о л н и т ь » б у д е т в ы п о л -
н я т ь т у о п е р о ц и ю н а д ф о й л о м , к о т о р о я в ы б р о н о в с о о т в е т с т в у ю -
щ е й р а д и о к н о п к е ( р и с .
1 ) . Д р у г а я г р у п п о р о д и о к н о п о к з о д а е т
о д и н и з д в у х в о з м о ж н ы х а л г о р и т м о в к о д и р о в о н и я и л и д е к о д и р о -
в а н и я . О б р а б о т ч и к с о б ы т и я
O n c li c k к н о п к и п р и в о д и т с я н и ж е . В
н е м с о з д о ю т с я д в а п о т о к о — в х о д н о й и в ы х о д н о й , з о т е м в с о о т -
в е т с т в и и с в ы б о р о м р о д и о к н о п о к з а д о е т с я о л г о р и т м к о д и р о в о -
н и я / д е к о д и р о в о н и я и в ы з ы в а е т с я м е т о д л и б о к о д и р о в о н и я , л и б о
д е к о д и р о в о н и я . Е с л и в о в р е м я в ы п о л н е н и я о б р а б о т ч и к о с л у ч о -
■Ь.Рис.1
е т с я о ш и б к а , т о в ы в о д и т с я п р е д у п р е д и т е л ь н о е с о о б щ е н и е . П о -
с л е в с е г о п о т о к и о с в о б о ж д о ю т с я .
В о т п о л н ы й л и с т и н г п р о г р о м м ы :
# i n c lu d e < v c l . h >
# p ra g m a h d r s t o p
# i n c lu d e " U n i t l . h "
# p ra g m a p a c k a g e ( s m a r t i n i t )
# p ra g m a r e s o u r c e " * . d f m "
T F o r m l * F o r m l;
___f a s t c a l l T F o r m l: : T F o rm l(T C o m p o n e n t* O w n e r)
: T F o rm (O w n e r)
{
}
v o i d ___f a s t c a l l T F o r m l: : B u t t o n l C l i c k ( T O b j e c t ‘ S e n d e r )
{
T F ile S t r e a m
I n S t r e a m
* O u tS tr e a m ;
In S tr e a m = n e w T F i l e S t r e a m ( E d i t l - > T e x t , fm O p e n R e a d );
O u tS tr e a m = n e w T F i le S t r e a m ( E d i t 2 - > T e x t , f m C r e a t e ) ;
t r y
{
if ( R a d io B u t t o n 4 - > C h e c k e d )
N M U T J E l-> M e th o d = u u M im e ;
e l s e
N M U U E1- > M e th o d = u u C o d e ;
NM UUE1- > I n p u t S t r e a m = I n S t r e a r n ;
NMUUE1 - > O u tp u tS tr e a m = O u tS tr e a m ;
i f ( R a d i o B u t t o n l- » C h e c k e d )
NMUUE1 - > E n c o d e ( ) ;
e l s e
NM U U E1- » D e c o d e ( ) ;
}
c a t c h ( .
. . )
{
S h o w M e s s a g e ("П р о и з о ш л а о ш и б к а " ) ;
№ 1 1 /3 3 8 14 м а рта -2 1 марта 2005
предыдущая страница 38 Мой Компьютер 2005 11 читать онлайн следующая страница 40 Мой Компьютер 2005 11 читать онлайн Домой Выключить/включить текст