Crypt (C)

crypt — библиотечная функция, которая используется для вычисления хеша пароля, который может быть использован для хранения паролей учетных записей пользователей, сохраняя при этом их относительно скрытыми (в passwd файле). На выходе функции не просто хеш, а строка текста, которая также содержит соль, используемый хеш-алгоритм и параметры, с которыми был получен хеш, такие, как количество раундов и другие опции. Эту выходную строку затем можно хранить в простом текстовом файле.

Более формально, crypt предоставляет криптографические функции формирования ключа для проверки пароля и хранения в системах Unix.

Отношение к Unix утилите crypt

В операционных системах UNIX есть одноимённая утилита crypt, которую часто путают с библиотечной функцией C. Чтобы различать их, обычно ссылаются на системную утилиту как crypt(1), так как она документирована в разделе 1 руководства UNIX, а на криптографическую хеш-функцию как crypt(3), так как она документирована в секции 3.

Детали

Одна и та же функция crypt используется как для генерирования нового хеша для хранения, так и для вычисления хеша проверяемого пароля с записанной солью для сравнения.

Современные реализации Unix crypt(3) поддерживают различные схемы хеширования. В частности, хеш-алгоритм может быть определён по уникальному идентификатору из префикса в результирующем тексте хеша, который следует де-факто стандарту называемому Modular Crypt Format (MCF)[1][2][3].

Библиотечная функция crypt() также включена в языки программирования Perl[4], PHP[5], Pike[6], Python[7] и Ruby[8].

Поддерживаемые функции формирования ключа

С течением времени вводятся различные алгоритмы. Чтобы поддерживать обратную совместимость, авторы начали использовать конвенции по сериализации в хешах паролей, который позже был назван Modular Crypt Format (MCF)[2]. Поскольку никакого стандарта изначально не было, старые crypt(3) хеши могут отличаться от схемы к схеме. Во время Соревнования хеширования паролей[англ.] был сформирован следующий формат, который представляет среднюю форму[9]:

$<id>[$<param>=<value>(,<param>=<value>)*][$<salt>[$<hash>]]

где

  • id — идентификатор схемы хеширования, которая отображает алгоритм (например, 1 для схемы с алгоритмом MD5, 5 для SHA-256 и т.д.)
  • param имя параметра и value его значение — параметры сложности, например число раундов
  • salt — Base64-подобно закодированная соль
  • hash — Base64-подобно закодированный результат хеширования пароля и соли.

К сожалению, этот стандарт выработался не сразу и не все схемы следуют ему.

Схема Алгоритм Пример
DES Kyq4bCxAXJkbg
_ BSDi _EQ0.jzhSVeUyoSqLupI
1 MD5 $1$etNnh7FA$OlM7eljE/B7F1J4XYNnk81
2, 2a, 2x, 2y bcrypt $2a$10$VIhIOofSMqgdGlL4wzE//e.77dAQGqntF/1dT7bqCrVtquInWy2qi
3 NTHASH $3$$8846f7eaee8fb117ad06bdd830b7586c
5 SHA-256 $5$9ks3nNEqv31FX.F$gdEoLFsCRsn/WRN3wxUnzfeZLoooVlzeF4WjLomTRFD
6 SHA-512 $6$qoE2letU$wWPRl.PVczjzeMVgjiA8LLy2nOyZbf7Amj3qLIL978o18gbMySdKZ7uepq9tmMQXxyTIrS12Pln.2Q/6Xscao0
md5 Solaris MD5 $md5,rounds=5000$GUBv0xjJ$$mSwgIswdjlTY0YxV7HBVm0
sha1 PBKDF1 с SHA-1 $sha1$40000$jtNX3nZ2$hBNaIXkt4wBI2o5rsi8KejSjNqIq

Поддержка в операционных системах

Scheme id Scheme Linux FreeBSD NetBSD OpenBSD Solaris MacOS
DES y y y y y y
_ BSDi y y y y
1 MD5 y y y y y
2, 2a, 2x, 2y bcrypt y y y y
3 NTHASH y
5 SHA-256 2.7+ 8.3+ y
6 SHA-512 2.7+ 8.3+ y
md5 Solaris MD5 y
sha1 PBKDF1 with SHA1 y

Архаичные Unix-схемы

BigCrypt — это модификация DES, используемая в HP-UX, Digital Unix, и OSF/1. Главное различие с DES в том, что BigCrypt использует все символы пароля, а не только первые 8 и поэтому имеет хеш различной длины[10].

