Krypto (Unix)

Krypto
Sorts Filkryptering
Författare Robert Morris
Operativ system Research Unix V3-V7, OpenSolaris
Gränssnittsspråk engelsk
Hårdvaruplattform IA-32 , x86-64 och andra
stat föråldrad

UNIX - system är crypt ett föråldrat filkrypteringsverktyg .

Historik

Crypt skapades av Robert Morris och dök först upp i version 3 Unix för att stimulera utveckling av chifferbrytning; Morris knäckte så småningom kryptan själv . Dennis Ritchie kunde automatisera dekrypteringsprocessen med den metod som föreslogs av James Reeds, och en förbättrad version av krypteringsalgoritmen dök upp i Version 7 Unix , som Reeds och Peter Weinberger också knäckte [1] .

Relation med hashfunktionen

Det finns också en kryptografisk hashfunktion med samma namn - krypt . Även om både krypteringsverktyget och krypteringsfunktionen används för att kryptera data, har de ingenting gemensamt. För att skilja mellan de två hänvisar man vanligtvis till systemverktyget som crypt(1) , eftersom det är dokumenterat i avsnitt 1 i  UNIX-manualen, och till den kryptografiska hashfunktionen som crypt(3) , eftersom det är dokumenterat i avsnitt 3 .

Kommandot crypt(1)

crypt(1) är ett enkelt verktyg för att kryptera/dekryptera data. Det används vanligtvis som ett filterprogram (ett program som tar en sträng som indata och returnerar en annan sträng), och som traditionellt är baserat på algoritmen som används i Enigma-maskinen . Algoritmen anses vara överdrivet kryptografiskt sårbar för att ge skydd mot brute- force nyckelsökning av en modern konsumentdator .

Vissa versioner av UNIX levererades med en ännu mer sårbar version av kommandot crypt(1) för att upprätthålla moderna lagar som begränsar exporten av kryptografisk programvara. Några av implementeringarna av krypten var faktiskt implementeringar av Caesar-chifferet .

crypt(1) på Linux

Linux-distributioner innehåller vanligtvis inte en UNIX-kompatibel version av krypt av flera skäl:

  1. crypt anses vara mycket sårbart för brute-force-attacker ( distributionen inkluderar vanligtvis GnuPG , som är ganska kryptografiskt säkert med dagens standarder).
  2. Tidigt i utvecklingen av Linux fanns det farhågor om att krypten inte kunde uppfylla ITARs exportkrav för kryptografisk programvara; av denna anledning uteslöts verktyget från de flesta distributioner som utvecklats i USA (utvecklare erbjuder användare att ladda ner GnuPG eller liknande programvara själva, ibland tillhandahåller skript för att automatisera installationsprocessen).

Källkoden för flera äldre versioner av kryptprogrammet är tillgänglig från The Unix Heritage Society.

Den senaste versionen av koden är tillgänglig från OpenSolaris-projektet .

Avancerade symmetriska kryptosystem är nu tillgängliga på Linux (de är också portabla till alla andra UNIX-liknande operativsystem ), inklusive mcrypt och ccrypt [2] . Även om dessa program tillåter användning av mycket sofistikerade krypteringsalgoritmer, kan kommandoradsalternativ användas för att ställa in dem att fungera på ett sätt som är kompatibelt med den klassiska krypten(1) .

Hacka krypta(1)

Program för att bryta crypt(1) chiffer är allmänt tillgängliga. 1984-1985 skapade Bob Baldwin programmet Crypt Breakers Workbench [3] , som är ett interaktivt verktyg som ger användaren sekventiella "gissningar" om lösenordet, och användaren måste välja det mest lämpliga bland dem. Unixcrypt-breaker av Peter Selinger [4] använder en enkel statistisk modell för att rensa bort dåliga lösenord och kräver inte användaringripande.

Anteckningar

  1. McIlroy, Douglas En Research Unix-läsare: kommenterade utdrag från programmerarens manual. CSTR. Bell Labs. 139. 1971-1986 . Hämtad 8 september 2015. Arkiverad från originalet 11 november 2017.
  2. Peter Selinger: ccrypt Arkiverad 22 februari 2011 på Wayback Machine . 27 juli 2008.
  3. Bob Baldwin: Crypt Breakers Workbench Arkiverad 18 augusti 2011 på Wayback Machine , 1984-1985.
  4. Peter Selinger: unixcrypt-breaker Arkiverad 19 september 2015 på Wayback Machine . 27 juli 2008.

Länkar