Опубликован: 02.03.2017 | Доступ: свободный | Студентов: 2405 / 515 | Длительность: 21:50:00
Лекция 8:

Алгоритмы с открытыми ключами

8.3.3 Пример выполнения атаки на основе китайской теоремы об остатках

Исходные~данные:

N_{1}= 2620595590763345144693186700359738170637959124766023390552357 7708743486405826754889134908712878889866426949841420594546127374968746 3704691027597982381045792187752115484056255124356418017823267456319147 0945512881726415778968582505568195308039434983677266976473866499763291 3738820183706821310507433203861937132913052549942960788848335390037394 6608954216027382001077261982166703560129855861608144340546877016429583 9526450906080526730620279528287119758899389543943591998158763938922196 8046758300050695830713985416717597991930870022544853965458777962931909 648137289765408375166634394924214994296219013143450580985614906283;

N_{2 } = 1404373956322280634703446579661705045380233929445038795196910 8939191622721351334042117943027988219739179215127857273262112408720857 5085635334263838298981285414802497708344255137307727529188557129111432 3963768294617167632028510681829911856058478660674376664320832126316894 7606402829166495400694730956929734685472783298926965979178579784105662 8153673135054858125822469223977739610372727151870093086752152869771307 3467493421736819899669678212641557159981424135655309012610054286808387 9520929487076060467246719139718422376341840235179419394933429027866125 906378222980586843220420100138771858151139634024553669934223886607;

N_{3} = 1678762549783158397789297902611957781442911408001435228447125 0202063154360775415905721304251931956720446037943647416174134426911566 5212990059682834427697301545254518302708049934908529962522695547077196 3230698471528227970703734830356915746959604252425636041283401479887740 4322176725761721902946480880822193710599559142350970463792284136048849 7544583768616918174829041738653440422210516040921622855920557488080866 4309140695930461054347617641431967212377776787337055888304116258297846 9227591560752572050022468537356199792558856097689011471958919584692498 500245987683611873312532240213872073959474934338996846004302775537;

C_1= 4927139668939115071182968571701562304473718670620554307010688 1062090413635818301115427131412979009259007051009291844710074543775650 6516091527776544977721235554003704444593860610457655753309542143091955 7022261909268967057374961078768152217628589481286924844350506066728881 1473812492507877737379593844465799176180271907072851233493907805067518 8437332715271665418501912559134109018864658897093701890552483116702122 6061148157077899368221090313561236504179559243208369732033772455827306 9885989713330049648986010254199574027123751067293726506915040515035321 29413622932103918478494329377614278246377310198475360664888159698

C_2= 3968904170996511074822512049317096671468123928927710698588786 2347631886514250093559580298720231340125645657836036173135232353725327 1463638334669264317836171769199659586183542349898954031121711885587682 9157809932216110967296980031363470360774569191729660576200413662944516 2239552010112356886221078835918681512698544646875041376476380679149594 6228326687802420878384865328494980645673174579578595475235815167063272 6383360324448016877640031260359897273404846113595628745775834042432714 2510945980040123373707520807207125269432787473039210714621060676962495 55526071081634210584640898292343334109384890322861662213339826806

C_3= 2693434464101963658612411044117300168679280228386801221153426 9534648413073139833416490884467353782556651124872003929791054528059521 9750178127743617105872428304027181612949559624296295303659876228036366 1172080005585577843506210407098282557890991077271720540702078785134336 4204874516864307636270232905646677124930139153281613748156352379189398 0516732942593222620332350649515771205783855908682127130916311303600896 2726424558876252115570834611302696707152581624589109290455282184973051 7701394206986426270816677531308584524442338494896621843059785765006275 39756315409235915749943340705460409673942434752665551704951603699

e=3. Найдём сообщение m.

  1. Запустим систему компьютерной алгебры Maxima и введём в неё исходные данные.

  2. Найдём y = m^3 из условий: y=C_i (\mod N_i). Для решения этой системы уравнений используется функция chinese.
    (%i8) mcube:chinese([c1,c2,c3],[N1,N2,N3]);
    (%o8) 1439619746877070775526192128945758968992165680996
          3966572720001979003084347216085169846710176736442
          2607102784602056703967564355254187236240029273958
          5244623799154989886682303658655987332618285682692
          1673617098179274483891388669524107519774675750988
          5071342316383704181434566679343998766513563861662
          3709617247882929434704037023359692069389958441799
          9598227129708607068497886977208029397728335933695
          8553982958213317414845600724816716404544112021449
          4656103946055056386082865741853419774396410771345
          3805185312405889293788831589145513935021181672031
          6464546892480620465275275072448707709191544241239
          3719042339415429661220875253048244629952
         
  3. Извлечем целочисленный кубический корень и выполним проверку.
    (%i9) m:inrt(mcube,3);
    (%o9) 1129143828159925261514152138232499122318221028152
          1382337992526189912371124261599251026102215282624
          1299341830262427182728152237991099282499121034159
          9272424113515231815991415341830262940289918992526
          24331828104028
    (%i10) m^3-mcube;
    (%o10) 0
         

Вновь декодируем результат по таблице 6.1 (см. "лекцию 6" ):

БУДЬТЕ ПРЕДЕЛЬНО ВНИМАТЕЛЬНЫ ПРИ ВЫБОРЕ ПАРАМЕТРОВ ШИФРОСИСТЕМЫ А ТО ВАШЕ СООБЩЕНИЕ ДЕШИФРУЮТ И ПРОЧИТАЮТ
    
Евгений Шаров
Евгений Шаров

как начать заново проходить курс, если уже пройдено несколько лекций со сданными тестами?

Юлия Мышкина
Юлия Мышкина

Обучение с персональным тьютором осуществляется по Скайпу или посредством переписки?