Crypt16 — это небольшая модификация DES, которая поддерживает пароли до 16 символов. Использовалась в Ultrix и Tru64[11].

Linux

Стандартная библиотека языка Си, используемая почти во всех дистрибутивах Linux, предоставляет реализацию функции crypt, которая поддерживает DES, MD5 и (начиная с версии 2.7) семейство алгоритмов хеширования SHA-2. Ulrich Drepper, сопровождающий glibc, отклонил поддержку bcrypt, поскольку он не был одобрен NIST[12].

Mac OS

В MacOS X нативная crypt() предоставляет ограниченную функциональность, поддерживая только DES и BSDi. В OS X используется отдельная система для своих хешей.

Примечания

  1. Simson Garfinkel, Alan Schwartz, Gene Spafford. "Practical Unix & Internet Security" Архивная копия от 31 июля 2020 на Wayback Machine. 2003. section "4.3.2.3 crypt16( ), DES Extended, and Modular Crypt Format" Архивная копия от 18 июня 2018 на Wayback Machine. "The Modular Crypt Format (MCF) specifies an extensible scheme for formatting encrypted passwords. MCF is one of the most popular formats for encrypted passwords"
  2. 1 2 "Modular Crypt Format: or, a side note about a standard that isn’t" Архивная копия от 9 сентября 2017 на Wayback Machine.
  3. "Binary Modular Crypt Format". Дата обращения: 21 марта 2016. Архивировано 11 июня 2018 года.
  4. crypt - perldoc.perl.org. Дата обращения: 21 марта 2016. Архивировано 16 апреля 2018 года.
  5. PHP: crypt - Manual. Дата обращения: 21 марта 2016. Архивировано 16 апреля 2018 года.
  6. アーカイブされたコピー. Дата обращения: 9 февраля 2013. Архивировано из оригинала 2 октября 2012 года.
  7. 36.5. crypt — Function to check Unix passwords — Python 2.7.11 documentation. Дата обращения: 21 марта 2016. Архивировано 26 октября 2012 года.
  8. Class: String (Ruby 2.3.0). Дата обращения: 21 марта 2016. Архивировано 3 октября 2011 года.
  9. Password Hash Competition string format. Дата обращения: 21 марта 2016. Архивировано 27 января 2017 года.
  10. passlib.hash.bigcrypt - BigCrypt — Passlib v1.6.5 Documentation. Дата обращения: 21 марта 2016. Архивировано 7 июля 2017 года.
  11. passlib.hash.crypt16 - Crypt16 — Passlib v1.6.5 Documentation. Дата обращения: 21 марта 2016. Архивировано 7 июля 2017 года.
  12. bcrypt support for passwords in /etc/shadow - Red Hat Customer Portal. Дата обращения: 21 марта 2016. Архивировано 17 апреля 2018 года.

Ссылки

Read other articles:

此條目可能包含不适用或被曲解的引用资料,部分内容的准确性无法被证實。 (2023年1月5日)请协助校核其中的错误以改善这篇条目。详情请参见条目的讨论页。 各国相关 主題列表 索引 国内生产总值 石油储量 国防预算 武装部队(军事) 官方语言 人口統計 人口密度 生育率 出生率 死亡率 自杀率 谋杀率 失业率 储蓄率 识字率 出口额 进口额 煤产量 发电量 监禁率 死刑 国债 外…

2009 live album by Various artistsWoodstock 40 Years On: Back to Yasgur's FarmLive album by Various artistsReleasedAugust 11, 2009 (2009-08-11)RecordedAugust 15, 16, & 17, 1969 at Woodstock Festival, Bethel, NYGenreRockLabelRhino RecordsProducerAndy Zax, Mason Williams and Cheryl PawelskiWoodstock albums chronology The Woodstock Experience(2009) Woodstock 40 Years On: Back to Yasgur's Farm(2009) Woodstock – Back to the Garden: 50th Anniversary Collection(2019) Woodst…

School in AustraliaRose Bay Secondary CollegeLocationDover Heights,Eastern Sydney, New South WalesAustraliaCoordinates33°52′42″S 151°16′38″E / 33.87833°S 151.27722°E / -33.87833; 151.27722InformationTypeGovernment-funded co-educational dual modality partially academically selective and comprehensive secondary day schoolMottoOpportunity Achievement CommunityEstablished2003; 21 years ago (2003)School districtBondi; Metropolitan SouthEducational…

