- •Visa велико, а действительные последствия ареста, да и сама его
- •1" С 9 компьютерными кражами в Вашингтонском университете.
- •1000 Коммерческих организаций в России и не менее чем 600 банков
- •Ice, zip и сжатия дисков на ibm pc. Употребление этих кодов
- •14 Символов, то при кодировке ascii он занимает 112 бит, в то
- •10%. Несомненно, что для более эффективного ее уплотнения нужны
- •11, Либо байтом точек исходного изображения. Число повторений
- •XIX века Клаузен первым предложил для этой цели код авс, a
- •Vanol a, an ababa It is hoped
- •История криптологии
- •Появление шифров
- •Veni vidi vici, то есть пришел увидел победил, сделанное Цезарем
- •5Х5, заполненный алфавитом в случайном порядке. Для шифрования на
- •2 Дисков, помещенных на общую ось, содержал на ободе алфавит в
- •Становление науки криптологии
- •314, Получаем шифровку:
- •0' 90' 180' 270' Шифp
- •1, Став королем Англии, хотел пригласить Лейбница на британскую
- •Криптология в Новое время
- •XIX век с расширением связных коммуникаций занялся
- •62985, Очень затрудняющая расшифровку коротких сообщений. Гораздо
- •25 Электрических контактов, столько же, сколько букв в алфавите.
- •1, Который в 1712 году встречался с Лейбницем, чтобы уговорить
- •1812 Года замечается знание и употребление шифров. Исследователи
- •XIX века и до революции, правительственные криптоаналитики читали
- •1923 Года Советы снова сменили скомпрометированные
- •Элементы криптоанализа
- •Характеристики сообщений
- •45% Сократить длину файлов в формате ascii. Таким образом,
- •I, а вероятности Pij появления знака j при условии, что перед ним
- •3.5 Бит, что эквивалентно примерно II буквам в русском алфавите
- •1. Текст и шифр лишь кажутся независимыми, по-
- •2. Статистические испытания являются единствен-
- •3. Статистические проверки являются, пожалуй,
- •9 Или их сочетания маловероятны. Поэтому будем считать, что текст
- •1975 Году слушатели лекций по криптологии Винкель и Листер
- •56 Бит, что недостаточно для таких задач, как национальная
- •Idea - Improved Proposed Encryption Standard - улучшенный
- •III. Началом третьего периода развития криптоло-
- •130 Десятичных цифр, приведенного в их публикации, потребует
- •10**(-38). Вместе с тем, что очень важно, восстановить
- •5 Лет, а это время - приемлемый срок жизни стандарта и шифров.
- •1916 Году выдающимся математиком нашего века Германом Вейлем.
- •2**N-1. Если 2**n-1 простое число, то последовательность
- •Ibm, которая привезла в Австралию заказанную ей программную
- •1. Область загрузки диска, сохраняющая основ-
- •2. Таблица расположения файлов (fat) и дирек-
- •3. Последний уровень защиты - файловый. Не-
- •10 Абонентов, имеющих связь друг с другом, требует как минимум 90
- •Image.Cfg .. A:
- •Idea. Ключ idea длиной в 128 бит, на первый взгляд кажется
- •1993 Году лишь незаконное использование кредитных карточек с
- •1200 Раз перевел по 10 фунтов на собственный счет, зная, что
- •300 Часов круглосуточно отслеживая телефонные звонки, засекли его
- •100 Рабочих станций этой фирмы, объединенных в сеть,
- •20 Случаев пользователь вместо пароля вводит: свое имя, название
- •Ivanuglov как пароли. При анализе списка пароля наблюдались такие
- •3.11, Когда за счет посылки сообщения с адресом станции
- •Irene iron jazz job julia
56 Бит, что недостаточно для таких задач, как национальная
безопасность. Свое развитие DES получил в ГОСТ 28147-89, который
увеличил длину ключа до 256 бит и допустил произвольные
перестановки. В заключение приведем программу, демонстрирующую
эффект взбивания на блоке в 64 байта. С увеличением числа
взбиваний порча единственного бита в шифровке делает нечитаемой
половину текста, что обусловлено побайтовой перестановкой. Если
бы перестановка была побитовая, то весь текст от ошибки в
единственном бите перестал бы читаться.
'------программа шифрования взбиванием
DEFINT I-N: DEFSTR S
RANDOMIZE 231
CLS:LOCATE 1, 1
Lot = 5
s$ = ""
FOR i=1 TO 64:s$=s$+CHR$(65+25*RND):NEXT
PRINT s$; " - text": sav = s$
s$ = ""
FOR i=1 TO 192: s$=s$+CHR$(255*RND): NEXT
'---------------------шифрование
FOR i = 0 TO Lot
sc=MID$(ss,1+I*32,32)
l=2^i:sl="": r=""
FOR j = 1 TO 32
kg=ASC(MID$(sc, j, 1))
kl=ASC(MID$(s$, j, 1))
kr=ASC(MID$(s$, j+32,1))
sl = sl+ CHR$(kl XOR kr)
sr = sr+ CHR$(kr XOR kg)
NEXT
s$=sr+RIGHT$(sl,l)+LEFT$(sl,32-l)
NEXT
'----------------------порча бита
ss=CHR$(ASC(s$) XOR 4)+RIGHT$(s$,63)
'-----------------печать шифровки
FOR i =1 TO 64
k = ASC(MID$(s$, i, 1))
DEF SEG=47114: POKE 2*i-2, k: DEF SEG
NEXT
LOCATE 2, 65: PRINT " - code"
'---------------расшифровывание
FOR i = Lot TO 0 STEP -1
sc=MID$(s$, 1+i*32, 32): l=2^i
s$=RIGHT$ (s$ ,32-
l)+MID$ (s$, 33,l)+LEFT$ (s$, 32)
sl = "": sr = ""
FOR j = 1 TO 32
kg = ASC(MID$(sc, j, 1))
kl = ASC(MID$(ss, j, 1))
kr = ASC(MID$(ss, j+32, 1))
sl = sl+ CHR$(kl XOR kr XOR kg)
sr = sr+ CHR$(kr XOR kg)
NEXT
ss = sl+sr
NEXT
FOR i =1 TO 64
k = ASC(MID$(s$, i, 1))
DEF SEG=47124: POKE 2*i-2,k: DEF SEG
NEXT
LOCATE 3, 65: PRINT " - text"
n = 0
FOR i =1 TO 64
IF MID$ (s$, i, 1) =MID$(sav, i,1) THEN
LOCATE 4, i: PRINT "+";: n = n+I
ELSE
LOCATE 4, i: PRINT "-";
END IF
NEXT
LOCATE 6, 1: PRINT 64 - n; "errors"
END
Шифр DES принят федеральным стандартом США, и хорош в
использовании для многих коммерческих приложений. Однако
правительства сами никогда не используют шифры, предлагаемые
коммерсантам, чтобы закрыть свои данные, так как они недостаточно
стойки от атак аналитиков. Например, 16-кратный DES был взломан
Шамиром, применявшим дифференциальный криптоанализ, и Матсуи,
использовавшим линейный криптоанализ. Наиболее серьезную
практическую атаку на DES осуществил Мишель Винер, который
разработал и опробовал микросхему, проверяющую в секунду 50
миллионов ключей DES. ЭВМ, стоящая миллион долларов и содержащая
несколько десятков тысяч таких микросхем, способна перебрать все
ключи DES за 7 часов. АБН и ФАПСИ тратят на вычислительную
технику такие деньги, что могут построить ЭВМ, взламывающую
шифровку DES за секунду. Это означает, что DES нельзя
пользоваться для серьезных приложений. Для того, чтобы испортить
правительственным криптоаналитикам сон, коммерсанты применяют так
называемый "тройной DES", шифруя сообщение трижды двумя разными
ключами, что увеличивает реальную длину ключа до 112 бит. Однако
такой метод медленнее обычного DES метода в три раза.
Шифр Энигмы
В заключение обратимся к шифру того типа, который
вырабатывала известная уже машина Энигма инженера Кирха. При его
моделировании на ЭВМ можно достичь хорошей устойчивости при
сравнительной простоте программы. Напомним, что эта машина
представляла собой ряд вращающихся на одной оси барабанов с
электрическими контактами, обеспечивающих множество вариантов
простой замены, определяемой текущим положением барабанов. В
ранних моделях было 5 барабанов, которые перед началом работы
устанавливались по кодовому слову, а в ходе шифрования они
поворачивались при кодировании очередного символа как в счетчике
электроэнергии. Таким образом, получался ключ заведомо более
длинный, чем текст сообщения. В чем же была слабость шифра?
1. Пять барабанов могли обеспечить лишь около
ста миллионов ключей, что позволяло их за день
перебрать на ЭВМ. Если использовать не 25 ла-
тинских символов, а 256 кодов ASCII и увели-
чить число барабанов, то сложность раскалыва-
ния шифра существенно возрастет.
2. Набор барабанов был ограничен и менялся ред-
ко, что вызвало охоту англичан за их экземпля-
рами в подводных лодках. ЭВМ может для каж-
дой шифровки использовать индивидуальные
барабаны, генерируемые по ключу, а это опять-
таки резко усложняет вскрытие шифра.
3. Наконец, можно сделать движение барабанов
хаотичным по случайной последовательности,
тоже вырабатываемой по ключу.
Подсчитаем число ключей такого шифра, реализованного
программно. Пусть длина периода программного генератора случайных
чисел равна 2**24. Восемь барабанов, генерируемые с помощью этого
генератора, дадут вместе 2**192 вариантов ключа, а если учесть
еще варианты псевдослучайной последовательности, управляющей
движением барабанов, то получится внушительная цифра в 2**216
вариантов ключа. Таким образом, довольно просто получить
устойчивый шифр даже при использовании программного генератора
случайных чисел с периодом малой для криптографии длины. И хотя
несомненно, что криптоаналитики наработали массу "домашних
заготовок" для атак на такой шифр, но еще князь Владимирко
Галицкий знал о том, что "в наше время чудес не бывает", и вскры-
тие шифра Энигмы будет дорого стоить. Поэтому приведем программу,
реализующую описанный подход.
'----------имитация Энигмы
DEFINT I-N: DEFSTR S
CLS : RANDOM12E 231
DIM s(4, 32) AS STRING * 1
ns = 4
ss = "ААААААААААААААААААААААААААААА'
PRINT ss
'-----------ШИФРОВАНИЕ
x = RND(-231)
FOR i=0 TO ns
FOR j=0 TO 32:set(i,j) = CHR$(j):NEXT
FOR j=0 TO 32:SWAP s(i,j),s(i,32*RND):
NEXT
NEXT
s=""
FOR i = 1 TO LEN(ss) 'шифрование символа
k=ASC (MID$ (ss ,i ,1)): IF k>32 THEN k=k-128
FOR j = 0 TO ns:k=ASC(set(j, k)):NEXT
IF k < 32 THEN k = k+ 128
PRINT CHR$ (k); : s = s + CHR$ (k)
k = ns * RND 'поворот колес
FOR j=0 TO 31:SWAP s(k,j),s(k,j+1):NEXT
FOR j=0 TO 32
s(k,j)=CHR$((ASC(set(k, j)) + 32) MOD 33)
NEXT
NEXT
'----------РАСШИФРОВЫВАНИЕ
x = RND(-231)
FOR i=0 TO ns
FOR j=0 TO 32:s(i,j)=CHR$(j):NEXT
FOR j=0 TO 32:SWAP s(i,j),s(i,32*RND):NEXT
FOR j=0 TO 32
IF ASC (set (i, j)) < 64 THEN
m =j:n=ASC(s(i, j))
DO
k=ASC(s(i,n)):s(i,n)=CHR$(m OR 64)
m=n: n=k
LOOP UNTIL m = j
END IF
NEXT j
FOR j=0 TO 32
s(i,j)=CHR$(ASC(s(i,j)) AND 63)
NEXT
NEXT i
ss = s
FOR i = 1 TO LEN(ss)
k=ASC(MID$(ss,i ,1)): IF k>32 THEN k=k-128
FOR j=ns TO 0 STEP -1
k=ASC(s(j,k))
NEXT
IF k<32 THEN k=k+128
PRINT CHR$ (k) ;
k = ns * RND 'поворот колес
FOR j = 0 TO 31: SWAP s(k,j),s(k,j+1):NEXT
FOR j = 0 TO 32
s(k,j)=CHR$((ASC(s(k,j))+32) MOD 33)
NEXT
NEXT i
END
После работы программы на экране появятся три строки,
изображающие: верхняя - исходный текст из букв А, средняя -
шифровку и нижняя - расшифрованный текст:
ААААААААААААААААААААААААААААА
ВА ЖЖЬИХйЙЩСЛЦВФЭШЬРСОТСЗТЫОБ
ААААААААААААААААААААААААААААА
Отметим, что для упрощения текста программы ключ задается
лишь из 3 бит числом 231 и используются лишь 5 барабанов.
На самом деле систем шифрования побольше, чем описано. Но
практически употребляется лишь похожий на DES алгоритм IDEA (