Crypt (C) - crypt (C) - Wikipedia

crypt a POSIX C kutubxonasi funktsiya. Odatda hisoblash uchun ishlatiladi xash foydalanuvchi hisob qaydnomasi parollari. Funktsiya matn satrini chiqaradi, u ham kodlaydi The tuz (odatda dastlabki ikkita belgi tuzning o'zi, qolganlari esa xash qilingan natijadir) va ishlatilgan xash algoritmini aniqlaydi (quyida tushuntirilgan "an'anaviy" sukut bo'yicha). Ushbu chiqish satri odatda matnli faylda saqlanadigan parol yozuvini hosil qiladi.

Rasmiy ravishda, kriptografiya kriptografik ma'lumot beradi kalitlarni chiqarish funktsiyalari parolni tekshirish va Unix tizimlarida saqlash uchun.

Unix kriptovalyutasi bilan aloqasi

U erda bog'liq bo'lmagan narsa bor crypt tez-tez C kutubxonasi funktsiyasi bilan aralashib ketadigan Unix-da yordamchi dastur. Ikkalasini farqlash uchun yozuvchilar ko'pincha yordam dasturiga murojaat qilishadi kripto (1), chunki u Unixning 1-qismida hujjatlashtirilgan qo'llanmalar va C kutubxonasi funktsiyasiga quyidagicha murojaat qiling kripto (3), chunki uning hujjatlari 3-bo'lim qo'llanmasida.[1]

Tafsilotlar

Xuddi shu narsa crypt funktsiyasi saqlash uchun yangi xash hosil qilish uchun va shuningdek yozib olingan parol bilan xashlash uchun ishlatiladi tuz taqqoslash uchun.

Kriptovalyuta kutubxonasining muntazam Unix dasturlari xash sxemalarini qo'llab-quvvatlaydi. Amaldagi xash algoritmini, natijada keltirilgan hashtekstdagi noyob kod prefiksi bilan aniqlash mumkin amalda standart modulli kript formati deb nomlangan.[2][3][4]

The crypt () kutubxona funktsiyasi ham tarkibiga kiritilgan Perl,[5] PHP,[6] Payk,[7] Python,[8] va Yoqut[9] dasturlash tillari.

Crypt tomonidan qo'llab-quvvatlanadigan kalitlarni chiqarish funktsiyalari

Vaqt o'tishi bilan turli xil algoritmlar kiritildi. Yoqish uchun orqaga qarab muvofiqligi, har bir sxema ba'zi bir konvensiyadan foydalanishni boshladi seriyalash The parol xeshlari keyinchalik Modular Crypt Format (MCF) deb nomlangan.[3] Haqiqiy MCF standartidan oldin hosil bo'lgan eski kript (3) xeshlar sxemadan sxemaga o'zgarishi mumkin. Modulli kriptovalyutaning aniq belgilangan pastki qismi yaratildi Parollarni aralashtirish bo'yicha musobaqa.[3] Format quyidagicha aniqlanadi:[10]

$ [$ = (, = ) *] [$ [$ ]]

qayerda

  • id: xeshlash algoritmini ifodalovchi identifikator (masalan, 1 uchun MD5, 5 uchun SHA-256 va boshqalar.)
  • param nomi va uning nomi qiymat: hash / murakkablik parametrlari, masalan, turlar / takrorlashlar soni
  • tuz: Baza 64 o'xshash kodlangan tuz
  • xash: Baza 64 - parol va tuzni aralashtirishning kodlangan natijasi kabi
Sxema identifikatoriSxemaMisol
DESKyq4bCxAXJkbg
_BSDi_EQ0.jzhSVeUyoSqLupI
1MD5$ 1 $ etNnh7FA $ OlM7eljE / B7F1J4XYNnk81
2, 2a, 2x, 2yshifrlash$ 2a $ 10 $ VIhIOofSMqgdGlL4wzE // e.77dAQGqntF / 1dT7bqCrVtquInWy2qi
3NTHASH$ 3 $$ 8846f7eaee8fb117ad06bdd830b7586c
5SHA-256$ 5 $ 9ks3nNEqv31FX.F $ gdEoLFsCRsn / WRN3wxUnzfeZLoooVlzeF4WjLomTRFD
6SHA-512$ 6 $ qoE2letU $ wWPRl.PVczjzeMVgjiA8LLy2nOyZbf7Amj3qLIL978o18gbMySdKZ7uepq9tmMQXxyTIrS12Pln.2Q / 6Xscao0
md5Solaris MD5$ md5, rounds = 5000 $ GUBv0xjJ $$ mSwgIswdjlTY0YxV7HBVm0
sha1PBKDF1 bilan SHA-1$ sha1 $ 40000 $ jtNX3nZ2 $ hBNaIXkt4wBI2o5rsi8KejSjNqIq

PHS pastki qismi MCF xeshlarining ko'p qismini qamrab oladi. Ilovada belgilangan qo'shimcha qo'shimcha usullar mavjud.[3]

Dan foydalangan holda asl dastur parol kalit sifatida

Crypt () kutubxonasi funktsiyasining asl bajarilishi[11] Uchinchi nashr Unix-da[12] taqlid qildi M-209 shifrlash mashinasi. Parolni shifrlangan qiymatdan va kalitdan tiklashga imkon beradigan kalit bilan parolni shifrlash o'rniga, u parolning o'zi kalit sifatida ishlatgan va parol ma'lumotlar bazasida ushbu kalit bilan parolni shifrlash natijasi bo'lgan.

DES-ga asoslangan an'anaviy sxema

Asl parolni shifrlash sxemasi juda tez ekanligi aniqlandi va shu sababli, ehtimol parollarni qo'pol ravishda sanab o'tishga to'g'ri keldi.[11] Yilda Ettinchi nashr Unix,[13] sxemasi o'zgartirilgan shakliga o'zgartirildi DES algoritm. Ushbu o'zgartirishning maqsadi shifrlashni sekinlashtirish edi. Bundan tashqari, algoritm 12-bitni o'z ichiga olgan tuz parol bazasini bir vaqtning o'zida nishonga olish imkoniyatidan farqli o'laroq, tajovuzkor har bir parolni mustaqil ravishda buzishga majbur bo'lishini ta'minlash uchun.

Batafsil ma'lumot uchun foydalanuvchi paroli sakkizta belgidan iborat bo'lib, ularning har biri atigi 7-bitgacha majburlanadi; bu 56-bitli DES kalitini hosil qiladi. Keyin ushbu tugmachadan bit-nolli blokni shifrlash uchun foydalaniladi, so'ngra shifrlangan matn yana bir xil kalit bilan shifrlanadi va shu bilan jami 25 ta DES shifrlash uchun. Shifrlash algoritmini buzish uchun 12-bitli tuz ishlatiladi, shuning uchun crypt () -ni amalga oshirish uchun standart DES dasturlaridan foydalanib bo'lmaydi. Tuz va yakuniy shifrlangan matn shaklda bosma qatorga kodlangan 64.

Bu texnik jihatdan shifrlash emas, chunki ma'lumotlar (barcha bitlar nol) sir saqlanmaydi; bu hammaga oldindan ma'lum. Biroq, DES-ning xususiyatlaridan biri shundaki, uning oldida ham kalitlarni tiklashga juda chidamli ma'lum matn vaziyatlar. Nazariy jihatdan ikki xil parol aynan bir xil xashga olib kelishi mumkin. Shunday qilib, parol hech qachon "shifrdan chiqarilmaydi": bu shunchaki natijani hisoblash uchun ishlatiladi va mos keladigan natijalar parollarning "bir xil" ekanligiga dalil bo'lishi mumkin.

Ushbu usulning afzalliklari shundan iboratki, xashr matnni Unix tizimlari o'rtasida tizim ma'murlari yoki boshqa foydalanuvchilarga tegishli matnli parolni ko'rsatmasdan saqlash va nusxalash mumkin. Ushbu portativlik 30 yildan ortiq vaqt mobaynida kompyuter arxitekturasining ko'plab avlodlari va ko'plab sotuvchilarning Unix versiyalari bo'yicha ishlaydi.

An'anaviy sxemaning zaif tomonlari

An'anaviy DES-ga asoslangan crypt algoritm dastlab tanlangan, chunki DES "ma'lum matnli" hujumlar paytida ham kalitlarni tiklashga chidamli edi va u hisoblash uchun juda qimmat edi. Dastlabki Unix mashinalarida parol xeshini hisoblash uchun bir soniya kerak bo'ldi. Bu, shuningdek, uni oqilona chidamli qildi lug'at hujumlari o'sha davrda. O'sha paytda parol xeshlari odatda hisob qaydnomasida saqlangan (/ etc / passwd) tizimdagi har kimga tushunarli edi. (Ushbu hisob fayli foydalanuvchi identifikatori raqamlarini ismlarga, foydalanuvchi nomlarini esa to'liq ismlarga va boshqalarni xaritalash uchun ishlatilgan).

O'sha paytdan beri o'ttiz yil ichida kompyuterlar juda kuchli bo'ldi. Mur qonuni odatda haqiqiy bo'lib chiqdi, shuning uchun ma'lum bir moliyaviy investitsiya uchun mavjud bo'lgan kompyuter tezligi va hajmi Unix birinchi marta yozilgandan beri 20 baravarga oshdi. Bu uzoq vaqtdan beri DES asosidagi algoritmni lug'at hujumlari va Unix va Unix singari tizimlar kabi himoyasiz qoldirgan. Linux ishlatgan "soya" fayllari uzoq vaqt davomida faqat parol xash qiymatlarini hisobga olish faylidan ko'chirish (/ etc / passwd) va faylga (shartli ravishda nomlangan) / etc / shadow) faqat imtiyozli jarayonlar orqali o'qilishi mumkin.