Head of the Maronite Church from 1898 to 1931 His BeatitudeVenerableElias Peter HoayekPatriarch of AntiochChurchMaronite ChurchSeePatriarch of AntiochElectedJanuary 6, 1899Term endedDecember 24, 1931PredecessorJohn Peter El HajjSuccessorAnthony Peter AridaOrdersOrdination1870 (Priest)ConsecrationDecember 14, 1889 (Bishop)by Paul Peter MassadPersonal detailsBorn(1843-12-04)December 4, 1843Helta, LebanonDiedDecember 24, 1931 (aged 87)Bkerké, LebanonSainthoodVenerated inRoman Catholic ChurchM…

Minor cannabinoid CannabigerolClinical dataATC codeNoneLegal statusLegal status US: Unscheduled Identifiers IUPAC name 2-[(2E)-3,7-Dimethylocta-2,6-dienyl]-5-pentyl-benzene-1,3-diol CAS Number25654-31-3 NPubChem CID5315659ChemSpider4474921 YUNIIJ1K406072NChEBICHEBI:69477ChEMBLChEMBL497318 YCompTox Dashboard (EPA)DTXSID701014168 ECHA InfoCard100.346.098 Chemical and physical dataFormulaC21H32O2Molar mass316.485 g·mol−13D model (JSmol)Interactive image SMILES Oc1cc(cc(O…

French journalist and historian (1921–2013) This article is about the French historian and journalist. For the French painter, see André Fontaine (painter). André FontaineAndré Fontaine (1969)Born(1921-03-30)30 March 1921Paris, FranceDied17 March 2013(2013-03-17) (aged 91)Paris, FranceOccupation(s)Historian and journalist André Fontaine (Paris, France; 30 March 1921 – ibidem, 17 March 2013) was a French historian and journalist. He started working at Temps Présent, and then was…

Shine Tidelands State ParkView of Hood Head from the park at high tideLocation in the state of WashingtonShow map of Washington (state)Shine Tidelands State Park (the United States)Show map of the United StatesLocationJefferson, Washington, United StatesCoordinates47°52′03″N 122°38′12″W / 47.86750°N 122.63667°W / 47.86750; -122.63667Area249 acres (101 ha)Established1967OperatorWashington State Parks and Recreation CommissionWebsiteShine Tidelands State Pa…

Biotechnology company This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article contains content that is written like an advertisement. Please help improve it by removing promotional content and inappropriate external links, and by adding encyclopedic content written from a neutral point of view. (December 2018) (Learn how and when to remove this message) This article needs to be updated.…

Борис Миколайович Лятошинський Борис Миколайович ЛятошинськийІм'я при народженні Борис Миколайович ЛятошинськийНародився 22 листопада (4 грудня) 1894[4][5]Житомир, Російська імперія[1]Помер 15 квітня 1968(1968-04-15)[1][2][…] (73 роки)Київ, Українська РСР, СРСР[1]П…

Peter Navarro Direktur Jawatan Perdagangan dan Kebijakan ManufakturPetahanaMulai menjabat 29 April 2017PresidenDonald TrumpPendahuluJabatan dibentukPenggantiPetahanaDirektur Dewan Perdagangan NasionalMasa jabatan20 January 2017 – 29 April 2017PresidenDonald TrumpPendahuluJabatan dibentukPenggantiJabatan ditiadakan Informasi pribadiLahirPeter Kent Navarro15 Juli 1949 (umur 74)Cambridge, Massachusetts, ASPendidikanUniversitas Tufts (Sarjana)Universitas Harvard (Magistrat, Dokto…

Leader of the Mohave Nation (c. 1814 – 1874) IratabaYara tavIrataba, c. 1864Mohave leader Personal detailsBornc. 1814ArizonaDiedMay 3 or 4, 1874 (aged 59–60)Colorado River Indian Reservation, Arizona Territory, United StatesMother tongueMohave Irataba (Mohave: eecheeyara tav [eːt͡ʃeːjara tav], also known as Yara tav, Yarate:va, Arateve; c. 1814 – 1874) was a leader of the Mohave Nation, known as a mediator between the Mohave and the United States. He was…

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (ديسمبر 2018) 1984 في الهندمعلومات عامةالسنة 1984 1983 في الهند 1985 في الهند تعديل - تعديل مصدري - تعديل ويكي بيانات سنوات 1982: 1983: …

L'azzurro è uno smalto araldico di colore blu.[1] Nella rappresentazione monocromatica è simboleggiato da linee parallele orizzontali.[1] Malgrado il suo nome, l'azzurro araldico è ben lontano dal colore del cielo,[2] ma come deve essere per uno smalto, è un colore netto e intenso per ben distinguersi dai colori chiari dei metalli. Quando si vuole indicare il colore chiaro del cielo, si blasona campo di cielo. A causa della sua relazione con il cielo, l'azzurro simbol…

Выборы в Европейский парламент в Австрии (2014)2014Хронология2009 2019ИнформацияДата 25 маяКандидатыФото­графия Глава партии Отмар Карас Вернер Файман Гаральд ВилимскиПартия Народная партия Социал-демократическая партия Партия свободыКоалиция Европейская народная партия П…

Spirit that reflects one of the manifestations of Olodumare (God) in the Yoruba religious system For other uses, see Orisha (disambiguation). Part of a series onYoruba religion Deities God: Ọlọrun / Olodumare / Olofin The Orisha: Aganju Agemo Ajaka Ayao Babalú-Ayé Elegua Erinle Eshu Ibeji Oduduwa Ogun Olokun Ori Oko Oshumare Ọba Ọbatala Ọranyan Ọrunmila Ọsanyin Ọṣọọsi Ọṣun Ọya Shango Yemọja Beliefs Aṣẹ Ayagunna Cosmology Egbere Irunmọlẹ Ifá Ori Oriṣa Pr…

Voce principale: Campionati mondiali di nuoto. XII campionati mondiali di nuoto 2007 Logo della competizione Competizione Campionati mondiali di nuoto Sport Nuoto Nuoto di fondo Tuffi Nuoto sincronizzato Pallanuoto Edizione 12ª Organizzatore FINA Date 17 marzo - 1º aprile 2007 Luogo Melbourne Partecipanti 2158 Nazioni 167 Impianto/i Melbourne Sports and Aquatic CentreRod Laver ArenaSpiaggia di St Kilda Sito web melbourne2007.com Statistiche Miglior medagliato Michael Phelps (7/0/0) Miglio…

Chức vụ trong Quân đội nhân dân Việt Nam là cơ sở để xác định biên chế, quy hoạch, bố trí, sắp xếp, bổ nhiệm, đào tạo, bồi dưỡng cho quân nhân, công chức quốc phòng, công nhân quốc phòng; thực hiện chế độ chính sách góp phần xây dựng nề nếp chính quy, nâng cao chất lượng công tác và sức mạnh chiến đấu của Quân đội. Phù hiệu Lục quân nhân dân Việt Nam Tên gọi: Xác định ngắ…

2024年夏季奥林匹克运动会巴布亚新几内亚代表團巴布亚新几内亚国旗IOC編碼PNGNOC巴布亚新几内亚奥林匹克委员会網站www.pngolympic.org(英文)2024年夏季奥林匹克运动会(巴黎)2024年7月26日至8月11日運動員6參賽項目4个大项历届奥林匹克运动会参赛记录(总结)夏季奥林匹克运动会1976198019841988199219962000200420082012201620202024 2024年夏季奥林匹克运动会巴布亚新几内亚代表团是巴布亚新…

Unused optical fibre Fibre crew installing a 432-count dark fibre cable underneath the streets of Midtown Manhattan, New York City A dark fibre or unlit fibre is an unused optical fibre, available for use in fibre-optic communication. Dark fibre may be leased from a network service provider. Dark fibre originally referred to the potential network capacity of telecommunication infrastructure. Because the marginal cost of installing additional fibre optic cables is very low once a trench has been …

Australian politician Nicolas HyeronimusMember of the New South Wales Legislative Assembly for WellingtonIn office15 June 1859 (1859-06-15) – 27 June 1860 (1860-06-27)Preceded byNew seatSucceeded bySilvanus Daniel Personal detailsBorn(1808-01-01)1 January 1808Dinant, Namur, Wallonia(now part of Belgium)Died(1860-06-27)27 June 1860Sydney, New South WalesSpouseAnn ShaughnessyChildren5 daughters, 3 sonsOccupationInnkeeper, Merchant, Pastoralist Nicolas Hyero…