tail head cat sleep
QR code linking to this page

Man page  — CIPHER

명칭

setkey, encrypt, des_setkey, des_cipher – DES 암호화

내용

프로그램 라이브러리

FreeSec Crypt Library (libcipher, -lcipher)

서식

#include <unistd.h>

int
setkey(const char *key);

int
encrypt(char *block, int flag);

int
des_setkey(const char *key);

int
des_cipher(const char *in, char *out, long salt, int count);

해설

encrypt(), setkey(), des_setkey(), des_cipher() 함수는, DES 알고리즘에의 액세스 수단을 제공합니다. setkey() 에는, 바이너리치 (수치 0 또는 1)를 가지는 64바이트의 배열을 건네줍니다. 이 배열로부터 56 비트의 열쇠가 꺼내집니다. 이것은, 배열을 8 바이트의 그룹에 분할해, 각 그룹의 마지막 비트를 무시하는 것으로 행합니다. 이 비트는 DES 에 의해 바이트 패리티 검사를 위해서(때문에) 예약되고 있습니다만, 이러한 함수는 이 비트를 무시합니다.

encrypt() 의 인수 block 도 또한, 바이너리치를 가지는 64 바이트의 배열입니다. flag 의 값이 0 의 경우, block (은)는 암호화됩니다. 그 이외의 경우는 복호화(decode) 됩니다. setkey() 에 의해 지정한 열쇠를 사용해, 배열의 값을 처리한 다음에, 처리 결과는 원래의 배열 block 에 돌려주어집니다.

des_setkey() 의 인수는 길이 8 의 캐릭터의 배열입니다. 각 캐릭터의 최하정도 비트 (패리티 비트)는 무시되어 나머지의 비트를 붙여 56 비트의 열쇠를 형성합니다. des_cipher() 함수는 countabs(3) DES (을)를 반복해, in 에 있는 8 캐릭터에 격납된 64 비트의 값을 암호화 ( count 하지만 부의 경우는 복호화(decode)) 해, 결과의 64 비트를 8 캐릭터로 해 out (이것은, in (와)과 같은 장소에서도 상관하지 않습니다) 에 격납합니다. salt DES 알고리즘에 대해, 16777216 방법 또는 4096 방법 (즉, 24 비트 또는 12 비트) 중에서 1 방법이라고 하는 불규칙성을 도입합니다 ( salt 의 비트 i 하지만 설정되어 있는 경우, DES E-box 출력중의 비트 i (와)과 비트 i+24 (이)가 교환됩니다).

setkey(), encrypt(), des_setkey(), des_cipher() 함수는 처리에 성공했을 경우 0 을 돌려주어, 실패했을 경우 1 을 돌려줍니다.

setkey() (와)과 des_setkey() 함수는 같은 열쇠 공간을 조작합니다.

관련 항목

login(1), passwd(1), crypt(3), getpass(3), passwd(5)

역사

이 프로그램 라이브러리 (FreeSec 1.0)는, 아메리카 합중국만으로 사용할 수 있다 NetBSD libcrypt 암호화 프로그램 라이브러리에 대해서, 그러한 장해가 없는 치환으로서 아메리카 합중국의 밖에서 개발되었습니다. 유저는, 이 코드 (곳의 프로그램 라이브러리를 정적 링크 한 프로그램)는 합중국의 밖에 수출할 수 없는 것을 이해해 두지 않으면 되지 않습니다. 무엇보다, 수입할 수 있는 것은 분명합니다만.

저자

David Burren <davidb@werj.com.au>

FreeSec 1.0 CIPHER (3) March 9, 1994

tail head cat sleep
QR code linking to this page


Ben Bullock이 유닉스 매뉴얼 페이지에서 서비스에 대한 의견을 주시기 바랍니다. Privacy policy.

The “N” in NFS stands for Not, or Need, or perhaps Nightmare
— Harry Spencer