Parolni buzishni hisoblash narxini oshirish uchun ba'zi Unix saytlari xususiy ravishda vaqtincha shifrlash turlarini ko'paytira boshladi.[iqtibos kerak ] Bu ularning yon ta'siriga ega edi crypt () standartga mos kelmaydi crypt (): xeshlar bir xil matn shakliga ega edi, ammo endi boshqa algoritm yordamida hisoblab chiqilgan. Ba'zi saytlar ushbu mos kelmaslik effektidan foydalanib, boshlang'ich blokni standart all-bit-zero standartidan o'zgartirdi.[iqtibos kerak ] Bu xashlash narxini oshirmadi, lekin standart crypt () asosida oldindan tayyorlangan xash lug'atlarni qo'llash mumkin emasligini anglatadi.

BSDi kengaytirilgan DES-ga asoslangan sxema

BSDi klassik DES-ga asoslangan sxemaning engil modifikatsiyasidan foydalanilgan. BSDi tuzni 24 bitgacha kengaytirdi va tur sonini o'zgaruvchan qildi (2 tagacha)24-1). Tanlangan davra soni saqlangan parol xashida kodlangan bo'lib, saytlar dastlabki sxema bo'yicha ishlatilgan turlar sonini o'zgartirganda yuzaga keladigan nomuvofiqlikni oldini oladi. Ushbu xeshlarni pastki chiziq bilan boshlash orqali aniqlanadi (_), undan keyin raundlar sonini ifodalovchi 4 bayt keladi.

