Shifrlash rejimini bloklash - Block cipher mode of operation

Kriptografiyada a blok shifrining ishlash tartibi dan foydalanadigan algoritm blok shifr ta'minlash uchun axborot xavfsizligi kabi maxfiylik yoki haqiqiyligi.[1] Blok shifrning o'zi faqat bitta qattiq uzunlikdagi guruhning xavfsiz kriptografik transformatsiyasi (shifrlash yoki parolini hal qilish) uchun javob beradi. bitlar deb nomlangan blokirovka qilish.[2] Ishlash tartibi blokdan kattaroq hajmdagi ma'lumotlarni xavfsiz ravishda o'zgartirish uchun shifrning bitta blokli ishlashini bir necha bor qanday qo'llashni tasvirlaydi.[3][4][5]

Ko'pgina rejimlar noyob ikkilik ketma-ketlikni talab qiladi, ko'pincha an deb nomlanadi boshlash vektori (IV), har bir shifrlash jarayoni uchun. IV takrorlanmaydigan va ba'zi rejimlar uchun tasodifiy bo'lishi kerak. Boshlanish vektori aniqlikni ta'minlash uchun ishlatiladi shifrlangan matnlar bir xil bo'lganda ham ishlab chiqariladi Oddiy matn bir xil tarzda mustaqil ravishda bir necha marta shifrlangan kalit.[6] Blok shifrlari bir nechta ishlashga qodir bo'lishi mumkin blok hajmi, lekin konvertatsiya paytida blok hajmi doimo aniqlanadi. Bloklarni shifrlash rejimlari butun bloklarda ishlaydi va ma'lumotlarning oxirgi qismi bo'lishini talab qiladi to'ldirilgan agar u hozirgi blok o'lchamidan kichik bo'lsa, to'liq blokga.[2] To'ldirishni talab qilmaydigan rejimlar mavjud, chunki ular blokirovka shifrini a sifatida samarali ishlatishadi oqim shifri.

Tarixiy jihatdan, shifrlash usullari ma'lumotlarni o'zgartirishning turli xil stsenariylari ostida ularning xato tarqalish xususiyatlariga nisbatan keng o'rganilgan. Keyinchalik rivojlanish ko'rib chiqildi yaxlitlikni himoya qilish butunlay alohida kriptografik maqsad sifatida. Ba'zi zamonaviy ishlash usullari birlashadi maxfiylik va haqiqiyligi samarali tarzda va sifatida tanilgan tasdiqlangan shifrlash rejimlar.[7]

Tarix va standartlashtirish

