Кіріспе

Шифр дизайнының құрылымы

Криптографияда SP желісі немесе алмастыру-пермутация желісі (SPN) – AES (Rijndael), 3 Way, Kalyna, Kuznyechik, PRESENT, SAFER, SHARK және Square сияқты блок шифрлеу алгоритмдерінде қолданылатын байланысты математикалық операциялардың тізбегі. Мұндай желі кіріс ретінде ашық мәтін блогы мен кілтті қабылдайды және шифрланған мәтін блогын жасау үшін алмастыру жәшіктерінің (S жәшіктері) және пермутация жәшіктерінің (P жәшіктері) бірнеше кезектесетін раундтарын немесе қабаттарын қолданады. S және P жәшіктері кіріс биттерінің блоктарын шығыс биттеріне түрлендіреді. Бұл түрлендірулер, мысалы, эксклюзивті немесе (XOR) және биттік айналу сияқты аппараттық құралдарда тиімді болатын операциялар болуы мүмкін. Кілт әр раундта, әдетте, одан туындаған "раунд кілттері" түрінде енгізіледі. (Кейбір конструкцияларда S жәшіктерінің өзі кілтке тәуелді болуы мүмкін.) Шифрды жою процесті кері орындау арқылы жүзеге асырылады (S және P жәшіктерінің кері функцияларын қолданып және раунд кілттерін кері ретпен қолдану арқылы).

Құралымдары

S-блогы биттердің кішкентай блогын (S-блогының кірісі) басқа биттер блогымен (S-блогының шығысы) алмастырады. Бұл алмастыру бір-бірге сәйкес болуы керек, кері аударылуды қамтамасыз ету үшін (содан кейін шифрлау). Атап айтқанда, шығыстың ұзындығы кіріс ұзындығымен бірдей болуы керек (оң жақтағы суретте 4 кіріс және 4 шығыс биті бар S-блок көрсетілген), бұл жалпы S-блоктардан өзгеше, мысалы, Деректерді шифрлеу стандартында (DES) ұзындығын өзгерте алады. S-блок әдетте биттердің қарапайым орналасуы емес. Керісінше, жақсы S-блокта әрбір шығыс биті әрбір кіріс битіне әсер етеді. Нақтырақ айтқанда, жақсы S-блокта әрбір шығыс биті әрбір кіріс битімен 50% ықтималдықпен өзгереді. Әрбір шығыс биті 50% ықтималдықпен өзгеретіндіктен, шығыс биттерінің шамамен жартысы кіріс битінің өзгеруімен өзгереді (қ.с. қатаң қар көшкінінің критерийі). P-блок – барлық биттердің орналасуы: ол бір раундтың барлық S-блоктарының шығыстарын қабылдайды, биттерді орналастырады және оларды келесі раундтың S-блоктарына жібереді. Жақсы P-блоктың қасиеті – кез келген S-блоктың шығыс биттері мүмкіндігінше көп S-блоктың кірісіне таратылады. Әр раундта раунд кілті (кілттен кейбір қарапайым операциялар арқылы алынады, мысалы, S-блоктары мен P-блоктарын пайдалану) әдетте XOR арқылы кейбір топтық операциялармен біріктіріледі.

Қасиеттері

Бір типті S қорабы немесе бір P қорабының криптографиялық күші шамалы: S қорабын алмастыру шифры, ал P қорабын ауыстыру шифры ретінде қарастыруға болады. Дегенмен, бірнеше рет кезектесіп орналасқан S және P қораптарынан құралған SP желісі Шеннонның шатасу және таралу қасиеттерін қанағаттандырады: Таралудың себебі мынадай: Егер жай мәтіннің бір биті өзгертілсе, ол S қорабына жіберіледі, оның нәтижесі бірнеше битте өзгереді, содан кейін барлық осы өзгерістер P қорабы арқылы бірнеше S қораптарына таратылады, осылайша осы S қораптарының нәтижелері де бірнеше битте өзгереді және т.б. Бірнеше раундтан кейін әр бит бірнеше рет алға-артқа өзгереді, сондықтан соңында шифрланған мәтін псевдокездейсоқ түрде толыққанды өзгеріп кетеді. Атап айтқанда, кездейсоқ таңдалған кіріс блогы үшін, егер i-ші бит ауыстырылса, онда j-ші шығыс битінің өзгеру ықтималдығы кез келген i және j үшін шамамен жартысына тең, бұл қатаң лавиналық критерий. Керісінше, егер шифрланған мәтіннің бір биті өзгертіліп, оны шифрлауға тырысылса, нәтиже түпнұсқа жай мәтіннен мүлдем өзгеше болады – SP шифрлері оңай бұзылмайды. Шатасудың себебі де таралу сияқты: кілттің бір битін өзгерту бірнеше раунд кілттерін өзгертеді, және әр раунд кілтінің әрбір өзгеруі барлық биттерге таралып, шифрланған мәтінді өте күрделі түрде өзгертеді. Егер шабуылшы бір шифрланған мәтінге сәйкес келетін бір жай мәтінді алуға қол жеткізсе – белгілі жай мәтіндік шабуыл, немесе одан да нашар, таңдалған жай мәтін немесе таңдалған шифрланған мәтіндік шабуыл – шатасу мен таралу шабуылшыға кілтті қалпына келтіруді қиындатады.

Өнер көрсету

S қораптарын пайдаланатын Файстел желісі (мысалы, DES) SP желілеріне өте ұқсас болғанымен, кейбір жағдайларда осыны немесе оны қолдану тиімділігін анықтайтын айырмашылықтар бар. Белгілі бір деңгейде шатасу мен таралу қамтамасыз етілгенде, SP желісі көбірек "табиғи параллельділікке" ие, сондықтан көптеген орындау бірліктері бар процессорларда Фейстел желісінен гөрі жылдам есептеледі. Аз орындау бірліктері бар процессорлар (көптеген смарт-карталар сияқты) осы табиғи параллельділіктен пайдалана алмайды. Сонымен қатар, SP шифрлары S қораптарының кері айналуын (дешифрование үшін) талап етеді, ал Фейстел желісінің ішкі функцияларында мұндай шектеулер жоқ және оларды бір бағытты функциялар ретінде құруға болады.