BSDi algoritmi DES yordamida dastlabki uzun parolni asl algoritm tomonidan qo'llab-quvvatlanadigan sakkizta 7-bit baytgacha katlamoqda.

MD5 asosidagi sxema

Poul-Xenning Kamp ga asoslangan barokko va (o'sha paytda) hisoblash uchun juda qimmat algoritmni ishlab chiqdi MD5 xabarlarni hazm qilish algoritmi. MD5 o'zi parol xeshi uchun yaxshi kriptografik quvvatni ta'minlay oladi, ammo u taqdim etilayotgan kuchga nisbatan juda tez hisoblash uchun mo'ljallangan. Crypt () sxemasi hisoblash uchun qimmat bo'lishi, lug'at hujumlarini sekinlashtirishi uchun mo'ljallangan. MD5 parolli xeshlarining bosma shakli bilan boshlanadi $1$.

Ushbu sxema foydalanuvchilarga har qanday uzunlikdagi parolga ega bo'lishga imkon beradi va ular o'z platformalari tomonidan qo'llab-quvvatlanadigan har qanday belgilarni ishlatishlari mumkin (nafaqat 7-bit ASCII). (Amalda ko'pgina dasturlar parol uzunligini cheklaydi, lekin odatda parollarni har qanday odam yozishni istaganidan ancha uzoqroq qo'llab-quvvatlaydi.) Tuz ham o'zboshimchalik qatori bo'lib, faqat belgilar majmui bilan cheklangan.

Birinchidan, parol va tuz bir-biriga qo'shilib, MD5 xabarlari hazm bo'lishini ta'minlaydi. So'ngra parolni, tuzni va birinchi dayjestni birlashtirgan holda yangi dayjest tuziladi. Keyin ushbu dayjest funktsiyalarning ming marta takrorlanishidan o'tkazilib, uni parol va tuz bilan birga turlar orasida turlicha bo'ladi. Ushbu turlarning oxirgisining natijasi natijada olingan parol xashidir.

Ruxsat etilgan iteratsiya hisobi ushbu sxemani ilgari foydalangan hisoblash xarajatlarini yo'qotishiga olib keldi va o'zgaruvchan sonli turlar endi yoqildi. 2012 yil iyun oyida Poul-Xenning Kamp algoritmni xavfli deb e'lon qildi va foydalanuvchilarni yanada kuchli parollarni skriptlarga ko'chirishga undadi.[14]

Blowfish-ga asoslangan sxema

Nil provoslari va Devid Mazieres deb nomlangan crypt () sxemasini ishlab chiqdi shifrlash asoslangan Blowfish, va uni taqdim etdi USENIX 1999 yilda.[15] Ushbu xeshlarning bosma shakli bilan boshlanadi $2$, $ 2a $, $ 2b $, $ 2x $ yoki $ 2y $ algoritmning qaysi variantidan foydalanilishiga qarab:

  • $2$ - eskirgan.
  • $ 2a $ - ushbu sxemani aniqlash uchun ishlatiladigan joriy kalit. 2011 yilda OpenBSD-da bo'lmagan xavfsizlik sohasida katta xato aniqlandi kripto_flowfish algoritmni amalga oshirish,[16] ushbu satrda ko'rsatilgan xeshlar hozirda noaniq bo'lib, ular noto'g'ri dastur yoki keyinchalik aniqlangan dastur natijasida yuzaga kelgan bo'lishi mumkin. Nosozlik ASCII bo'lmagan (8-bit-set) belgilarni o'z ichiga olgan ba'zi parol satrlari tomonidan qo'zg'atilishi mumkin.
  • $ 2b $ - O'chirish muammosini yumshatish uchun so'nggi OpenBSD dasturlari tomonidan ishlatilgan.[17] Algoritmning oldingi versiyalarida uzun parollar bilan bog'liq muammolar mavjud. Dizayn bo'yicha uzun parollar 72 ta belgidan qisqartiriladi, ammo ba'zi bir parol uzunliklari bilan zaif baytlarni keltirib chiqaradigan bayt tamsayı bilan o'rash muammosi mavjud.[18]
  • $ 2x $ - dan keyin qo'shilgan bayroq kripto_flowfish xatolarni aniqlash. Eski xeshlarning nomini o'zgartirilishi mumkin $ 2x $ buzilgan algoritm bilan yaratilganligini bildirish uchun. Ushbu xeshlar hali ham zaif, ammo hech bo'lmaganda ularni yaratish uchun qaysi algoritmdan foydalanilganligi aniq.
  • $ 2y $ - bayroq kripto_flowfish yangi, tuzatilgan algoritmdan so'zsiz foydalanish. Xatodan azob chekayotgan eski dasturda, $ 2y $ shunchaki ishlamaydi. Yangi, aniq dasturda u foydalanish bilan bir xil natijaga olib keladi $ 2a $.

Blowfish blokirovka shifrlari orasida qimmat kalitlarni o'rnatish bosqichi bilan ajralib turadi. U standart holatdagi pastki tugmachalardan boshlanadi, so'ngra ushbu holat yordamida kalitning bir qismi yordamida blokirovka qilingan shifrlash amalga oshiriladi va ba'zi bir kichik kalitlarni almashtirish uchun ushbu shifrlash natijasi (haqiqatan ham, xesh) ishlatiladi. Keyin u ushbu o'zgartirilgan holatdan foydalanib, kalitning yana bir qismini shifrlaydi va natijada ko'proq pastki tugmachalarni almashtirish uchun foydalanadi. U barcha subkeyslar o'rnatilgunga qadar kalitni xashlash va bitlarning o'rnini almashtirish uchun asta-sekin o'zgartirilgan holatdan foydalangan holda shu tarzda davom etadi.

Klaviatura turlarining soni algoritmga kirish bo'lgan ikkita kuchga teng. Raqam matnli xashda kodlangan, masalan. $ 2y $ 10 ...

NT xesh sxemasi

FreeBSD uchun qo'llab-quvvatlash amalga oshirildi NT LAN menejeri orqali NT hisoblari bilan osonroq moslikni ta'minlash uchun xash algoritmi MS-CHAP.[19] NT-Hash algoritmi zaif ekanligi ma'lum, chunki u eskirganlardan foydalanadi md4 hash algoritmi hech qanday tuzlamasdan.[20] FreeBSD ishlatilgan $3$ Buning prefiksi. Uni ishlatish tavsiya etilmaydi, chunki u osonlikcha buziladi.[1]

SHA2 asosidagi sxema

Odatda ishlatiladigan MD5 asosidagi sxemaga hujum qilish osonlashdi, chunki kompyuter quvvati oshdi. Blowfish-ga asoslangan tizim turlarni qo'shish imkoniyatiga ega bo'lsa-da va shu bilan qiyin parol algoritmi bo'lib qolsa-da, u NIST - tasdiqlangan algoritm. Ushbu dalillar asosida, Ulrix Drepper ning Qizil shapka ga asoslangan sxemani yaratishga harakat qildi SHA-2 (SHA-256 va SHA-512) xash funktsiyalari.[21] Ushbu xeshlarning bosma shakli bilan boshlanadi $5$ (SHA-256 uchun) yoki $6$ (SHA-512 uchun) qaysi SHA variantidan foydalanilganiga qarab. Uning dizayni MD5-ga asoslangan kriptaga o'xshaydi va bir nechta sezilarli farqlar bilan:[21]

  • Bu bir necha bosqichda doimiy ma'lumotlarni qo'shishdan qochadi.
  • MD5 algoritmi parolning birinchi harfini bir necha bor qo'shib qo'yadi;[iqtibos kerak ] bu qadam sezilarli darajada o'zgartirildi.
  • Ilhomlangan Quyoshniki algoritmda bajariladigan asosiy tsikl (takrorlash) sonini aniqlash uchun crypt () amalga oshirish, funksionallik qo'shildi[22][23]
  • Takrorlashlar soni sukut bo'yicha 5000, eng kami 1000 va maksimal 999,999,999.[24]

Texnik spetsifikatsiya va namunaviy kod jamoatchilikka e'lon qilindi; u ko'pincha "SHAcrypt" deb nomlanadi.[24]

Operatsion tizimlarda qo'llab-quvvatlash

Sxema identifikatoriSxemaLinux (glibc )FreeBSDNetBSDOpenBSDSolarisMacOS
DESHaHaHaHaHaHa
_BSDiYo'qHaHaHaYo'qHa
1MD5HaHaHaHaHaYo'q
2, 2a, 2x, 2yshifrlashYo'qHaHaHaHaYo'q
3NTHASHYo'qHaYo'qYo'qYo'qYo'q
5SHA-2562.7+8.3+Yo'qYo'qHaYo'q
6SHA-5122.7+8.3+Yo'qYo'qHaYo'q
md5Solaris MD5Yo'qYo'qYo'qYo'qHaYo'q
sha1SHA1 bilan PBKDF1Yo'qYo'qHaYo'qYo'qYo'q

Arxaik Unix sxemalari

BigCrypt HP-UX, Digital Unix va OSF / 1-da ishlatiladigan DES-Crypt-ning o'zgartirilgan versiyasidir. Uning DESdan asosiy farqi shundaki, BigCrypt faqat birinchi 8 emas, balki parolning barcha belgilaridan foydalanadi va o'zgaruvchan uzunlikdagi xashga ega.[25]

Crypt16 bu 16 belgigacha bo'lgan parollarga ruxsat beruvchi DES ning kichik modifikatsiyasi. Ultrix va Tru64-da ishlatiladi.[26]

GNU / Linux

The GNU C kutubxonasi deyarli barcha GNU / Linux tarqatishlarida foydalaniladigan crypt DES, MD5 va (2.7 versiyadan beri) yuqorida qayd etilgan SHA-2 asoslangan xeshlash algoritmlarini qo'llab-quvvatlovchi funktsiya.Ulrich Drepper, glibc texnik xizmatchisi, bcrypt (sxema 2) qo'llab-quvvatlashni rad etdi, chunki u tomonidan tasdiqlanmagan. NIST.[27] Jamoat mulki kripto_flowfish bcrypt tizimisiz kutubxona mavjud. U glibc-ga qo'shilgan SUSE Linux.[28]

The musulmon C kutubxonasi 1, 2, 5 va 6 sxemalarini hamda an'anaviy DES sxemasini qo'llab-quvvatlaydi. An'anaviy DES kodi BSD-ga asoslangan FreeSec, glibc bilan mos keladigan o'zgartirish bilan UFC-Crypt.[29]

macOS

Darvin vatani crypt () faqat DES va BSDi-ni qo'llab-quvvatlaydigan cheklangan funksiyalarni ta'minlaydi. OS X eski NeXTStep-dan tortib parollarni saqlash uchun bir nechta tizimlardan foydalanadi netinfo yangi katalog xizmatlari (ds) tizimiga.[30][31]

Shuningdek qarang

Adabiyotlar

  1. ^ a b kripto (3) – FreeBSD Kutubxonaning vazifalari Qo'lda
  2. ^ Simson Garfinkel, Alan Shvarts, Gen Spafford."Amaliy Unix va Internet xavfsizligi".2003."4.3.2.3 crypt16 (), DES Extended va modulli kript formati" bo'limi. "Modular Crypt Format (MCF) shifrlangan parollarni formatlash uchun kengaytiriladigan sxemani belgilaydi. MCF shifrlangan parollar uchun eng mashhur formatlardan biri"
  3. ^ a b v d "Modulli kript formati - Passlib v1.7.1 hujjatlari". Pythonhosted.org. Olingan 2 dekabr 2018.
  4. ^ "ademarre / binary-mcf". GitHub.com. Olingan 2 dekabr 2018.
  5. ^ "crypt - perldoc.perl.org". Perldoc.perl.org. Olingan 2 dekabr 2018.
  6. ^ "PHP: crypt - qo'llanma". Us.php.net. Olingan 2 dekabr 2018.
  7. ^ "crypt ()". Arxivlandi asl nusxasi 2012-10-02 kunlari. Olingan 2013-02-09.
  8. ^ "crypt - Unix parollarini tekshirish funktsiyasi - Python 3.7.1 hujjatlari". Docs.python.org. Olingan 2 dekabr 2018.
  9. ^ "Sinf: String (Ruby 2.5.3)". Ruby-doc.org. Olingan 2 dekabr 2018.
  10. ^ Parolni aralashtirish bo'yicha tanlov. "PHC satr formati". Github.
  11. ^ a b Morris, Robert; Tompson, Ken (1978-04-03). "Parol xavfsizligi: voqea tarixi". Qo'ng'iroq laboratoriyalari. Olingan 2013-12-17.
  12. ^ "crypt - parolni kodlash". UNIX uchinchi nashri dasturchilar uchun qo'llanma. 1973-01-15.
  13. ^ "crypt, keykey, encrypt - DES shifrlash". UNIX ettinchi nashr dasturchilar uchun qo'llanma. 1979.
  14. ^ "Md5crypt parolni skrambi endi muallif tomonidan xavfsiz deb hisoblanmaydi - PHKlar Bikeshed". Phk.freebsd.dk. Arxivlandi asl nusxasi 2018 yil 17 martda. Olingan 2 dekabr 2018.
  15. ^ Provos, Nil; Mazieres, Devid (1999). "Kelajakka moslashtiriladigan parol sxemasi". 1999 yil USENIX yillik texnik konferentsiyasi materiallari: 81–92.
  16. ^ Dizayner, Quyosh (2011-06-21). "crypt_blowfish 1.1; Owl glibc xavfsizligini yangilash". Shuningdek qarang CVE -2011-2483.
  17. ^ "src / lib / libc / crypt / bcrypt.c - ko'rish - 1.27". Cvsweb.openbsd.org. Olingan 2016-05-14.
  18. ^ Dizayner, Quyosh (2012-01-02). "OpenBSD bcrypt 8-bitli key_len wraparound".
  19. ^ "NT MD4 parol xeshi FreeBSD uchun yangi parolni shifrlash usuli sifatida". Mail-archive.com. Olingan 2 dekabr 2018.
  20. ^ "NTLM autentifikatsiya protokoli va xavfsizlikni qo'llab-quvvatlovchi provayder". Davenport.sourceforge.net. Olingan 2 dekabr 2018.
  21. ^ a b Drepper, Ulrich (2007 yil 19 sentyabr). "Unix crypt SHA-256/512 bilan". Olingan 21 noyabr 2018.
  22. ^ Quyosh mikrosistemalari. "crypt_sunmd5 (5) man sahifasi". Arxivlandi asl nusxasi 2008-04-16. Olingan 2008-03-05.
  23. ^ Muffett, Alek (2005-12-05). "OpenSolaris, ulanadigan kript va SunMD5 parol bilan hash algoritmi". Olingan 2012-08-11.
  24. ^ a b Drepper, Ulrich. "SHA-256 va SHA-512 yordamida Unix crypt".
  25. ^ "passlib.hash.bigcrypt - BigCrypt - Passlib v1.7.1 hujjatlari". Pythonhosted.org. Olingan 2 dekabr 2018.
  26. ^ "passlib.hash.crypt16 - Crypt16 - Passlib v1.7.1 hujjatlari". Pythonhosted.org. Olingan 2 dekabr 2018.
  27. ^ "/ etc / shadow-dagi parollarni bcrypt-quvvatlash - Red Hat Mijozlar Portali". Access.redhat.com. Olingan 2 dekabr 2018.
  28. ^ "dasturiy ta'minotingiz va serverlaringiz uchun bcrypt parolni xeshlash (" parolni shifrlash ")". www.openwall.com.
  29. ^ "crypt_r.c crypt src - musl - musl - Linux asosidagi tizimlar uchun standart kutubxonani amalga oshirish". git.musl-libc.org.
  30. ^ "Mac OS X parolni tasdiqlashni qanday amalga oshiradi". Dribin.org. Olingan 2 dekabr 2018.
  31. ^ "Mac OS X parollarini qanday sindirish mumkin - Onlayn Hash Crack". Onlinehashcrack.com. Olingan 2 dekabr 2018.

Tashqi havolalar