Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
123.docx
Скачиваний:
83
Добавлен:
01.05.2015
Размер:
817.28 Кб
Скачать

Диффи-Хеллман алгоритмі. Rsa алгоритмі

Диффи мен Хелман біржақты функциялардың көмегімен құпия кілттің берілуін мүлдем талап етпейтін берік құпия жүйенің тұрғызылуы мүмкін екендігін дәлелдеген.

Дискретті логарифмдер функцияларын қолдану арқылы қолданушылар арасында құпия кілттерді ауыстыру мысалы:

Айталық, барлық қолданушыларға және Р белгілі болсын. Қолданушы i кездейсоқ жағдайда хi, 1 xi  p-1, бүтін санын таңдайды және бұл санды құпияда сақтайды, бірақ yi-ге хабарлайды:

(анықтамада құпия мәліметтерді айырбастау жүйесінің абоненті болғысы келетін барлық қолданушылардың yi мәндері тіркеледі, бірақ бұдан кейін олардың біреуі де өзінің yi-нен бас тарта алмайды).

Егер енді қолданушылар i және j құпия байланыс орнатқылары келсе, онда оны мынадай тізбекпен іске асыруға болады:

  1. Қолданушы i анықтамадан yj мәнін таңдайды және өзінің құпия xi көмегімен zij мәнін есептейді:

Қолданушы j дәл осындай тәсілмен zji мәнін есептейді:

болғандықтан, бұл мән екі қолданушыға ғана белгілі болады, өйткені оны есептеу үшін құпия хi мен хj қолданылған.

  1. Қолданушылар i мен j қандай да бір шифрлеу тәсілін қолдану жайлы келіседі, ал zij= zji мәндерін түйінді орнату ретінде қолданады. Ешбір қаскүнем yi және yj мәндері бойынша f(x)=ax (mod p) функциясы біржақты болғандықтан zij= zji есептей алмайды.

Қауіп-қатерлер:

  1. Қолданушы өзінің yi мәнін есептеуде қате жіберуі мүмкін.

  2. Қаскүнем, торап абоненті болып және анықтамаға yi-ді орналастырып, анықтаманы қолданып, жоғарыда көрсетілген сызба бойынша олармен байланыс орната отырып басқа қолданушылардан құпия ақпарат алу мақсатымен басқа кез келген абоненттің атынан бүркемеленуі мүмкін.

  3. Уақыт ағымына қарай хi қолданушылардың құпия мәндері қаскүнемге белгілі болуы мүмкін, онда ол берілген қолданушының барлық құпия жазбаларын оқуға мүмкіндік береді.

Қауіп-қатердің алдын-алу үшін ақпаратты ашуға келесі шараларды өткізу талап етіледі:

  1. Лицензиялық қауіпсіздік қызметін құру.

  2. Ашық кілттер тарату жүйесінің абоненттер аутентификациясы құжаттарын құру.

  3. Абоненттердің алғашқы кіруін қауіпсіздік қызметінің араласуы арқылы құпия мәліметтерге айырбастау.

  4. Барлық абоненттерді анықтамада жаңа абоненттердің пайда болуымен шақырылған кілттердің өзгеруі, абоненттердің жүйеден шығуы, абонентпен өзінің кілтін өзгерту жайлы қауіпсіздік қызметімен хабарлау.

Алгоритмнің негізгі жетіспеушілігікілтті ашу қиындығының кепілденген төменгі бағасының болмауы.

RSA алгоритмі (1978ж. – Р.Райвест, А. Шамир, А. Адлеман)

RSA алгоритмі мәліметтерді шифрлеу режиміндегідей, сандық қолтаңба режимінде де жұмыс жасайды.

Оның қорғалғандығын кепілдікпен бағалауға болады: (RSA-ны ашу екі үлкен жай сандардың туындыларының көбейтінділеріне бөлумен эквивалентті екендігі дәлелденген).

RSA алгоритмі банктік компьютерлік тораптарда, әсіресе өшірілген клиенттермен жұмыс жасауда қолданылады (кредиттік карточкаларға қызмет ету). Қазіргі уақытта көптеген стандарттарда қолданылады (SSL, S-HHTP, S-MINE, S/WAN, STT және PCT).

