İSİM¶
crypt - parola ve veri şifrelemesi
KULLANIM¶
#define _XOPEN_SOURCE
#include <unistd.h>
void crypt (const char *parola, const char *tuz);
-lcrypt ile ilintileme gerektirir.
AÇIKLAMA¶
crypt parola şifreleme işlevidir. Veri Şifreleme
Standartı (Data Encryption Standard) algoritmasına
dayanır, fakat anahtar tarama için tasarlanmış
donanımlara engel olmak için bir takım
farklılıklar içerir.
parola kullanıcın girdiği paroladır.
tuz ise, elemanları [a-zA-Z0-9./] kümesinden seçilen
iki karakterli bir dizgedir. Bu dizge algoritmayı 4096 farklı
ihtimalden biri ile karıştırmayı amaçlar.
parolanın ilk sekiz karakterinden her birinin en
düşük anlamlı 7 biti alınarak 56 bitlik
parola oluşturulur. Bu 56 bitlik parola tekrar tekrar bir dizgeyi
(genellikle hepsi sıfırlardan oluşan bir dizge)
şifrelemede kullanılır. Dönüş
değeri 13 karakterli bir ASCII dizgesi olan ve ilk iki karakteri tuzu
temsil eden şifrelenmiş paroladır.
Dönüş değeri, her işlev
çağrısında içeriği
değişen statik bir veridir.
- Uyarı:
- Anahtar aralığı 2^56 (7.2e16) farklı
değer içermektedir. Bu anahtar
aralığının tümünü
kapsayan taramalar paralel bilgisayarlar ile
mümkündür. crack(1) gibi
yazılımlar bu anahtar aralığının
bir kısmını tarayıp parolaları elde
etmek için insanlar tarafından
kullanılmaktadır. Bu sebeple, parola seçerken
sık kullanılan kelime ve isimlerden
sakınılmalıdır. Parola seçme
işlemi esnasında kırılabilir parolaları
kontrol eden passwd(1) uygulaması
kullanmalıdır.
DES algoritması,
crypt arayüzünün parola
kimlik denetimi haricinde kullanılmasını
kötü bir seçenek haline getirmiştir.Eğer
crypt arayüzünü kriptografi projenizde
kullanmayı planlıyorsanız, bundan vazgeçin:
Şifreleme ve DES kütüphaneleri konusunda iyi bir kitap
elde edinin.
DÖNÜŞ DEĞERݶ
Dönüş değeri şifrelenmiş parolaya bir
göstericidir. Hata durumunda, boş gösterici döner.
HATALAR¶
- ENOSYS
- İşlev kütüphanede bulunmamaktadır
(Örneğin, ABD'nin ihracat
sınırlamalarından dolayı).
GNU OLUŞUMU¶
Bu işlevin glibc2 sürümü şu ek
özelliklere sahiptir. Eğer
tuz karakter dizisi,
"$1$" karakterleri ile başlar ve bunun ardından en
fazla 8 karakter gelirse (ve tercihan "$" karakteri ile
sonlandırılırsa), bu durumda glib crypt işlevi DES
motoru yerine, MD5 algoritması kullanılır ve 34 bayta
kadar çıktı verilir. Çıktı
"$1$<
dizge>$" biçimindedir. Burada
dizge, 8 karaktere kadar
tuz ve bunu takip eden [a-zA-Z0-9./]
kümesinden seçilmiş 22 bayttan oluşur. Burada bu
anahtarın bütünü anlamlıdır (sadece
ilk 8 baytı değil).
Bu işlevin kullanıldığı
yazılımlar derlenirken
-lcrypt ile ilintilemelidir.
UYUMLULUK¶
crypt() işlevi SVID, X/OPEN, BSD 4.3 ve POSIX 1003.1-2001
uyumludur.
İLGİLİ BELGELER¶
login(1),
crypt(1),
passwd(1),
encrypt(3),
getpass(3),
passwd(5).
ÇEVİREN¶
Emin İslam Tatlı <eminislam (at) web.de>, Nisan 2004