ECB, CBC, OFB va CFB ishlarining dastlabki usullari (barchasi uchun quyida ko'ring) 1981 yilda boshlangan va FIPS 81, DES ishlash tartibi. 2001 yilda AQSh Milliy standartlar va texnologiyalar instituti (NIST) tasdiqlangan ishlash rejimlari ro'yxatini qo'shib qayta ko'rib chiqdi AES blok shifr sifatida va CTR rejimini qo'shish SP800-38A, Shifrlashni blokirovkalash rejimlari bo'yicha tavsiyalar. Nihoyat, 2010 yil yanvar oyida NIST qo'shildi XTS-AES yilda SP800-38E, Shifrlashni blokirovka qilish rejimlari bo'yicha tavsiyalar: saqlash qurilmalarida maxfiylik uchun XTS-AES rejimi. NIST tomonidan tasdiqlanmagan boshqa maxfiylik rejimlari mavjud. Masalan, CTS shifrlangan matnni o'g'irlash rejimi va ko'plab mashhur kriptografik kutubxonalarda mavjud.

Blok shifr rejimlari ECB, CBC, OFB, CFB, CTR va XTS maxfiylikni ta'minlashi kerak, ammo ular tasodifiy o'zgartirish yoki zararli buzilishlardan himoya qilmaydi. O'zgartirish yoki buzg'unchilik alohida bilan aniqlanishi mumkin xabarni tasdiqlash kodi kabi CBC-MAC yoki a elektron raqamli imzo. Kriptografik hamjamiyat yaxlitlikni kafolatlash zarurligini tan oldi va NIST HMAC, CMAC va GMAC bilan javob berdi. HMAC 2002 yilda tasdiqlangan FIPS 198, Keyed-Hash xabarini tasdiqlash kodi (HMAC), CMAC ostida 2005 yilda chiqarilgan SP800-38B, Bloklash shifrining ishlash rejimlari bo'yicha tavsiyalar: Autentifikatsiya qilish uchun CMAC rejimiva GMAC 2007 yilda rasmiylashtirildi SP800-38D, Blok shifrlash rejimlari bo'yicha tavsiyalar: Galois / Counter Mode (GCM) va GMAC.

Kriptografik hamjamiyat maxfiylik rejimini haqiqiylik rejimi bilan birlashtirish (birlashtirish) qiyin bo'lishi va xatolarga yo'l qo'yishi mumkinligini kuzatdi. Shuning uchun ular maxfiylik va ma'lumotlar yaxlitligini bitta kriptografik ibtidoiy (shifrlash algoritmi) birlashtirgan rejimlarni etkazib berishni boshladilar. Ushbu birlashtirilgan rejimlar deb nomlanadi tasdiqlangan shifrlash, AE yoki "authenc". AE rejimlariga misollar CCM (SP800-38C ), GCM (SP800-38D ), CWC, EAX, IAPM va OCB.

Faoliyat usullari bir qator milliy va xalqaro miqyosda tan olingan standartlar idoralari tomonidan belgilanadi. Tashkilotlar orasida taniqli standartlar mavjud NIST, ISO (ISO / IEC 10116 bilan[5]), the IEC, IEEE, ANSI, va IETF.

Initsializatsiya vektori (IV)

Boshlanish vektori (IV) yoki boshlang'ich o'zgaruvchisi (SV)[5] shifrlashni tasodifiylashtirish uchun va shu sababli bir xil oddiy matn bir necha marta shifrlangan bo'lsa ham, sekinroq keyinglash jarayoniga ehtiyoj sezmasdan, aniq shifrlarni yaratish uchun bir nechta rejimlar tomonidan ishlatiladigan bitlar blokidir.[iqtibos kerak ]

Initsializatsiya vektori kalitga qaraganda turli xil xavfsizlik talablariga ega, shuning uchun IV odatda maxfiy bo'lishi shart emas. Ko'pgina blok shifrlash rejimlari uchun boshlang'ich vektori hech qachon bir xil kalit ostida qayta ishlatilmasligi muhim, ya'ni u bo'lishi kerak kriptografik bo'lmagan. Ko'pgina blok shifrlash rejimlari kuchli talablarga ega, masalan, IV bo'lishi kerak tasodifiy yoki pseudorandom. Ba'zi blok shifrlari ba'zi bir boshlang'ich vektorlari bilan bog'liq muammolarga duch kelmoqdalar, masalan, barcha nol IV shifrlashni yaratmaydi (ba'zi tugmachalar uchun).

Masalan, tegishli spetsifikatsiyada ma'lum bir blok shifrlash rejimi uchun tegishli IV talablarni ko'rib chiqish tavsiya etiladi SP800-38A.

CBC va CFB uchun IV-ni qayta ishlatish oddiy matnning birinchi bloki va ikkala xabar bilan o'rtoqlashadigan har qanday umumiy prefiks haqida ba'zi ma'lumotlarni chiqaradi.

OFB va CTR uchun IV ni qayta ishlatish bitstream oqimining qayta ishlatilishiga olib keladi, bu esa xavfsizlikni buzadi.[8] Buni ko'rish mumkin, chunki ikkala rejim ham oddiy matn bilan XORed bit oqimini samarali yaratadi va bu oqim faqat kalitga va IV ga bog'liq.

CBC rejimida IV oldindan aytib bo'lmaydigan bo'lishi kerak (tasodifiy yoki pseudorandom ) shifrlash vaqtida; Xususan, xabarning oxirgi shifrlangan matn blokini IV sifatida keyingi xabar uchun qayta ishlatishda (ilgari) keng tarqalgan amaliyot xavfli (masalan, SSL 2.0 tomonidan ishlatilgan). Agar tajovuzkor keyingi aniq matnni ko'rsatmasdan oldin IV (yoki oldingi shifrlangan matn blokini) bilsa, ular oldin bir xil kalit bilan shifrlangan ba'zi bloklarning aniq matnlari haqida o'z taxminlarini tekshirishlari mumkin (bu TLS CBC IV hujumi sifatida tanilgan) .[9]

Ba'zi tugmachalar uchun nolinchi boshlash vektori ichki holatni nol darajasida ushlab turish uchun ba'zi bir blok shifr rejimlarini (CFB-8, OFB-8) yaratishi mumkin. CFB-8 uchun nolinchi IV va nolinchi oddiy matn, 1/256 tugmachani shifrlashni keltirib chiqarmaydi, oddiy matn shifrlangan matn sifatida qaytariladi.[10] OFB-8 uchun barcha nolinchi boshlash vektoridan foydalanish 1/256 tugmachani shifrlashga imkon bermaydi.[11] OFB-8 shifrlash ta'sirlangan kalitlar uchun shifrlanmagan oddiy matnni qaytaradi.

Ba'zi rejimlar (masalan, AES-SIV va AES-GCM-SIV) ko'proq noto'g'ri ishlatilishga chidamli, ya'ni tasodifiy hosil qilish noto'g'ri yoki tajovuzkor nazorati ostida bo'lgan stsenariylarga chidamli bo'lishi uchun qurilgan.

  • Sintetik initsializatsiya vektori (SIV) an-ni ishga tushirish orqali ichki IV ni sintez qiladi Psevdo-tasodifiy funktsiya (PRF) inshooti S2V deb nomlangan (qo'shimcha ma'lumotlar va ochiq matn), tashqi ma'lumotlarning IV ni to'g'ridan-to'g'ri boshqarishiga yo'l qo'ymaydi. Tashqi nonces / IV qo'shimcha ma'lumotlar maydoni sifatida S2V-ga uzatilishi mumkin.
  • AES-GCM-SIV ichki IV-ni sintez qiladi, kirish paytida POLYVAL Galois autentifikatsiya rejimini ishga tushirish (qo'shimcha ma'lumotlar va oddiy matn), so'ngra AES operatsiyasi.

To'ldirish

A blok shifr doimiy birliklarda ishlaydi hajmi (a nomi bilan tanilgan blok hajmi), ammo xabarlar har xil uzunlikda bo'ladi. Shunday qilib, ba'zi rejimlar (ya'ni ECB va CBC ) oxirgi blokni shifrlashdan oldin to'ldirilishini talab qiling. Bir nechta to'ldirish sxemalar mavjud. Eng sodda - qo'shish nol bayt uchun Oddiy matn uning uzunligini blok kattaligiga etkazish uchun, lekin oddiy matnning asl uzunligini tiklashga e'tibor berish kerak; bu ahamiyatsiz, masalan, ochiq matn a bo'lsa C uslubi mag'lubiyat oxirida faqat bitta bo'sh bayt bo'lmaydi. Biroz murakkabroq bu asl nusxadir DES usuli, ya'ni bitta qo'shish bit, undan keyin etarli nol bitlar blokni to'ldirish; agar xabar blok chegarasida tugasa, butun to'ldiruvchi blok qo'shiladi. Bu kabi CBC-ga xos sxemalar eng murakkab shifrlangan matnni o'g'irlash yoki qoldiq blokirovkasini tugatish, bu qo'shimcha murakkablik hisobiga qo'shimcha shifr matnini keltirib chiqarmaydi. Shnayer va Fergyuson Ikkala imkoniyatni taklif eting, ikkalasi ham sodda: 128 (hex 80) qiymatiga ega bayt qo'shib, so'ngra oxirgi blokni to'ldirish uchun qancha nol bayt kerak bo'lsa yoki oxirgi blokni to'ldiring n baytlarning hammasi qiymati bilan n.

CFB, OFB va CTR rejimlari uzunliklari blok o'lchamidan ko'p bo'lmagan xabarlarni boshqarish uchun maxsus choralarni talab qilmaydi, chunki rejimlar quyidagicha ishlaydi: XORing blok shifrining chiqishi bilan aniq matn. Oddiy matnning so'nggi qisman bloki XORed bo'lib, keyingisining birinchi baytlari bilan asosiy oqim blok, yakuniy shifrlangan matn blokini ishlab chiqarish bilan yakuniy qisman tekis matnli blok bilan bir xil darajada. Oqim shifrlarining bu xususiyati ularni shifrlangan shifrlangan matn ma'lumotlari asl tekis matn ma'lumotlari bilan bir xil hajmda bo'lishini talab qiladigan dasturlarga va to'ldirish baytlarini qo'shish noqulay bo'lgan joyda ma'lumotlarni oqim shaklida uzatadigan dasturlarga moslashtiradi.

Umumiy rejimlar

Qo'shimcha ma'lumotlar (AEAD) rejimlari bilan tasdiqlangan shifrlash

Bir qator ishlash usullari birlashtirilishi uchun ishlab chiqilgan maxfiylik va autentifikatsiya bitta kriptografik ibtidoiy. Bunday rejimlarning namunalari kengaytirilgan shifr blokirovkasi (XCBC)[tushuntirish kerak ],[12] yaxlitlikni biladigan shifr bloklarini zanjiri (IACBC)[tushuntirish kerak ], yaxlitlikni anglaydigan parallel rejim (IAPM),[13] OCB, EAX, CWC, CCM va GCM. Tasdiqlangan shifrlash rejimlar bir martalik o'tish rejimlari yoki ikkita o'tish rejimlari deb tasniflanadi. Ba'zi bir martalik tasdiqlangan shifrlash kabi algoritmlar OCB rejimi, patentlar bilan cheklangan, boshqalari esa bunday og'irlikni oldini olish uchun maxsus ishlab chiqilgan va chiqarilgan.

Bundan tashqari, ba'zi rejimlar shifrlanmagan bog'langan ma'lumotlarning haqiqiyligini tekshirishga imkon beradi va ular deyiladi AEAD (tegishli ma'lumotlar bilan tasdiqlangan shifrlash) sxemalari. Masalan, EAX rejimi ikki martalik AEAD sxemasi, OCB rejimi esa bir martalik.

Galois / taymer (GCM)

GCM
Galois / taymer
Shifrlash parallelHa
Parolni paralellashtirish mumkinHa
Tasodifiy o'qishga kirishHa

Galois / hisoblagich rejimi (GCM) taniqli odamni birlashtiradi hisoblagich rejimi autentifikatsiya qilishning yangi Galois rejimi bilan shifrlash. Kalit xususiyati - parallel hisoblashning qulayligi Galois maydoni autentifikatsiya qilish uchun ishlatiladigan ko'paytirish. Ushbu xususiyat shifrlash algoritmlariga qaraganda yuqori ishlashga imkon beradi.

Blok hajmi 128 bit bo'lgan blok shifrlari uchun GCM aniqlangan. Galois xabarini autentifikatsiya qilish kodi (GMAC) - bu GCM-ning faqat autentifikatsiya qilish varianti bo'lib, u qo'shimcha ravishda tasdiqlash kodini yaratishi mumkin. Ham GCM, ham GMAC ixtiyoriy uzunlikdagi ishga tushirish vektorlarini qabul qilishi mumkin. GCM parallel ishlov berishning to'liq afzalliklaridan foydalanishi mumkin va GCM ni amalga oshirishdan samarali foydalanish mumkin ko'rsatma quvuri yoki qo'shimcha quvur liniyasi. CBC ish tartibi quvur liniyasi rastalari bu uning samaradorligi va ishlashiga to'sqinlik qiladi.

CTR-da bo'lgani kabi, bloklar ketma-ket raqamlanadi va keyin bu blok raqami IV bilan birlashtiriladi va blok shifr bilan shifrlanadi E, odatda AES. Ushbu shifrlash natijasi keyin shifrlangan matnni yaratish uchun oddiy matn bilan XORed qilinadi. Barcha hisoblagich rejimlari singari, bu ham oqim shifridir va shuning uchun har bir shifrlangan oqim uchun boshqacha IV ishlatilishi kerak.

GCM shifrlash jarayoni

Shifrlangan matn bloklari a ning koeffitsientlari hisoblanadi polinom keyinchalik bu kalitga bog'liq bo'lgan nuqtada baholanadi H, foydalanib cheklangan maydon arifmetikasi. Natijada natija shifrlanadi va ma'lumotlar butunligini tekshirish uchun ishlatilishi mumkin bo'lgan autentifikatsiya yorlig'i hosil bo'ladi. Shunda shifrlangan matn IV, shifrlangan matn va autentifikatsiya yorlig'ini o'z ichiga oladi.

Shifr bloklarini zanjirlovchi xabarlarning autentifikatsiya kodi (CCM) bilan hisoblagich

Shifr bloklarini zanjirlovchi xabarlarni autentifikatsiya qilish kodi bilan hisoblagich (CBC-MAC bilan hisoblagich; CCM) an tasdiqlangan shifrlash ikkalasini ham ta'minlashga mo'ljallangan algoritm autentifikatsiya va maxfiylik. CCM rejimi faqat blokning uzunligi 128 bit bo'lgan blok shifrlari uchun belgilanadi.[14][15]

Sintetik ishga tushirish vektori (SIV)

Sintetik ishga tushirish vektori (SIV) - noto'g'ri ishlatishga chidamli blokli shifrlash rejimi.

SIV, soxta tasodifiy S2V funktsiyasi yordamida ichki IV ni sintez qiladi. S2V - bu klavishli xash CMAC-ga asoslangan va funktsiyaga kirish quyidagicha:

  • Qo'shimcha tasdiqlangan ma'lumotlar (nol, bitta yoki ko'p AAD maydonlari qo'llab-quvvatlanadi)
  • Oddiy matn
  • Autentifikatsiya kaliti (K1).

SIV S2V chiqishi va oddiy matnni AES-CTR yordamida shifrlash kaliti (K) yordamida shifrlaydi.2).

SIV tashqi asoslanmagan autentifikatsiya qilingan shifrlashni qo'llab-quvvatlashi mumkin, bu holda tasdiqlangan ma'lumotlar maydonlaridan biri shu maqsadda foydalaniladi. RFC5297[16] birgalikda ishlash uchun oxirgi tasdiqlangan ma'lumotlar maydonidan tashqi nosozlik ishlatilishi kerakligini belgilaydi.

Ikkala tugmachadan foydalanilganligi sababli autentifikatsiya kaliti K1 va shifrlash kaliti K2, SIV AEAD-variantlari uchun nomlash sxemalari biroz chalkashlikka olib kelishi mumkin; Masalan, AEAD_AES_SIV_CMAC_256 ikkita AES-128 tugmachasi bilan AES-SIV ga ishora qiladi va emas AES-256.

AES-GCM-SIV

AES-GCM-SIV a ish tartibi uchun Kengaytirilgan shifrlash standarti shunga o'xshash ishlashni ta'minlaydigan Galois / hisoblagich rejimi shuningdek, a qayta ishlatilgan taqdirda qarshilikni noto'g'ri ishlatish kriptografik bo'lmagan. Qurilish aniqlangan RFC 8452.[17]

AES-GCM-SIV ichki IV ni sintez qiladi. POLYVAL Galois xash funktsiyasidan foydalangan holda qo'shimcha tasdiqlangan ma'lumotlar va oddiy matn xashini oladi. Keyin xash AES-kaliti bilan shifrlanadi va autentifikatsiya yorlig'i va AES-CTR-ni ishga tushirish vektori sifatida ishlatiladi.

AES-GCM-SIV juda o'xshash algoritmga nisbatan yaxshilanish GCM-SIV, juda kichik o'zgarishlar bilan (masalan, AES-CTR qanday ishga tushirilganligi), ammo uning xavfsizligi uchun amaliy foyda keltiradigan "Ushbu qo'shimcha 2 tagacha shifrlashga imkon beradi.50 bir xil kalitga ega xabarlar, faqat 2 ta cheklov bilan taqqoslaganda32 GCM-SIV bilan ruxsat berilgan xabarlar. "[18]

Faqat maxfiylik rejimlari

Ishlashning ko'plab usullari aniqlangan. Ulardan ba'zilari quyida tavsiflangan. Shifrlash rejimlarining maqsadi shifrlangan ma'lumotlarda mavjud bo'lgan naqshlarni maskalashdir. ECB ning zaifligi.

Turli xil shifr rejimlari naqshlarni shifrlash blokidan yoki boshqa global deterministik o'zgaruvchilardan keyingi shifr blokiga kaskad qilish orqali niqoblaydi. Ro'yxatdagi rejimlarning ma'lumotlari quyidagi jadvalda umumlashtiriladi:

Rejimlarning qisqacha mazmuni
RejimFormulalarShifrlangan matn
Elektron kodlar kitobi(ECB)Ymen = F (oddiy matn)men, Kalit)Ymen
Shifr bloklarini zanjirlash(CBC)Ymen = Oddiy matnmen XOR shifrlangan matnmen−1F (Y, kalit); Shifrlangan matn0 = IV
CBC-ni tarqatish(PCBC)Ymen = Oddiy matnmen XOR (shifrlangan matn)men−1 XOR oddiy matnmen−1)F (Y, kalit); Shifrlangan matn0 = IV
Shifr-mulohaza(CFB)Ymen = Shifrlangan matnmen−1Oddiy matn XOR F (Y, kalit); Shifrlangan matn0 = IV
Teskari aloqa(OFB)Ymen = F (Y)men−1, Kalit); Y0 = F (IV, kalit)Oddiy matn XOR Ymen
Hisoblagich(CTR)Ymen = F (IV +) g(men), Kalit); IV = token ()Oddiy matn XOR Ymen

