- •1. Принципы организации связи в телекоммуникационных системах.
- •Сообщения, сигналы и методы их модуляции
- •1.1.1. Сообщения и принципы их передачи
- •1.1.2. Качество передачи сообщения.
- •1.1.3. Спектральное представление электрического сигнала.
- •1.1.4 Представление непрерывных сигналов дискретными
- •1.1.5 Аналоговые и цифровые сигналы
- •1.1.6 Модуляция и демодуляция электрического сигнала.
- •Непрерывные виды модуляции.
- •Импульсные виды модуляции.
- •Импульсно-кодовая модуляция (икм).
- •Частота дискретизации электрического сигнала.
- •Квантование амплитуды электрического сигнала.
- •Цифровая система передачи.
- •1.2. Импульсно-кодовая модуляция - основа построения цифровых систем передачи.
- •Система икм.
- •Система синхронизации.
- •Группообразование системы икм.
- •1.2.4 Плезиохронная и синхронная цифровые иерархии
- •L.3. Асинхронные методы передачи.
- •1.3.1 Метод передачи пакетов
- •Физический уровень
- •Канальный уровень.
- •Сетевой уровень
- •Транспортный уровень
- •Сеансовый уровень
- •Представительный уровень
- •Прикладной уровень
- •1.3.2 Асинхронный метод передачи
- •1.4 Основные принципы построения телекоммуникационных сетей.
- •1.4.1 Системы передачи информации
- •1.4.2 Системы распределения информации
- •2. Маршрутизация в каналах связи сетевой уровень
- •2.1. Коммутация информациооных потоков в сетях
- •2.2 Маршрутизация в информационных сетях
- •2.2.1. Проблема маршрутизации в информационных сетях.
- •2.2.2. Методы маршрутизации, основанные на выборе кратчайшего пути.
- •2.2.3 Централизованные алгоритмы нахождения кратчайшего пути
- •2.2.4 Распределенный асинхронный алгоритм Беллмана-Форда.
- •Исходный граф сети
- •2.2.5 Адаптивная маршрутизация, основанная на кратчайших путях.
- •2.2.6. Волновые методы маршрутизации
- •3. Физические основы передачи (процессы физического 1-го уровня)
- •3.1 Электрические линии как передаточные элементы
- •Влияние длины проводника на передачу высокочастотных сигналов
- •3.2 Уравнения линий связи
- •3.3 Передаточные характеристики электрических линий
- •3.3.1 Статический коэффициент передачи
- •3.3.2. Свойства проводника, потерями в котором можно пренебречь
- •3.3.3. Свойства проводника, потерями в котором нельзя пренебречь
- •3.4 Передача сигналов по световодам
- •3.4.1 Принцип действия оптических передающих систем
- •3.4.2 Передаточные свойства световода
- •Удобно, однако, пользоваться этой формулой в виде:
- •3.4.3 Источники и детекторы светового излучения
- •4. Передача данных на физическом уровне.
- •4.1 Спектр модулированного сигнала.
- •4.2 Цифровое кодирование.
- •4.2.1 Требования к методам цифрового кодирования.
- •Метод биполярного кодирования с альтернативной инверсией.
- •Потенциальный код с инверсией при единице.
- •Биполярный импульсный код.
- •Манчестерский код.
- •4.3 Логическое кодирование
- •4.4 Интерфейсы физического уровня
- •5. Методы доступа к сети
- •5.1. Система опроса/выбора.
- •5.3. Множественный доступ с временным разделением (tdma)
- •5.4. Протокол bsc.
- •5.4.1. Форматы bsc и управляющие коды.
- •5.4.2. Режимы канала
- •5.4.3. Управление каналом
- •5.4.4. Проблемы, связанные с bsc
- •5.5. Протокол hdlc.
- •5.5.1. Формат кадра hdlc
- •5.5.2. Кодонезависимость и синхронизация hdlc
- •5.5.3. Управляющее поле hdlc
- •5.5.4. Команды и ответы
- •5.5.5. Процесс передачи в протоколе hdlc
- •5.5.6. Подмножества hdlc
- •6. Организация мультиплексных каналов последовательной передачи информации
- •6.1. Мультиплексная линия передачи информации.
- •6.2. Виды сообщений при организации обмена информацией по млпи.
- •6.3. Форматы слов при организации обмена информацией.
- •6.4. Обобщенная логическая структура оконечного устройства.
- •6.5. Примеры применения принципов мультиплексирования в бортовом оборудовании летательных аппаратов.
- •6.6. Недостатки мкио, реализованного по стандарту мil-std-1553в.
- •7. Волоконно-оптические каналы связи для организации обмена информацией между элементами комплекса
- •8. Помехоустойчивость и кодирование.
- •9. Криптографическая защита данных.
- •9.1. Криптографические системы с открытым ключом. Метод rsa.
- •9.1.1. Алгоритм метода.
- •9.1.2. Пример работы метода.
- •9.1.3. Характеристика метода.
- •9.1.4. Программа демонстрации работы метода шифровании rsa.
- •Порядок выполнения программы.
9.1.3. Характеристика метода.
Криптостойкость алгоритма RSA основывается на предположении, что исключительно определить секретный ключ по известному, поскольку для этого необходимо решить задачу о существовании делителей целого числа. Данная задача не имеет до настоящего времени эффективного (полиномиального) решения. Более того, вопрос существования эффективных алгоритмов решения, таких задач является открытым. В связи с этим для чисел, состоящих из 200-т цифр (а именно такие числа рекомендуется использовать), традиционные методы требуют выполнения огромного числа операций (около 1023).
Метод является очень перспективным, поскольку не требуется передачи ключа пользователям. Это выгодно отличает его от других методов криптографической защиты данных. Но в настоящее время к этому методу относятся вероятностно -сомнительно, поскольку в ходе дальнейшего развития науки и техники может быть найден эффективный алгоритм определения делителей целых чисел, в результате чего метод станет абсолютно незащищённым.
В остальном, метод RSA обладает только достоинствами. К числу этих достоинств, следует отнести очень высокую криптостойкость, довольно простую программную и аппаратную реализации. Правда, использование этого метода для защиты информации неразрывно связано с уровнем развития вычислительной техники.
9.1.4. Программа демонстрации работы метода шифровании rsa.
Программа осуществляет генерацию секретного и открытого ключей, шифрование текстового файла и его дешифрование.
Краткое описание.
Данная программа предназначена для демонстрации работы метода шифрования открытым ключом RSA. Текст, для шифрования считывается из файла исходных данных TEXT.DAT, затем шифруется и в шифрованном виде записывается в файл TEXT.RSA. После этого программа осуществляет дешифрацию, результат которой записывается в файл TEXT.RES. Числа р и q генерируются случайным образом на заданном границами интервале. Число d определяется как взаимно простое с результатом умножения (р-1 )(q-l). Число е определяется как удовлетворяющее соотношению (e*d)mod(p-l)(q-l)=l. С целью избежать зависания программы при выборе d и е в процессе подбора этих чисел генерируются новые значения р и q. Шифрование производится по формуле:
Ci=Mi*mod n,
где Mi и Ci имеют тот же смысл, что и в при шифровании. Числа р и q берутся маленькими по сравнению с реальными задачами, поскольку даже при небольшом их увеличении не хватает разрядной сетки для вычислений (Mi возведенное в степень e«d получается огромным). О работе с программой. После вычислений и печати сообщения о завершении работы можно нажать любую клавишу и провести вычисления заново, а можно нажать <Escape> и выйти из программы.
program RSA_security_method; uses
Crt, Plus, Win Work, Win;
const
LMp
= 5; RMp=13;
LMq
= 7; RMq = 3; RMe = 7; LMe=l;
{используемые в программе }
{границы для генерации чисел }
{ р, q, e, d. Эти числа генерируются }
{ случайным образом в заданных }
{пределах и затем производится }
{проверка их допустимости. }
var
a,b :longint;
z :longint;
n :longint;
e :longint;
d :longint;
p,q :longint;
i :longint;
x,xl :double;
df :text;
rfl :text;
rf :text; Sym rchar;
C,M :longint;
Man W : WindowType;
{ Вспомогательные переменные}
{ Произведение(я-1 )(р-1) }
{ Произведение p*q }
{ Число е }
{ Число d }
{ Числа р и q }
{Счетчик } { Вспомогательные переменные }
{ Файл данных (текст) }
{Файл результата! }
{ Файл результата 2 }
{ Считанный символ }
{ Коды символа }
{ Окно сообщения }
const {Символы оформления }
WatSymbols : array[1..4] of char = (‘\’, '|',’/’,'-');
WaitNum : byte = 1;
{Функция возведения числа в положительную целую степень Power } {Входные и выходные переменные: Р - степень, }
{ Num - число для возведения в степень. }
function Power(Num, Р : Longint): Longint; var
i : Longint; {Используемые переменные}
Mult : Longint; {Счётчик }
begin
Mult:=l; {Начальное значение }
for i := 1 to P do Mult := Mult *Num;{Последовательное умножение}
Power := Mult; end;
Begin {Основная программа}
repeat
TextAttr := darkgray;
ClrScr; {Очистка экран }
OpenWin(5, 5, 75, 17, 'Метод RSA', white+16*blue,
white+16*blue, 1, 0, true, 1, yellow, blue, MainW);
WriteStr(9, 2, 'Программа демонстрации работы метода шифрования RSA.',
white+16*blue);
WriteStr(25, 4, 'Идет подбор параметров', white+16*blue); repeat
RANDOMIZE; {Иниц-я ген-pa ел. чисел}
WriteStr(35, 6, WaitSymbols[WaitNumJ, white+16*blue);
if WaitNum<4 then inc(WaitNum) else WaitNum:=l;
repeat
{Генерация
числа р) (Проверка является } {ли
р простым числом }
p:=round(random*(RMp-LMp+1 )+LMp); i:=2;
while ((-int(p/i)+p/i)<>0) and (i<p) do inc(i); until i=p;
repeat
repeat
{Генерация числа q} {Проверка является ли} { q простым числом }
q:=round(random*(RMq-LMq+1 )+LMq); i:=2;
while ((-int(q/i)+q/i)<>0) and (i<q) do inc(i);
until i=q;
{Проверка условия p<>q} {Вычисление n}
{Вычисление z}
{Нахождение числа d } {взаимно простого с z }
until (p<>q) and (p*q>35); n:=p*q;
z:=(p-i)*(q-i);
a:=z;
{repeat}
d:=round(random*(RMd-LMd+1 )+LMd);
b:=d;
while a<>b do
if a>b then a:=a-b else b:=b-a;
until (a=l) and (pod) and (p<>q); {repeat}
{Нахождение числа е, } {удовлетворяющего соотн.} {(e*d)modz= 1 }
e::=round(random*(RMe-LMe+1 )+LMe);
until ((e*d) mod z)=l;
{e:=round(z/(d mod z));}
GotoXY(25,4);
writeln(' Параметры метода ');
GotoXY(25,6);
writeln(' Число р=',р:2,' Чисто n=',n:2);
GotoXY(25,7);
Writeln(‘Число q=',q:2,' Число d=',d:2);
GotoXY(25,8);
writeln(' Число е=',е:2);
textattr:=white+16*blue;
{Считывание символа } {Получение его кода }
{Определение
файла данных}
{файла результата 1,}
{файла
результата 2} }
while not EoF(df) do begin
read(df,Sym);
case Sym of
'А'..'Я' : M:=ord(Sym)-127; ' ' :M:=34;
‘.‘ :M:=35;
‘,’ :M:=36;
' ! ' :M:=37;
' ? ' :M:=38;
' + ' :M:=39; {Возведение Ме}
{Получение кода С}
{Запись кода в файл рез-в } {Возведение Cd }
{Дешифрация кода С }
‘-‘ :М:=40;
else M:=l;
end;
х :=ехр(еЛп(М)-1п(п));
xl:=frac(xl);
C:=round(n*xl);
Write(rfl,C);
x:=exp(d*ln(M)-ln(n));
xl:=frac(x);
M:=round(n*xl);
Case M of
1..33 :M:=M+127;
34 : M:=32;
35 : M:=ord('.');
36 : M:=ord(',');
37 : M:=ord(' ! ');
38 : M:=ord(' ? ');
39 : M:=ord(' -');
40 : M:=ord(' + '); end;
{Печать декодированного } {символа } }
write(rf,chr(M));
end;
{Закрываем файлы }
readln(df);
writeln(rfl); writeln(rf); end;
close(df); close(dfl); close(rf);
GotoXY(20,10): write(' Работа программы завершена успешно ');
Sym:=readkey;
Close Win(MainW);
{Очистка
экрана }
end;
