|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Алгоритм криптографической системы на основе вычисления дискретных логарифмов в конечном поле – алгоритм Эль ГамаляУказанная схема алгоритма криптографических преобразований была предложена Тахиром Эль Гамалем в 1985 году (США), она обусловлена сложностью вычисления дискретных логарифмов в конечном поле. Последовательность действий аналогична алгоритму факторизации больших чисел RSA. Действия абонента В – абонента получателя закриптгорафированного (зашифрованного) сообщения. 1. На первом шаге алгоритма абонент В формирует (генерирует) пару ключей шифрования-дешифрования передаваемых сообщений: КОВ - открытый ключ, предназначенный для шифрования открытых сообщений; КЗВ – закрытый (секретный) ключ, предназначенный для дешифрования принимаемых криптограмм. Изначально, со стороны абонента В (абонента – получателя зашифрованных сообщений) случайным образом задается большое простое число Р (модуль производимых вычислений). На практике это число составляет более 100 десятичных знаков, для упрощения процесса изучения алгоритма Эль Гамаля принимается число Р = 977, затем выбирается целое число G < Р, примем G = 378. 2. На втором шаге алгоритмизации случайным образом задается целое число КЗВ –закрытый (секретный) ключ для дешифрования принимаемых закриптографированных сообщений, для примера принимается КЗВ = 529; условием ограничения является КЗВ < Р. 3. Вычисляется значение открытого ключа абонента В, предназначенного для шифрования открытых сообщений для абонента В: КОВ = mod P = 378529 mod 977 = 402 mod 977 → 402. 4. Числовые значения P, G, КОВ являются открытыми параметрами криптографической системы и передаются по незащищенному каналу всем абонентам связи, в частности и абоненту А для обеспечения возможности абоненту-отправителю использовать эти параметры для шифрования открытых сообщений для абонента В. Параметры P и G многопользовательской корпоративной системы защиты и аутентификации электронных сообщений распространяются между всеми абонентами передачи-приема зашифрованных сообщений и являются постоянными для определенного временного интервала, задаваемого администратором безопасности. Параметры КОВ –открытый ключ и КЗВ-закрытый (секретный) ключ формируются индивидуально на каждом рабочем месте абонента защищенной связи. КЗВ-закрытый (секретный) ключ хранится у каждого абонента в защищенном варианте (на съемных носителях) и никогда никому не передается. Открытыми ключами КО все абоненты телекоммуникационной системы обмениваются между собой по открытым каналам. В рассматриваемом примере параметры P, G, KOB от абонента В передаются открыто абоненту А. Действия абонента А для формирования криптограмм открытых сообщений для абонента В. 1. Абонент А свое открытое сообщение, предназначенное для шифрования и передачи сформированной криптограммы абоненту-получателю В, отображает в виде целых чисел в соответствии с принятой таблицей (например, таблица Windows-кодировки). Рассмотрим пример составления криптограммы слова «Криптон». К → 171; р → 209; и → 201; п → 208; т→211; о → 207; н → 206. 2. Для того, чтобы зашифровать сообщение М→ «Криптон» абонент А выбирает случайным образом целое число «К» с учетом следующих условий 1 < К < Р-1; НОД (К; (Р-1)) = 1. Условие, что наибольший общий делитель (НОД) чисел К и (Р-1) равен единице, означает их взаимную простоту. Т.е. число К должно быть взаимопростым с числом (Р-1) = 976 и лежать в пределах от 1 до 976. Например принимается К=473. Необходимо отметить, что для каждого сеанса обмена зашифрованными сообщениями число К индивидуально. 3. Абонент А производит вычисление чисел для формирования криптограммы для абонента В. Изначально вычисляется общее для данной криптограммы число a = GK mod P. Для рассматриваемого примера К=473; G=378; Р=977 следовательно число a = 378473 mod 977 = 950 mod 977 → U. Затем вычисляются криптографические значения каждого символа открытого текста в соответствии со следующей зависимостью: Ci = (KOB)K * Mi mod P. Для рассматриваемого примера: Ci = 402473 * Mi mod 977. С1 = 402473 * M1 mod P = 402473 * 171 mod 977 = 497 mod 977 → 497 → P; С2 = 402473 * M2 mod P = 402473 * 209 mod 977 = 716 mod 977 → 716 → K; С3 = 402473 * M3 mod P = 402473 * 201 mod 977 = 927 mod 977 → 927 → >; С4 = 402473 * M4 mod P = 402473 * 208 mod 977 = 376 mod 977 → 376 →.; С5 = 402473 * M5 mod P = 402473 * 211 mod 977 = 419 mod 977 → 419 → B; С6 = 402473 * M6 mod P = 402473 * 207 mod 977 = 36 mod 977 → 36 → C; С7 = 402473 * M7 mod P = 402473 * 206 mod 977 = 673 mod 977 → 673 → L; Два числа (a; Ci) для каждого семантического символа открытого сообщения являются его криптограммой. Общий вид криптограммы всего открытого сообщения «Криптон» имеет следующее отображение: С = {950 497; 950 716; 950 927; 950 376; 950 419; 950 36; 950 673} → → {U P; U K; U >; U.; U b; U C; U L}. Как видно из отображения криптограммы «С» в случае ее формирования по алгоритму Эль Гамаля (алгоритм дискретного логарифмирования в конечном поле) длина шифртекста становится вдвое больше длины исходного открытого сообщения «М». Таким образом, со стороны абонента А формируется криптограмма С для абонента В с помощью открытого ключа абонента В – КОВ. Эта криптограмма по каналам теледоступа передается от абонента А к абоненту В. Получив криптограмму С, абонент В производит ее дешифрование с помощью своего секретного ключа КЗВ, который хранится только у абонента В под секретом. Действие абонента В по приему и расшифровки криптограммы С, полученной от абонента А. 4. Абонент В по сетевым каналам телекоммуникаций принимает криптограмму С от абонента-отправителя А, которая зашифрована открытым ключом абонента В – КОВ. В этом случае абонент В является санкционированным абонентом, имеющим специальный закрытый (секретный) ключ – КЗВ непосредственно функционально связанный с открытым ключом КОВ, с помощью которого и была сформирована криптограмма С. С помощью своего закрытого (секретного) ключа КЗВ абонент В производит дешифрование криптограммы, полученной от абонента А, используя следующие функциональные преобразования: Mi = mod P Каждый элемент криптограммы дешифруется самостоятельно, в рассматриваемом примере а = 950; КЗВ = 529; Р = 977. Mi = mod 977 Выполнив операцию возведения числа в степень по модулю знаменателя представленной зависимости, получают: 950529 mod 977 = 340 mod 977 → 340. Методика такого вычисления приведена в разделе 2.3, а сам алгоритм представлен на рис. 5. Рис. 5. Алгоритм возведения числа а = 950 в степень 529 по модулю 977. После выполнения операции возведения числа «а = 950» в степень 529 по модулю 977 получают соответствие функционального преобразования криптограммы в открытый текст сообщения, принятого от абонента А. Mi = mod 977 Для вычисления значений открытого текста необходимо воспользоваться методом вычисления обратных величин по модулю. Для чего значение Mi представляется как: Mi = Ci * 340-1 mod 977. Изначально вычисляется значение инверсии числа 340 по модулю 977, т.к. число 977 является простым числом, то это преобразование может быть отображено как: 340-1 mod 977 = 340φ(P)-1 mod P, т.к. Р – простое число, то φ(Р) = Р-1 = 977 – 1 = 976. Следовательно, 340-1 mod 977 = 340975 mod 977 = 250 mod 977 Для вычисления значений Mi получаем следующую зависимость: Mi = Ci * 250 mod 977 Откуда получаем: M1 = C1 * 250 mod 977 = 497 * 250 mod 977 = 124250 mod977 = 171 mod977 → К; M2 = C2 * 250 mod 977 = 716 * 250 mod 977 = 179000 mod977 = 209 mod977 → р; M3 = C3 * 250 mod 977 = 927 * 250 mod 977 = 231750 mod977 = 201 mod977 → и; M4 = C4 * 250 mod 977 = 376 * 250 mod 977 = 94000 mod977 = 208 mod977 → п; M5 = C5 * 250 mod 977 = 419 * 250 mod 977 = 104750 mod977 = 211 mod977 → т; M6 = C6 * 250 mod 977 = 36 * 250 mod 977 = 9000 mod977 = 207 mod977 → о; M7 = C7 * 250 mod 977 = 673 * 250 mod 977 = 168250 mod977 = 206 mod977 → н. Таким образом, при дешифровании с помощью закрытого (секретного) ключа абонента В произведено восстановление принятого закриптографированного сообщения. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.012 сек.) |