Eslatma: g(men) har qanday deterministik funktsiya, ko'pincha identifikatsiya qilish funktsiyasi.

Elektron kodlar kitobi (ECB)

ECB
Elektron kodlar kitobi
Shifrlash parallelHa
Parolni paralellashtirish mumkinHa
Tasodifiy o'qishga kirishHa

Shifrlash rejimlarining eng oddiylari bu elektron kod kitobi (ECB) rejimi (an'anaviy fizik nomi bilan nomlangan kod daftarlari[19]). Xabar bloklarga bo'linadi va har bir blok alohida shifrlanadi.

ECB encryption.svgECB parolini hal qilish .svg

Ushbu usulning etishmasligi - bu etishmasligi diffuziya. ECB bir xil shifrlashi sababli Oddiy matn bloklari bir xil shifrlangan matn blokirovka qiladi, bu ma'lumotlar naqshlarini yaxshi yashirmaydi.ECB kriptografik protokollarda ishlatilishi tavsiya etilmaydi.[20][21][22]

ECB-ning shifrlangan matnda oddiy matnli ma'lumotlar naqshlarini qoldirishi darajasining yorqin misoli, ECB rejimidan shifrlash uchun foydalanilganda ko'rish mumkin bitmap tasvir bu bir xil rangdagi katta maydonlardan foydalanadi. Har bir insonning rangi bo'lsa-da piksel shifrlangan bo'lsa, umumiy tasvir hali ham aniqlanishi mumkin, chunki asl nusxadagi bir xil rangdagi piksellarning naqshlari shifrlangan versiyada qoladi.

Original rasm
ECB rejimi yordamida shifrlangan
ECBdan tashqari rejimlar psevdo-tasodifiylikka olib keladi
Uchinchi rasm - bu qanday qilib CBC, CTR yoki boshqa har qanday xavfsiz rejimlar bilan shifrlangan ko'rinishi, tasodifiy shovqindan farq qilmaydi. Uchinchi rasmning tasodifiy ko'rinishi tasvirning ishonchli tarzda shifrlanganligini ta'minlamaydi; "tasodifiy ko'rinishda" ishlab chiqarishni ta'minlaydigan ko'plab xavfli shifrlash ishlab chiqilgan.[iqtibos kerak ]

ECB rejimi, shuningdek, protokollarni butunlikni muhofaza qilmasdan yanada sezgir qilishi mumkin takroriy hujumlar, chunki har bir blok xuddi shu tarzda shifrlangan bo'ladi.[iqtibos kerak ]

Shifr bloklarini zanjiri (CBC)

CBC
Shifr bloklarini zanjirlash
Shifrlash parallelYo'q
Parolni paralellashtirish mumkinHa
Tasodifiy o'qishga kirishHa

Ehrsam, Meyer, Smit va Tuxman 1976 yilda shifr bloklarini zanjirlash (CBC) ishlash rejimini ixtiro qilishdi.[23] CBC rejimida har bir aniq matn bloki XORed shifrlashdan oldin oldingi shifrlangan matn bloki bilan. Shunday qilib, har bir shifrlangan matn bloki shu vaqtgacha qayta ishlangan barcha matnli bloklarga bog'liq. Har bir xabarni noyob qilish uchun boshlash vektori birinchi blokda ishlatilishi kerak.

Shifrlash blokirovkalash (CBC) rejimini shifrlash
Shifr bloklarini zanjirlash (CBC) rejimini parolini hal qilish

Agar birinchi blokda 1 indeks bo'lsa, CBC shifrlashning matematik formulasi

CBC parolini hal qilishning matematik formulasi esa

Misol
O'yinchoq 2-bitli shifrli CBC misoli
O'yinchoq 2-bitli shifrli CBC misoli

CBC eng ko'p ishlatiladigan ish uslubi bo'lgan. Uning asosiy kamchiliklari shundan iboratki, shifrlash ketma-ketlikda (ya'ni uni parallellashtirish mumkin emas) va xabarni shifr blokining kattaligiga to'ldirish kerak. Ushbu so'nggi masalani hal qilishning usullaridan biri sifatida tanilgan usul shifrlangan matnni o'g'irlash. Oddiy matn yoki initsializatsiya vektoridagi (IV) bir bitli o'zgarish quyidagi barcha shifrlangan matn bloklariga ta'sir qilishini unutmang.

Noto'g'ri IV bilan parolni ochish birinchi matnli blokni buzilishiga olib keladi, ammo keyingi matnli bloklar to'g'ri bo'ladi. Buning sababi shundaki, har bir blok oddiy matn bilan emas, avvalgi blokning shifrlangan matni bilan XORed qilinadi, shuning uchun avvalgi blokni joriy blokni ochish uchun IV sifatida ishlatishdan oldin parolini ochish shart emas. Bu shuni anglatadiki, oddiy matnli blokni ikkita qo'shni shifrlangan blokdan tiklash mumkin. Natijada, parolni hal qilish mumkin parallel ravishda Shuni e'tiborga olingki, shifrlangan matnga bir bitli o'zgartirish mos keladigan matn blokining to'liq buzilishiga olib keladi va keyingi matn matnidagi mos bitni teskari tomonga o'zgartiradi, ammo qolgan bloklar buzilmasdan qoladi. Ushbu o'ziga xoslik boshqacha tarzda qo'llaniladi to'ldirish oracle hujumlari, kabi PODLE.

Aniq boshlanish vektorlari[24] bitta xos tasodifiy blokni oddiy matnga o'rnatish orqali ushbu xususiyatdan foydalanadi. Shifrlash odatdagidek amalga oshiriladi, faqat IV parolni parol hal qilish tartibiga etkazish shart emas. IV parolini hal qilishda nima bo'lishidan qat'i nazar, faqat tasodifiy blok "buzilgan". U xavfsiz tarzda bekor qilinishi mumkin va parolning qolgan qismi asl matnli matndir.

Shifr bloklarini zanjirlashni ko'paytirish (PCBC)
PCBC
Shifr bloklarini zanjirlashni targ'ib qilish
Shifrlash parallelYo'q
Parolni paralellashtirish mumkinYo'q
Tasodifiy o'qishga kirishYo'q

The shifr bloklarini zanjirlashni targ'ib qilish[25] yoki oddiy matnli shifr-blok zanjiri[26] rejimi parolni ochishda, shuningdek, shifrlashda shifrlangan matndagi kichik o'zgarishlarning cheksiz tarqalishiga olib kelishi uchun ishlab chiqilgan. PCBC rejimida har bir aniq matn bloki shifrlashdan oldin avvalgi tekis matn bloki bilan ham, oldingi shifrlangan matn bloki bilan XORed qilinadi. CBC rejimida bo'lgani kabi, birinchi blokda ishga tushirish vektori ishlatiladi.

Shifrlarni blokirovkalash (PCBC) rejimini shifrlash
Shifr bloklarini zanjirlash (PCBC) rejimini parchalashni targ'ib qilish

Shifrlash va parol hal qilish algoritmlari quyidagicha:

PCBC-da ishlatiladi Kerberos v4 va Chiqindi, eng muhimi, ammo aks holda keng tarqalgan emas. PCBC rejimida shifrlangan xabarda, agar ikkita qo'shni shifrlangan matn bloklari almashtirilsa, bu keyingi bloklarning parolini echishiga ta'sir qilmaydi.[27] Shuning uchun Kerberos v5 da PCBC ishlatilmaydi.

Shifr bilan aloqa (CFB)

Soddalashtirilgan CFB
CFB
Shifr-mulohaza
Shifrlash parallelYo'q
Parolni paralellashtirish mumkinHa
Tasodifiy o'qishga kirishHa

The shifr bilan aloqa (CFB) rejimi, eng sodda xilma-xilligida blok shifrining barcha chiqishidan foydalanadi. Ushbu xilma-xillikda u CBC-ga juda o'xshaydi, o'z-o'zini sinxronizatsiya qilish uchun blok shifrini yaratadi oqim shifri. Ushbu o'zgarishdagi CFB parolini echish teskari yo'nalishda amalga oshirilgan CBC shifrlash bilan deyarli bir xil:

CFB encryption.svgCFB decryption.svg

CFB-1, CFB-8, CFB-64, CFB-128 va boshqalar.

NIST SP800-38A CFB ni bit kengligi bilan belgilaydi. [28] CFB rejimi shuningdek, 1 ≤ s ≤ b bo'lgan s qiymatini belgilaydigan butun sonli parametrni talab qiladi. Quyidagi CFB rejimining spetsifikatsiyasida har bir aniq matn segmenti (Pj) va shifrlangan matn segmenti (Cj) s bitdan iborat. Ba'zan s qiymati rejim nomiga qo'shiladi, masalan, 1-bit CFB rejimi, 8-bit CFB rejimi, 64-bit CFB rejimi yoki 128-bit CFB rejimi.

Ushbu rejimlar asosiy blok shifrining chiqishini qisqartiradi.

CFB-1 o'z-o'zini sinxronlashtiruvchi va shifrlangan matn yo'qolishiga bardoshli hisoblanadi; "1-bitli CFB rejimi ishlatilganda, kiritilgan yoki o'chirilgan bitdan keyin sinxronizatsiya avtomatik ravishda b + 1 pozitsiyalarini tiklaydi. CFB rejimidagi s ning boshqa qiymatlari uchun va ushbu tavsiyadagi boshqa maxfiylik rejimlari uchun sinxronizatsiya tashqi tomondan tiklanishi kerak. " (NIST SP800-38A). Ya'ni. AES singari 128 bitli kenglikdagi blok shifridagi 1-bitli yo'qotish yaroqli bitlarni chiqarishdan oldin 129 ta yaroqsiz bitni hosil qiladi.

Belgilangan holatlardan tashqari ba'zi bir maxsus holatlarda CFB o'z-o'zini sinxronlashtirishi mumkin. Masalan, 128 bitli blokli shifr bilan CFB-128 ning bir oz o'zgarishi, ikkita blokdan keyin qayta sinxronizatsiya qilinadi. (Shu bilan birga, CFB-128 va boshqalar bit yo'qotilishini xushmuomalalik bilan ishlamaydi; bir bitli yo'qotish dekryptorni shifrlovchi bilan hizalanishini pasayishiga olib keladi)

Boshqa rejimlarga nisbatan CFB

CBC rejimi singari, oddiy matndagi o'zgarishlar ham shifrlangan matnda abadiy tarqaladi va shifrlash parallel bo'lmaydi. Shuningdek, CBC singari parolni paralellashtirish mumkin.

CFB, OFB va CTR CBC rejimiga nisbatan ikkita afzalliklarga ega: blok shifrlash faqat har doim shifrlash yo'nalishida ishlatiladi va xabarni shifr blokining kattaligiga to'ldirish shart emas (garchi shifrlangan matnni o'g'irlash to'ldirishni keraksiz qilish uchun ham foydalanish mumkin).

Chiqish haqidagi fikr (OFB)

OFB
Teskari aloqa
Shifrlash parallelYo'q
Parolni paralellashtirish mumkinYo'q
Tasodifiy o'qishga kirishYo'q

The chiqish geribildirimi (OFB) rejimi blok shifrini sinxron holga keltiradi oqim shifri. U hosil qiladi asosiy oqim bloklari, keyin esa XORed shifrlangan matnni olish uchun oddiy matn bloklari bilan. Xuddi boshqa oqim shifrlarida bo'lgani kabi, shifrlangan matnda bir oz o'girilib, xuddi shu joyda tekis matnda aylantirilgan bit hosil bo'ladi. Ushbu xususiyat ko'pchilikka imkon beradi xatolarni tuzatuvchi kodlar shifrlashdan oldin qo'llanilganda ham normal ishlash uchun.

XOR operatsiyasining simmetriyasi tufayli shifrlash va parol hal qilish bir xil:

OFB shifrlash.svgOFB dekryption.svg

Har bir chiquvchi teskari aloqa blok shifrlash ishi avvalgisiga bog'liq va shuning uchun uni parallel ravishda bajarish mumkin emas. Biroq, ochiq matn yoki shifrlangan matn faqat oxirgi XOR uchun ishlatilganligi sababli, blokirovka shifrlash operatsiyalari oldindan bajarilishi mumkin, bu esa oddiy matn yoki shifrlangan matn mavjud bo'lgandan keyin yakuniy qadamni parallel ravishda bajarishga imkon beradi.

Kirish sifatida doimiy nollar qatori bo'lgan CBC rejimidan foydalanib, OFB rejimining asosiy oqimini olish mumkin. Bu foydali bo'lishi mumkin, chunki bu OFB rejimini shifrlash uchun CBC rejimining tezkor apparat dasturlaridan foydalanishga imkon beradi.

OFF rejimini qisman blok bilan CFB rejimi kabi mulohaza sifatida ishlatish o'rtacha tsikl uzunligini 2 baravar kamaytiradi32 yoki undan ko'p. Devies va Parkin tomonidan taklif qilingan va eksperimental natijalar bilan tasdiqlangan matematik model shuni ko'rsatdiki, faqat to'liq teskari aloqa bilan o'rtacha tsiklning maksimal uzunligiga erishish mumkin. Shu sababli, qisqartirilgan teskari aloqa uchun qo'llab-quvvatlash OFB spetsifikatsiyasidan olib tashlandi.[29]

Hisoblagich (CTR)

KTR
Hisoblagich
Shifrlash parallelHa
Parolni paralellashtirish mumkinHa
Tasodifiy o'qishga kirishHa
Eslatma: CTR rejimi (CM), shuningdek, sifatida tanilgan tamsayı hisoblagich rejimi (ICM) va segmentlangan butun sonli hisoblagich (SIC) rejimi.

OFB singari, hisoblagich rejimi a ga aylanadi blok shifr ichiga oqim shifri. U keyingisini yaratadi asosiy oqim "hisoblagich" ning ketma-ket qiymatlarini shifrlash orqali blokirovka qilish. Hisoblagich ketma-ketlikni ishlab chiqaradigan har qanday funktsiya bo'lishi mumkin, uzoq vaqt davomida takrorlanmasligi kafolatlanadi, garchi haqiqiy o'sish hisoblagichi eng sodda va eng ommabop bo'lsa-da. Oddiy deterministik kiritish funktsiyasidan foydalanish munozarali bo'lib kelgan; tanqidchilarning ta'kidlashicha, "kriptosistemani ma'lum tizimli ma'lumotga qasddan ta'sir qilish keraksiz xavfni anglatadi".[30] Biroq, bugungi kunda CTR rejimi keng tarqalgan bo'lib qabul qilinmoqda va har qanday muammolar asosiy blok shifrining zaif tomoni deb hisoblanadi, chunki uning kiritilishidagi tizim tarafkashligidan qat'iy nazar xavfsiz bo'lishi kutilmoqda.[31] CBC bilan bir qatorda, CTR rejimi Niels Ferguson va Bryus Shnayyer tomonidan tavsiya etilgan ikkita blokirovka qilish rejimlaridan biridir.[32]

CTR rejimi tomonidan kiritilgan Uitfild Diffi va Martin Xellman 1979 yilda.[31]

CTR rejimi OFBga o'xshash xususiyatlarga ega, ammo parolni hal qilishda tasodifiy kirish xususiyatiga ham imkon beradi. CTR rejimi bloklarni parallel ravishda shifrlash mumkin bo'lgan ko'p protsessorli mashinada ishlashga juda mos keladi. Bundan tashqari, u OFBga ta'sir qilishi mumkin bo'lgan qisqa davr muammosidan aziyat chekmaydi.[33]

Agar IV / nonce tasodifiy bo'lsa, u holda ular hisoblagich bilan har qanday teskari operatsiyani (birlashtirish, qo'shish yoki XOR) ishlatib, shifrlash uchun haqiqiy noyob hisoblagich blokini yaratishi mumkin. Tasodifiy bo'lmagan nonce (masalan, paketli hisoblagich) bo'lsa, nonce va hisoblagich birlashtirilishi kerak (masalan, noncni yuqori 64 bitda va hisoblagichni 128 bitli hisoblagichning pastki 64 bitida saqlash). . Nonce va counter-ni bitta qiymatga qo'shish yoki XOR qilish shunchaki a ostida xavfsizlikni buzadi ochiq matnli hujum ko'p hollarda, tajovuzkor to'qnashuvni keltirib chiqarish uchun butun IV-hisoblagich juftligini boshqarishi mumkin. Bir marta tajovuzkor IV-hisoblagich juftligini va oddiy matnni boshqarganidan so'ng, ma'lum matn bilan shifrlangan matnning XOR-si, xuddi shu IV-hisoblagich juftligini taqsimlaydigan boshqa blokning shifrlanganligi bilan XORed bo'lganda, bu blokning parolini echadigan qiymatga ega bo'ladi.[34]

E'tibor bering nonce ushbu diagrammada. ga teng boshlash vektori (IV) boshqa diagrammalarda. Ammo, agar ofset / joylashuv to'g'risidagi ma'lumotlar buzilgan bo'lsa, bayt ofsetiga bog'liqligi sababli bunday ma'lumotlarni qisman tiklash imkonsiz bo'ladi.

CTR shifrlash 2.svgCTR parolini hal qilish 2.svg

Tarqatishda xatolik

"Xatolarni tarqatish" xususiyatlari parol hal qilishning bit xatolar paytida o'zini qanday tutishini, ya'ni bitta bitdagi xato turli xil parollangan bitlarga qanday o'tishini tavsiflaydi.

Bit xatolari tasodifiy ravishda uzatish xatolari tufayli yuzaga kelishi mumkin.

Hujumlarda bit xatolar qasddan sodir bo'lishi mumkin.

  • Oqim shifrlash rejimlarida (OFB, CTR va boshqalar) aniq bit xatolar, bu faqat mo'ljallangan bitga ta'sir qiladi.
  • Bunday murakkab rejimlarda aniq bit xatolar (masalan, CBC): shifrlangan matnga moslashtirilgan hujum shifr rejimini buzish uchun turli xil aniq bit xatolarini aql bilan birlashtirishi mumkin. Yilda To'ldiriladigan oracle hujumi, CBC-ni xato javoblari asosida shifrlash sirlarini taxmin qilish orqali hujumda parolini ochish mumkin. Padding Oracle hujum versiyasi "CBC-R" (CBC Reverse) tajovuzkorga har qanday yaroqli xabarni yaratishga imkon beradi.

Zamonaviy uchun tasdiqlangan shifrlash (AEAD) yoki bilan protokollar xabarni tasdiqlash kodlari MAC-Then-Encrypt tartibida zanjirlangan bo'lsa, har qanday bit xatosi parolni butunlay bekor qilishi va parolni echishda aniq biron bit xatolikka yo'l qo'ymasligi kerak. Ya'ni. agar parol hal qilinsa, bit xato bo'lmasligi kerak. Xatolarni tarqatish zamonaviy maxfiylik rejimlariga qaraganda zamonaviy shifrlash rejimlarida unchalik muhim ahamiyatga ega emas.

RejimS bit xatolarining ta'sirimenBit xatolarining IV-dagi ta'siri
ECBPda tasodifiy bit xatolarmenQo'llanilmaydigan, qo'llab bo'lmaydigan
CBCPda tasodifiy bit xatolarmen
P-dagi aniq bit xatolari + 1
C ning parolini hal qilishda aniq bit xatolar1
CFBP-dagi aniq bit xatolarmen
Barcha keyingi bloklarda tasodifiy bit xatolar
C ning shifrini ochishda tasodifiy bit xatolar1, C2, .., Cj bir necha j uchun 1 dan b / s gacha
OFBP-dagi aniq bit xatolarmenC ning shifrini ochishda tasodifiy bit xatolar1, C2, .., Cn
KTRP-dagi aniq bit xatolarmenQo'llash mumkin emas * (*: Bitdagi xatolar jqarshi blok, Tj, natijada C ning parolini hal qilishda tasodifiy bit xatolar yuzaga keladij)

(Manba: SP800-38A Jadval D.2: Bit xatolarining parol hal qilishga ta'sirining xulosasi)


Masalan, uzatilgan shifrlangan matndagi bir blokli xato ECB rejimini shifrlash uchun qayta tiklangan tekis matnda bitta blokli xatoga olib kelishi mumkin, CBC rejimida esa bunday xato ikki blokga ta'sir qilishi mumkin. Ba'zilar bunday chidamlilik tasodifiy xatolar (masalan, chiziqdagi shovqin) oldida kerakli deb hisoblardilar, boshqalari esa xatolarni tuzatish tajovuzkorlarning xabarni zararli ravishda buzish imkoniyatlarini kengaytirganini ta'kidladilar.

Biroq, to'g'ri yaxlitlikni himoya qilishdan foydalanilganda, bunday xato butun xabar rad etilishiga olib keladi (katta ehtimollik bilan). Agar tasodifiy xatolarga qarshilik kerak bo'lsa, xatolarni tuzatuvchi kodlar uzatishdan oldin shifrlangan matnga qo'llanilishi kerak.

Boshqa rejimlar va boshqa kriptografik ibtidoiy narsalar

Blok shifrlari uchun yana ko'plab ishlash usullari taklif qilingan. Ba'zilari qabul qilingan, to'liq tavsiflangan (hatto standartlashtirilgan) va foydalanishda. Boshqalari xavfli deb topilgan va ularni hech qachon ishlatmaslik kerak. Boshqalar esa, masalan, maxfiylik, haqiqiylik yoki tasdiqlangan shifrlash toifasiga kirmaydi teskari aloqa rejimi va Devies – Meyer hashing.

NIST da blokirovka qilish uchun tavsiya etilgan rejimlarning ro'yxatini olib boradi Rejimlarni ishlab chiqish.[28][35]

Diskni shifrlashda ko'pincha dastur uchun maxsus mo'ljallangan maxsus rejimlardan foydalaniladi. Tweakable tor blokli shifrlash usullari (LRW, XEX va XTS ) va keng blokli shifrlash rejimlari (CMC va EME ) disk qismlarini xavfsiz shifrlash uchun mo'ljallangan (qarang diskni shifrlash nazariyasi ).

Ko'p rejimlarda ishga tushirish vektori (IV) qo'llaniladi, bu rejimga qarab faqat bir marta ishlatilishi (nonce) yoki nashr etilishidan oldin uni oldindan aytib bo'lmaydi, va hokazo. IV ni bir xil kalit bilan CTR, GCM-da qayta ishlatish yoki OFB rejimi bir xil kalit oqimni XORingni ikki yoki undan ortiq oddiy matn bilan olib kelishiga, oqimdan aniq noto'g'ri foydalanishga va xavfsizlikning halokatli yo'qolishiga olib keladi. NIST kabi aniqlangan autentifikatsiya qilingan shifrlash usullari Kalitni o'rash algoritmi va SIV (RFC 5297 ) AEAD rejimida kirish usuli sifatida IV talab qilinmaydi va berilgan oddiy matn va kalit uchun har safar bir xil shifrlangan va autentifikatsiya yorlig'ini qaytaring. Kabi boshqa noto'g'ri ishlatishga chidamli rejimlar AES-GCM-SIV IV kiritilishidan foyda ko'ring, masalan, bitta kalit bilan xavfsiz tarzda shifrlanishi mumkin bo'lgan maksimal ma'lumot miqdori, shu bilan bir necha marta ishlatilgan bo'lsa, bu halokatli bo'lmaydi.

Blok shifrlari boshqasida ham ishlatilishi mumkin kriptografik protokollar. Ular, odatda, bu erda tasvirlangan blok rejimlariga o'xshash ish rejimlarida qo'llaniladi. Barcha protokollarda bo'lgani kabi, kriptografik jihatdan xavfsiz bo'lish uchun ushbu ish rejimlarini to'g'ri loyihalashga e'tibor berish kerak.

A ni yaratish uchun blok shifridan foydalanadigan bir nechta sxemalar mavjud kriptografik xash funktsiyasi. Qarang bir tomonlama siqish funktsiyasi bir nechta bunday usullarning tavsiflari uchun.

Kriptografik xavfsiz pseudorandom raqamlar generatorlari (CSPRNGs) blok shifrlari yordamida ham qurilishi mumkin.

Xabarni tasdiqlash kodlari (MAC) ko'pincha blok shifrlaridan quriladi. CBC-MAC, OMAC va PMAC misollar.

Shuningdek qarang

Adabiyotlar

  1. ^ NIST Computer Security Division (CSD) xavfsizlik texnologiyalari guruhi (STG) (2013). "Shifrlash rejimlarini bloklash". Kriptografik vositalar to'plami. NIST. Arxivlandi asl nusxasidan 2012 yil 6-noyabrda. Olingan 12 aprel, 2013.
  2. ^ a b Fergyuson, N .; Shnayer, B .; Kohno, T. (2010). Kriptografiya muhandisligi: dizayn tamoyillari va amaliy qo'llanmalari. Indianapolis: Wiley Publishing, Inc. 63, 64-betlar. ISBN  978-0-470-47424-2.
  3. ^ NIST Computer Security Division (CSD) xavfsizlik texnologiyalari guruhi (STG) (2013). "Tavsiya etilgan rejimlar". Kriptografik vositalar to'plami. NIST. Arxivlandi asl nusxasidan 2013 yil 2 aprelda. Olingan 14 aprel, 2013.
  4. ^ Alfred J. Menezes; Pol C. van Oorshot; Scott A. Vanstone (1996). Amaliy kriptografiya qo'llanmasi. CRC Press. pp.228–233. ISBN  0-8493-8523-7.
  5. ^ a b v "ISO / IEC 10116: 2006 - Axborot texnologiyalari - Xavfsizlik texnikasi - ish rejimlari n-bit blok shifr ". ISO standartlari katalogi. 2006. Arxivlandi asl nusxasidan 2012-03-17.
  6. ^ Konrad, Erik; Misenar, Set; Feldman, Joshua (2017-01-01), Konrad, Erik; Misenar, Set; Feldman, Joshua (tahr.), "3-bob - 3-domen: xavfsizlik texnikasi", O'n birinchi soat CISSP® (uchinchi nashr), Sinxronizatsiya, 47-93 betlar, doi:10.1016 / b978-0-12-811248-9.00003-6, ISBN  978-0-12-811248-9, olingan 2020-11-01
  7. ^ NIST Computer Security Division (CSD) xavfsizlik texnologiyalari guruhi (STG) (2013). "Hozirgi rejimlar". Kriptografik vositalar to'plami. NIST. Arxivlandi asl nusxasidan 2013 yil 2 aprelda. Olingan 12 aprel, 2013.
  8. ^ "Oqim shifrini qayta ishlatish: grafik misol". "Kriptosmit" MChJ. 31 may 2008 yil. Arxivlandi asl nusxasidan 2015 yil 25 yanvarda. Olingan 7 yanvar 2015.
  9. ^ B. Moeller (2004 yil 20-may), SSL / TLS-da CBC shifrlari xavfsizligi: muammolar va qarshi choralar, arxivlandi asl nusxasidan 2012 yil 30 iyunda
  10. ^ Tervuort, Tom. "Zerologon: Netlogon kriptografiyasini (CVE-2020-1472) ag'darish orqali tasdiqlanmagan domen tekshiruvchisi murosasi".. Secura. Olingan 14 oktyabr 2020.
  11. ^ Blaufish. "Netlogon CFB8 zararli hisoblanadi. OFB8 ham". Olingan 14 oktyabr 2020.
  12. ^ Gligor, Virgil D.; Donesku, Pompiliu (2002). Matsui, M. (tahrir). Tez shifrlash va autentifikatsiya qilish: XCBC shifrlash va XECB autentifikatsiya qilish rejimlari (PDF). Tez dasturiy ta'minotni shifrlash 2001 yil. Kompyuter fanidan ma'ruza matnlari. 2355. Berlin: Springer. 92-108 betlar. doi:10.1007 / 3-540-45473-X_8. ISBN  978-3-540-43869-4.
  13. ^ Jutla, Charanjit S. (may 2001). Shifrlash rejimlari deyarli bepul xabarlarning yaxlitligi bilan (PDF). Eurocrypt 2001. Kompyuter fanidan ma'ruza matnlari. 2045. Springer. doi:10.1007/3-540-44987-6_32.
  14. ^ Dvorkin, Morris (2004 yil may). Shifrlashni blokirovka qilish rejimlari bo'yicha tavsiyalar: Autentifikatsiya va maxfiylik uchun CCM rejimi (PDF) (Texnik hisobot). NIST maxsus nashrlari. NIST. doi:10.6028 / NIST.SP.800-38C. 800-38C.
  15. ^ Whiting, D.; Xasli, R .; Ferguson, N. (September 2003). Counter with CBC-MAC (CCM). IETF. doi:10.17487/RFC3610. RFC 3610.
  16. ^ Harkins, Dan. "Synthetic Initialization Vector (SIV) Authenticated Encryption Using the Advanced Encryption Standard (AES)". Olingan 21 oktyabr 2020.
  17. ^ Gueron, S. (April 2019). AES-GCM-SIV: Nonce Misuse-Resistant Authenticated Encryption. IETF. doi:10.17487/RFC8452. RFC 8452. Olingan 14 avgust, 2019.
  18. ^ Gueron, Shay; Langli, Odam; Lindell, Yehuda (14 Dec 2018). "AES-GCM-SIV: Specification and Analysis". Kriptologiya ePrint arxivi. Report (2017/168). Olingan 19 oktyabr 2020.
  19. ^ "Recommendation for Block Cipher Modes of Operation" (PDF). NIST.gov. NIST. p. 9. Arxivlandi (PDF) asl nusxasidan 2017 yil 29 martda. Olingan 1 aprel 2017.
  20. ^ Menezes, Alfred J.; van Oorshot, Pol S.; Vanstone, Scott A. (2018). Amaliy kriptografiya qo'llanmasi. p. 228.
  21. ^ Dam, Kenneth W.; Lin, Herbert S. (1996). Cryptography's Role in Securing the Information Society. p. 132.
  22. ^ Schneier, Bryus (2015). Amaliy kriptografiya: protokollar, algoritmlar va C kodidagi manba kodi. p. 208.
  23. ^ William F. Ehrsam, Carl H. W. Meyer, John L. Smith, Walter L. Tuchman, "Message verification and transmission error detection by block chaining", US Patent 4074066, 1976.
  24. ^ "The Transport Layer Security (TLS) Protocol Version 1.1". p. 20. Arxivlangan asl nusxasi 2015-01-07 da. Olingan 7 yanvar 2015.
  25. ^ "Kryptographie FAQ: Frage 84: What are the Counter and PCBC Modes?". www.iks-jena.de. Arxivlandi asl nusxasidan 2012 yil 16 iyulda. Olingan 28 aprel 2018.
  26. ^ Kaufman, C.; Perlman, R.; Speciner, M. (2002). Tarmoq xavfsizligi (2-nashr). Yuqori Saddle River, NJ: Prentice Hall. p. 319. ISBN  0130460192.
  27. ^ Kohl, J. (1990). "The Use of Encryption in Kerberos for Network Authentication" (PDF). Proceedings, Crypto '89. Berlin: Springer. ISBN  0387973176. Arxivlandi asl nusxasi (PDF) 2009-06-12.
  28. ^ a b (NIST), Author: Morris Dworkin (2001). "SP 800-38A, Recommendation for Block Cipher Modes of Operation: Methods and Techniques" (PDF). csrc.nist.gov. doi:10.6028/NIST.SP.800-38A. Arxivlandi (PDF) from the original on 28 August 2017. Olingan 28 aprel 2018.
  29. ^ Devis, D. V.; Parkin, G. I. P. (1983). "The average cycle size of the key stream in output feedback encipherment". Advances in Cryptology, Proceedings of CRYPTO 82. Nyu-York: Plenum matbuoti. pp. 263–282. ISBN  0306413663.
  30. ^ Jueneman, Robert R. (1983). "Analysis of certain aspects of output feedback mode". Advances in Cryptology, Proceedings of CRYPTO 82. Nyu-York: Plenum matbuoti. 99–127 betlar. ISBN  0306413663.
  31. ^ a b Lipmaa, Helger; Wagner, David; Rogaway, Phillip (2000). "Comments to NIST concerning AES Modes of Operations: CTR-Mode Encryption" (PDF). Arxivlandi (PDF) asl nusxasidan 2015-02-26.
  32. ^ Ferguson, Niels; Schneier, Bruce; Kohno, Tadayoshi (2010). Cryptography Engineering. p. 71.
  33. ^ "Basic Block Cipher Modes". www.quadibloc.com. Arxivlandi from the original on 24 October 2017. Olingan 28 aprel 2018.
  34. ^ "Cryptography I". Kursera. Arxivlandi asl nusxasidan 2018 yil 23 martda. Olingan 28 aprel 2018.
  35. ^ "Modes Development – Block Cipher Techniques – CSRC". Computer Security Division, Information Technology Laboratory, National Institute of Standards and Technology, U.S. Department of Commerce. 2017 yil 4-yanvar. Arxivlandi asl nusxasidan 2017 yil 4 sentyabrda. Olingan 28 aprel 2018.