MD4(3)

명칭
MD4Init, MD4Update, MD4Pad, MD4Final, MD4End, MD4File, MD4Data - RSA Data Security 사의 ``MD4''메세지 다이제스트를 계산한다

서식
#include <sys/types.h> #include <md4.h> void MD4Init(MD4_CTX *context) void MD4Update(MD4_CTX *context, const unsigned char *data, unsigned int len) void MD4Pad(MD4_CTX *context) void MD4Final(unsigned char digest[16], MD4_CTX *context) char * MD4End(MD4_CTX *context, char *buf) char * MD4File(const char *filename, char *buf) char * MD4Data(const unsigned char *data, unsigned int len, char *buf)

해설
MD4 함수군은, 임의의 수의 입력 바이트에 대해 128 비트 암호 체크 섬 (다이제스트 )을 계산합니다. 암호 체크 섬은 한방향 해쉬 함수이므로 특정 출력에 대응하는 입력을 (철저한 검색을 제외해 ) 찾아낼 수 없습니다. 결과적으로는 입력 데이터의 「지문」 밖에 발견되지 않고, 실제의 입력이 밝혀질 것은 없습니다.

MD2 는 가장 늦고, MD4 는 가장 고속으로 , MD5 는 그 중간입니다. MD2 는, 프라이버시가 중요한 메일만으로 사용할 수 있습니다. MD4 는 너무 약하다고 혹평되었기 때문에, 「안전 벨트를 붙인 MD4」로서 MD5 가 개발되었습니다. 의심스러울 때는 MD5 를 사용해 주세요.

MD4Init(), MD4Update(), MD4Final() 함수는 중심적인 함수군입니다. MD4_CTX 를 할당해 MD4Init() 그리고 초기화해, MD4Update() 그리고 데이터를 처리해, 마지막에 MD4Final() 그리고 결과를 꺼내 주세요.

MD4Pad() (은)는, 계산을 종료하지 말아줘 MD4Final() (와)과 같은 방법으로 메세지 데이터를 채울 수가 있습니다.

MD4End() 하 MD4Final() 의 나팔로, 16 진 128 비트를 표현한다 33 캐릭터 (마지막 「 \0 」를 포함한다 )의 ASCII 캐릭터 라인에 반환값을 변환합니다.

MD4File() (은)는 파일의 다이제스트를 계산해, MD4End() (을)를 사용해 결과를 돌려줍니다. 파일을 열지 않는 경우는 누르포인타를 돌려줍니다. MD4Data() (은)는 메모리에 존재하는 데이터의 다이제스트를 계산해, MD4End() (을)를 사용해 결과를 돌려줍니다.

MD4End(), MD4File(), MD4Data() 의 사용에 해당해 buf (을)를 NULL 포인터로 할 수가 있습니다. 이 경우는 malloc(3) 그리고 할당할 수 있었던 캐릭터 라인이 돌려주어지므로, 사용후는 free(3) 그리고 할당을 해제하지 않으면 안됩니다. buf 하지만 NULL 가 아닐 때는, 적어도 33 캐릭터 분의 버퍼를 가리키지 않으면 안됩니다.

관련 항목
md2(3), md4(3), md5(3) B. Kaliski, The MD2 Message-Digest Algorithm, RFC 1319. R. Rivest, The MD4 Message-Digest Algorithm, RFC 1186. R. Rivest, The MD5 Message-Digest Algorithm, RFC 1321. RSA Laboratories, Frequently Asked Questions About today's Cryptography.

저자
오리지날의 MD4 routine는, RSA Data Security 사에 의해 개발되어 상기의 레퍼런스로 공개되었습니다. 이 코드는, Poul-Henning Kamp <phk@login.dkuug.dk> 에 의해, 이 실장으로부터 직접 나타나고 있습니다.

Phk ristede runen.

역사
이 함수는, FreeBSD 2.0 그리고 나타났습니다.

버그
같은 해시치를 가지는 것 같은 2 개의 파일을 찾아내는 방법, 또는 특정의 해시치를 가지는 것 같은 파일을 찾아내는 방법은 알려져 있지 않습니다. 한편, 그러한 방법이 존재하지 않는다고 하는 프로텍션도 없습니다.

MD2 는, 프라이버시가 중요한 메일에 사용하는 경우만 라이센스 공여됩니다. 그 외의 경우는 MD4 나 MD5 를 사용해 주세요.

COPYRIGHT
Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved.

이 소프트웨어의 복제나 사용을 위한 라이센스는, 이 소프트웨어나 이 함수에 대해 언급하거나 참조하거나 한다 모든 자료로 「 RSA Data Security 사의 MD2 메세지 다이제스트 알고리즘」 인 것이 명시되고 있으면, 프라이버시가 중요해지는 비영리 인터넷 메일에 공여됩니다.

RSA Data Security 사는, 이 소프트웨어의 상업성, 또는 이 특정의 목적에 대한 이 소프트웨어의 적합성에 대해 표명하지 않습니다. 이 소프트웨어는, 어떠한 종류의, 명시적 또는 암묵적인 프로텍션도 없고, 「현상인 채」로 제공됩니다.

이 경고는, 이 문서나 소프트웨어, 또는 그 양쪽 모두의 모든 카피에 게재하지 않으면 안됩니다.