Раздел: Документация
0 ... 76 77 78 79 80 81 82 ... 169 par3= (MYPAR *)malloc (sizeof (MYPAR) ) ; pmyarg= (MiARG *)arg2; threadl.UniqueThread= (HANDLE)pmyarg->idl ; threadl. UniqueProcess= (HANDLE )GetCur rent Process Id ( ) ; (*par3). client id.UniqueThread=(HANDLE)pmyarg->id2; (*par3).сlient id.UniquePrосеss=(HANDLE)GetCurrentPro cessIdO ; par3->fib=0; par3->st=0; memset (SObjectAttributes,0x00, sizeof(OBJECT ATTRIBUT-ES) ) ; //Открыть handle потока по его идентификатору. bo=NtOpenThread(ShThread, MAXIMUM ALLOWED,SObjectAttri butes,Sthreadl); //Создать волокно fibl=CreateFiber(NULL,(LPFIBER START ROUTINE)f1, (void *)par3); i=SuspendThread(hThread) ; if (i==0xffffffff) { l=GetLastError(); } //Переключить контекст заданного потока my switch (hThread, fibl, (DWORD)fl) ; i=ResumeThread(hThread); //Очистить память CloseHandle(hThread); if(arg2!=0) free(arg2); return 1. • 239 и как защититься от любопытства Основы криптографии Основы криптологии Представьте себе банальную житейскую ситуацию: вы говорите с близким человеком по телефону из помещения, где полным-полно народу. Вы хотите сказать ему (ей) вещи, которые никто, кроме него (нее), не должен слышать, во всяком случае понимать. И вы говорите ему (ей): «Я буду ждать тебя в том же месте, где и тогда, помнишь? когда шел дождь и кое-кто попал в Наука, занимающаяся вопросами безопасной связи, т.е крипто-логия, действует примерно так же. Она берет самое обычное сообщение и машинально перевирает его, чтобы никто чужой не понял, где и в каком месте вы назначаете свидание своей подружке. Или куда переводите миллиард долларов. Криптология помогает своим адептам обмениваться сведениями посредством зашифрованных сообщений, потому она так и называется (от греч. «kryptos»» — тайный, «logos» — наука). Она, в свою очередь, разделяется на два направления: криптографию и криптоанализ. Криптография — наука о создании безопасных методов связи, о создании стойких (устойчивых к взлому) шифров. Она занимается поиском математических методов преобразования информации. Секреты компьютерной криптографии В настоящее время существуют тысячи криптографических систем. Это, как правило, небольшая информация, называемая (секретным) ключом (secret) key - к ней относится большинство систем, реализуемых программно и предназначенных для широкого использования. В системе рассматриваемого типа задача вскрытия системы, то есть нарушения защиты информации без предварительного знания ключа, теоретически разрешима при наличии у вскрывающей стороны неограниченных вычислительных ресурсов. С математической точки зрения надежность криптографической системы определяется сложностью решения этой задачи с учетом реальных вычислительных ресурсов потенциальной вскрывающей стороны. Математическое иссле- 240 дование надежности криптографических систем затруднено отсутствием универсального математического понятия сложности. По этой причине надежность большинства криптографических систем в настоящее время невозможно не только доказать, но даже адекватно сформулировать. Как правило, применение той или иной криптографической системы основано на результатах многолетнего практического криптоанализа систем данного типа, подкрепленных математическим обоснованием. Это обоснование может сводить задачу раскрытия данной криптосистемы к какой-либо задаче теории чисел или комбинаторики, решение которой считается реально неосуществимым, или, что предпочтительнее, к классузадач, сводимость к которому является «эталоном» практической неразрешимости. Понятие же практической неразрешимости для конкретных практических задач не является четко определенным или стабильным благодаря развитию вычислительной техники и методов криптоанализа. Криптография с симметричным ключом Долгое время традиционной криптографической схемой была схема с симметричным ключом - symmetric key, dual key. В этой схеме имеется один ключ, который участвует в шифровании и дешифровании информации. Шифрующая процедура при помощи ключа производит ряд действий над исходными данными, дешифрующая процедура при помощи того же ключа производит обратные действия над кодом. Дешифрование кода без ключа предполагается практически неосуществимым. Если зашифрованная таким образом информация передается по обычному, т.е. незащищенному, каналу связи, один и тот же ключ должен иметься у отправителя и получателя, вследствие чего возникает необходимость в дополнительном защищенном канале для передачи ключа, повышается уязвимость системы и увеличиваются организационные трудности. К классу алгоритмов с симметричным ключом относится метод «одноразового блокнота» — one-time pad, заключающийся в побитовом сложении - «гаммировании» шифруемого текста со случайной последовательностью битов - ключом. Длина ключа должна совпадать с длиной шифруемого текста и каждый отрезок ключа должен использоваться однократно. При выполнении же этих условий данный метод является единственным методом, теоретически устойчивым против криптоанализа противника с 241 0 ... 76 77 78 79 80 81 82 ... 169
|