Алгоритмнің сенімділігі үлкен сандар факторизацияларының қиындықтарына және дискретті логарифмдерді есептеу қиындықтарына негізделеді.

(1)

Криптожүйеде ашық кілт Кв, құпия кілт kв, хабар М және криптожүйе С бүтін сандар жиынына жатады:

(2)

мұндағы N – модуль:

N=P*Q

P және Q – кездейсоқ үлкен жәй сандар.

Максимальды қауіпсіздікті қамтамасыз ету үшін тең ұзындықтағы P мен Q-ді таңдайды да құпияда сақтайды. N модулі бойынша көбейту мен қосу операциялары бар ZN жиыны N модулі бойынша арифметика құрайды.

Ашық кілт Кв-ны келесі шарттар орындалу үшін кездейсоқ таңдайды:

(3)

1 < Кв  (N),

(4)

ЕҮОБ(Кв, (N))=1

(N)=(P-1)(Q-1)

мұндағы (N) – Эйлер функциясы.

Эйлер функциясы (N) N-мен өзара жәй, 1-ден N-ге дейін интервалдағы оң бүтін сандардың санын көрсетеді. Егер ЕҮОБ(а,b)=1 болса, онда а және b бүтін сандары – өзара жәй сандар. Жоғарыда көрсетілген шарттардың екіншісі ашық кілт Кв және Эйлер функциясы (N) өзара жәй болуы керек дегенді білдіреді.

(5)

Ары қарай, Евклидтің кеңейтілген алгоритмін қолдана отырып, құпия кілт -ны есептейді:

kв*Кв  1(mod (N))

немесе

kв=(mod (Р-1)(Q-1))

kв мен N өзара жәй екенін байқаймыз.

Ашық кілтті мәліметтерді шифрлеу үшін, ал құпия кілт kв-ны – мағынасын ашу үшін қолданады.

Шифрлеудің өзгеруі жұптасу арқылы (ашық кілт Кв, хабар М) келесі формулаға сәйкес С криптограммасын анықтайды:

(6)

С мәнін жылдам есептеу алгоритмі негізінде N модулі бойынша келтірілген М-ге көбейту және бүтін М-ді квадраттаудың тізбектер қатары қолданылады.

функциясын айналдыру, яғни С-ның белгілі мәндері бойынша М мән анықтау, Кв және N N=болғанда іске аспайды.

С криптограммасының мағынасын ашу есебін жұпты (құпия кілт, С криптограммасы) қолдана отырып, келесі формула бойынша шешуге болады:

(7)

(8)

яғни

(7) мен (6)-ның мәндерін (8)-ге қоя отырып мынаны аламыз:

немесе

(9)

(N) шамасы Эйлер теоремасында маңызды қызмет атқарады (Ферманың кіші теоремасының кеңейтілуі), онда, егер ЕҮОБ(х,N)=1 болса, онда

(10)

немесе жалпы түрде:

(9) бен (10)-ды салыстыра отырып, Кв*kв=N*(N)+1 аламыз, немесе дәл солай Кв*kв1(mod(N)).

Сондықтан да құпия кілтті есептеу үшін (5) қолданылады. Сонымен, егер криптограммасын дәрежесіне шығарса, онда алатынымыз:

болғандықтан, М бастапқы мәтін қалпына келеді. Демек, криптожүйені құратын В алушы екі параметрді қорғайды:

  1. құпия кілт kв;

  2. N модулінің мәнін беретін (Р,Q) жұп сандарының туындысы.

Басқа жағынан, В алушы N модулінің мәнін және Кв ашық кілттің мәнін ашады.

Қарсыласқа тек Кв мен N-нің мәндері белгілі. Егер ол N санын Р және Q көбейткіштеріне бөлсе, онда ол үш санның {P, Q, Кв} «құпия кодын» біліп алар еді де, Эйлер функциясының мәндерін есептеп:

және құпия кілттің мәнін анықтар еді.

Өте үлкен N-ді көбейткіштерге бөлу есептеуші негізінде жүзеге асырылмайды (таңдалған Р және Q ұзындықтары кем дегенде 100 мың белгілерден құралу керек, деген шартпен).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]