Do not begin a line with single quote character. Submitted by: Kazuo Horikawa <k-horik@yk.rim.or.jp>
366 lines
6.7 KiB
Groff
366 lines
6.7 KiB
Groff
.\" FreeSec: libcrypt for NetBSD
|
|
.\"
|
|
.\" Copyright (c) 1994 David Burren
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 4. Neither the name of the author nor the names of other contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" %Id: crypt.3,v 1.6 1997/02/22 14:40:30 peter Exp %
|
|
.\"
|
|
.\" Manual page, using -mandoc macros
|
|
.\"
|
|
.Dd March 9, 1994
|
|
.Dt CRYPT 3
|
|
.Os
|
|
.Sh ̾¾Î
|
|
.Nm crypt ,
|
|
.Nm setkey ,
|
|
.Nm encrypt ,
|
|
.Nm des_setkey ,
|
|
.Nm des_cipher
|
|
.Nd DES °Å¹æ²½
|
|
.Sh ½ñ¼°
|
|
.Fd #include <unistd.h>
|
|
.Ft char *
|
|
.Fn crypt "const char *key" "const char *setting"
|
|
.Ft int
|
|
.Fn setkey "const char *key"
|
|
.Ft int
|
|
.Fn encrypt "char *block" "int flag"
|
|
.Ft int
|
|
.Fn des_setkey "const char *key"
|
|
.Ft int
|
|
.Fn des_cipher "const char *in" "char *out" "long salt" "int count"
|
|
.Sh ²òÀâ
|
|
.Fn crypt
|
|
´Ø¿ô¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤Î°Å¹æ²½¤ò¹Ô¤¤¤Þ¤¹¡£¤³¤ì¤Ï
|
|
.Tn NBS
|
|
¥Ç¡¼¥¿°Å¹æ²½µ¬³Ê
|
|
(NBS Data Encryption Standard)
|
|
¤ËͳÍ褹¤ë¤â¤Î¤Ç¤¹¡£¥¡¼¸¡º÷¤Î»î¤ß¤ò
|
|
Ëɻߤ¹¤ë¤¿¤á¤Ë¡¢¤½¤Î¾¤Î¥³¡¼¥É¤¬Äɲäµ¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
.Nm crypt
|
|
¤ÎºÇ½é¤Î°ú¿ô¤Ï
|
|
.Dv NUL
|
|
¤Ç½ªÎ»¤¹¤ë¥¹¥È¥ê¥ó¥°¤Ç¤¹
|
|
(
|
|
Ä̾ï¤Ï¡¢¥æ¡¼¥¶¤¬ÆþÎϤ·¤¿¥Ñ¥¹¥ï¡¼¥É
|
|
)
|
|
¡£
|
|
2 ÈÖ¤á¤Î
|
|
°ú¿ô¤Ï¡¢Ä¹¤µ¤¬
|
|
9 ¥Ð¥¤¥È¤Î¥¥ã¥é¥¯¥¿ÇÛÎó¤Ç¤¢¤ê¡¢¥¢¥ó¥À¡¼¥¹¥³¥¢
|
|
(``_'')
|
|
¤Ë¡¢
|
|
4 ¥Ð¥¤¥È¤ÎÈ¿Éü¥«¥¦¥ó¥È¤È
|
|
4 ¥Ð¥¤¥È¤Î
|
|
salt
|
|
¤¬Â³¤¤¤¿¤â¤Î¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£È¿Éü
|
|
.Fa count
|
|
¤È
|
|
.Fa salt
|
|
¤ÎξÊý¤¬¡¢¥¥ã¥é¥¯¥¿Åö¤¿¤ê
|
|
6 ¥Ó¥Ã¥È¤Ç¥¨¥ó¥³¡¼¥É¤µ¤ì¤Þ¤¹¡£
|
|
ºÇ²¼°Ì¥Ó¥Ã¥È¤¬ºÇ½é¤Ç¤¹¡£¤½¤ì¤¾¤ì
|
|
0 ¤«¤é
|
|
63 ¤ÎÃͤ¬¡¢
|
|
``./0-9A- Za-z''
|
|
¥¥ã¥é¥¯¥¿¤Ë¤è¤Ã¤Æ¥¨¥ó¥³¡¼¥É¤µ¤ì¤Þ¤¹¡£
|
|
.Pp
|
|
.Fa salt
|
|
¤ò»ÈÍѤ·¤Æ¡¢
|
|
16777216 ¸Ä¤Î²Äǽ¤ÊÊýË¡¤Î
|
|
1 ¤Ä¤Ç¡¢
|
|
.Tn DES
|
|
¥¢¥ë¥´¥ê¥º¥àÆâ¤Ë
|
|
̵Ãá½ø¤ò°ú¤µ¯¤³¤·¤Þ¤¹
|
|
(
|
|
ÆÃ¤Ë¡¢
|
|
.Ar salt
|
|
¤Î¥Ó¥Ã¥È
|
|
.Em i
|
|
¤¬ÀßÄꤵ¤ì¤Æ¤ª¤ê¡¢
|
|
.Em i
|
|
¥Ó¥Ã¥È¤È
|
|
.Em i+24
|
|
¥Ó¥Ã¥È¤¬
|
|
.Tn DES
|
|
"E" ¥Ü¥Ã¥¯¥¹½ÐÎϤǥ¹¥ï¥Ã¥×¤µ¤ì¤ë¾ì¹ç¤Ç¤¹
|
|
)
|
|
¡£
|
|
.Ar key
|
|
¤Ï
|
|
8 ¥¥ã¥é¥¯¥¿¤Î¥°¥ë¡¼¥×¤Ëʬ¤±¤é¤ì
|
|
(
|
|
ºÇ¸å¤Îû¤¤¥°¥ë¡¼¥×¤Ï
|
|
NULL
|
|
¤Ç¥Ñ¥Ã¥É¤µ¤ì¤Þ¤¹
|
|
)
|
|
¡¢³Æ¥¥ã¥é¥¯¥¿¤Î²¼°Ì¤Î
|
|
7 ¥Ó¥Ã¥È
|
|
(
|
|
¥°¥ë¡¼¥×¤´¤È¤Ë
|
|
56 ¸Ä
|
|
)
|
|
¤¬¡¢°Ê¹ß¤Î¤è¤¦¤Ë
|
|
DES
|
|
¥¡¼¤ò·ÁÀ®¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£
|
|
56 ¥Ó¥Ã¥È¤ÎºÇ½é¤Î¥°¥ë¡¼¥×¤¬¡¢½é´ü
|
|
DES
|
|
¥¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤Î¾¤Î³Æ¥°¥ë¡¼¥×¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥°¥ë¡¼¥×¥Ó¥Ã¥È¤ª¤è¤Ó
|
|
DES
|
|
¥¡¼¼«ÂΤΰŹ沽¤ÎÇÓ¾ŪÏÀÍýÏÂ
|
|
(XOR)
|
|
¤¬¼¡¤Î
|
|
DES
|
|
¥¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£ºÇ¸å¤Ë¡¢
|
|
ºÇ½ªÅª¤Ê
|
|
DES
|
|
¥¡¼¤¬»ÈÍѤµ¤ì¤Æ
|
|
64 ¥Ó¥Ã¥ÈÄê¿ô¤Î
|
|
.Ar count
|
|
ÎßÀѰŹ沽¤¬
|
|
¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ÊÖ¤µ¤ì¤ëÃͤϡ¢
|
|
.Dv NUL
|
|
¤Ç½ªÎ»¤¹¤ë¥¹¥È¥ê¥ó¥°¤Ç¡¢Ä¹¤µ¤Ï
|
|
20 ¥Ð¥¤¥È¡¢
|
|
.Ar setting
|
|
¤Ë¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿
|
|
64 ¥Ó¥Ã¥È¤Î°Å¹æ²½¤¬Â³¤¤¤¿¤â¤Î¤Ç¹½À®¤µ¤ì¤Þ¤¹¡£
|
|
.Pp
|
|
.Xr crypt 3
|
|
¤Î²áµî¤Î¥Ð¡¼¥¸¥ç¥ó¤È¤Î¸ß´¹À¤Î¤¿¤á¤Ë¡¢
|
|
.Ar setting
|
|
¤Ï¡¢¾åµ¤Î¤è¤¦¤Ë
|
|
¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿
|
|
2 ¥Ð¥¤¥È¤Î
|
|
salt
|
|
¤Ç¹½À®¤Ç¤¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢È¿Éü
|
|
.Ar count
|
|
25
|
|
¤¬
|
|
»ÈÍѤµ¤ì¡¢ÀÝÆ°¤Î¾¯¤Ê¤¤
|
|
.Tn DES
|
|
¤¬ÍøÍѤǤ¡¢ºÇĹ
|
|
8 ¥¥ã¥é¥¯¥¿¤Î
|
|
.Ar key
|
|
¤¬
|
|
»ÈÍѤµ¤ì¤Þ¤¹¡£ÊÖ¤µ¤ì¤ëÃͤÏ
|
|
.Dv NUL
|
|
¤Ç½ªÎ»¤¹¤ëŤµ¤¬
|
|
13 ¥Ð¥¤¥È¤Î¥¹¥È¥ê¥ó¥°
|
|
¤Ç¤¹¡£
|
|
.Pp
|
|
´Ø¿ô
|
|
.Fn encrypt
|
|
¡¢
|
|
.Fn setkey
|
|
¡¢
|
|
.Fn des_setkey
|
|
¡¢¤ª¤è¤Ó
|
|
.Fn des_cipher
|
|
¤Ç¤Ï¡¢
|
|
.Tn DES
|
|
¥¢¥ë¥´¥ê¥º¥à¤Ë¡¢À©¸Â¤µ¤ì¤¿¥¢¥¯¥»¥¹¤¬¤Ç¤¤Þ¤¹¡£
|
|
.Fn setkey
|
|
¤Ø¤Î¥¡¼
|
|
.Ar key
|
|
°ú¿ô¤Ï¡¢
|
|
64 ¥¥ã¥é¥¯¥¿¤Î¥Ð¥¤¥Ê¥êÃÍ
|
|
(
|
|
¿ô»ú¤Î
|
|
0 ¤Þ¤¿¤Ï
|
|
1)
|
|
¤ÎÇÛÎó¤Ç¤¹¡£
|
|
56 ¥Ó¥Ã¥È¤Î
|
|
¥¡¼¤Ï¤³¤ÎÇÛÎ󤫤鯳½Ð¤µ¤ì¤Þ¤¹¡£¤½¤Î¤¿¤á¤Ë¤Ï¡¢ÇÛÎó¤ò
|
|
8 ¤Ä¤Î¥°¥ë¡¼¥×¤Ë
|
|
ʬ³ä¤·¡¢³Æ¥°¥ë¡¼¥×Æâ¤ÎºÇ¸å¤Î¥Ó¥Ã¥È¤ò̵»ë¤·¤Þ¤¹¡£
|
|
.Pp
|
|
.Fn encrypt
|
|
¤Î°ú¿ô
|
|
.Fa block
|
|
¤â¡¢¥Ð¥¤¥Ê¥êÃͤÎ
|
|
64 ¥¥ã¥é¥¯¥¿ÇÛÎó¤Ç¤¹¡£
|
|
.Fa flag
|
|
¤ÎÃͤ¬
|
|
0 ¤Î¾ì¹ç¡¢°ú¿ô
|
|
.Fa block
|
|
¤Ï°Å¹æ²½¤µ¤ì¤Þ¤¹¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢
|
|
°Å¹æ²ò½ü¤µ¤ì¤Þ¤¹¡£°Å¹æ²½¤Þ¤¿¤Ï°Å¹æ²ò½ü¤Ï¡¢¤½¤ì¤ò½èÍý¤¹¤ë¤¿¤á¤Ë
|
|
.Fn setkey
|
|
¤¬
|
|
»ØÄꤷ¤¿¥¡¼¤ò»ÈÍѤ·¤¿¸å¡¢¥ª¥ê¥¸¥Ê¥ë¤ÎÇÛÎó
|
|
.Fa block
|
|
Æâ¤ËÊÖ¤µ¤ì¤Þ¤¹¡£
|
|
.Pp
|
|
.Fn des_setkey
|
|
´Ø¿ô¤È
|
|
.Fn des_cipher
|
|
´Ø¿ô¤Ï¹â®¤Ç¤¹¤¬¡¢
|
|
.Fn setkey
|
|
¤ª¤è¤Ó
|
|
.Fn encrypt
|
|
¤è¤ê°Ü¿¢À¤ÏÎô¤ê¤Þ¤¹¡£
|
|
.Fn des_setkey
|
|
¤Ø¤Î°ú¿ô¤Ï¡¢Ä¹¤µ¤¬
|
|
8 ¤Î
|
|
¥¥ã¥é¥¯¥¿ÇÛÎó¤Ç¤¹¡£³Æ¥¥ã¥é¥¯¥¿¤Î
|
|
.Em ºÇ²¼°Ì
|
|
¥Ó¥Ã¥È¤Ï̵»ë¤µ¤ì¡¢³Æ¥¥ã¥é¥¯¥¿¤Î
|
|
¼¡¤Î
|
|
7 ¥Ó¥Ã¥È¤¬Ï¢·ë¤µ¤ì¤Æ
|
|
56 ¥Ó¥Ã¥È¤Î¥¡¼¤òÀ¸À®¤·¤Þ¤¹¡£´Ø¿ô
|
|
.Fn des_cipher
|
|
¤Ï¡¢
|
|
.Tn DES
|
|
¤Î
|
|
.Fa count
|
|
È¿Éü¤Î
|
|
.Xr abs 3
|
|
¤ò»ÈÍѤ·¤Æ
|
|
.Fa in
|
|
¤Ç
|
|
8 ¥¥ã¥é¥¯¥¿Æâ¤ËÊݸ¤µ¤ì¤¿
|
|
64 ¥Ó¥Ã¥È¤ò°Å¹æ²½
|
|
(
|
|
¤Þ¤¿¤Ï
|
|
.Fa count
|
|
¤¬Éé¤Î¾ì¹ç¤Ï°Å¹æ²ò½ü
|
|
)
|
|
¤·¡¢
|
|
64 ¥Ó¥Ã¥È¤Î·ë²Ì¤ò
|
|
8 ¥¥ã¥é¥¯¥¿¤Ç
|
|
.Fa out
|
|
¤ËÊݸ¤·¤Þ¤¹¡£
|
|
.Fa salt
|
|
¤Ï¡¢Á°µ¤Î¤è¤¦¤Ë
|
|
.Tn DES
|
|
¤ÎÀÝÆ°¤ò
|
|
»ØÄꤷ¤Þ¤¹¡£
|
|
.Pp
|
|
´Ø¿ô
|
|
.Fn crypt
|
|
¤Ï¡¢½èÍý¤¬À®¸ù¤·¤¿¾ì¹ç¤Ï°Å¹æ²½¤µ¤ì¤¿Ãͤò»Ø¤¹¥Ý¥¤¥ó¥¿¤òÊÖ¤·¡¢
|
|
½èÍý¤¬¼ºÇÔ¤·¤¿¾ì¹ç¤Ï
|
|
NULL
|
|
¤òÊÖ¤·¤Þ¤¹¡£´Ø¿ô
|
|
.Fn setkey
|
|
¡¢
|
|
.Fn encrypt
|
|
¡¢
|
|
.Fn des_setkey
|
|
¡¢¤ª¤è¤Ó
|
|
.Fn des_cipher
|
|
¤Ï¡¢½èÍý¤¬À®¸ù¤·¤¿¾ì¹ç¤Ï
|
|
0 ¤òÊÖ¤·¡¢½èÍý¤¬
|
|
¼ºÇÔ¤·¤¿¾ì¹ç¤Ï
|
|
1 ¤òÊÖ¤·¤Þ¤¹¡£Îò»ËŪ¤Ë¤Ï¡¢´Ø¿ô
|
|
.Fn setkey
|
|
¤È
|
|
.Fn encrypt
|
|
¤Ï¤É¤Î¤è¤¦¤ÊÃͤâÊÖ¤·¤Þ¤»¤ó¤Ç¤·¤¿¡£¤³¤ì¤é¤Î´Ø¿ô¤¬Ìá¤êÃͤò»ØÄꤵ¤ì¤¿¤Î¤Ï¡¢
|
|
¼ç¤Ë¥Ï¡¼¥É¥¦¥§¥¢¥µ¥Ý¡¼¥È¤¬È÷¤ï¤Ã¤Æ¤¤¤ë¤â¤Î¤Î»ÈÍѤϤǤ¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï
|
|
Ä̾ï¤ÎÊý¿Ë¤Î¶ò¤«¤µ¤Î¤¿¤á¤Ë
|
|
DES
|
|
¤¬ÍøÍѤǤ¤Ê¤¤¾ì¹ç¤Ë¡¢¥·¥¹¥Æ¥à¤ò
|
|
¶èÊ̤¹¤ë¤¿¤á¤Ç¤¹¡£
|
|
.Pp
|
|
.Fn crypt
|
|
¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢
|
|
.Nm libcrypt
|
|
¥é¥¤¥Ö¥é¥ê¤È¤Î¥ê¥ó¥¯¤¬É¬ÍפǤ¹¡£
|
|
.Fn setkey
|
|
¡¢
|
|
.Fn encrypt
|
|
¡¢
|
|
.Fn des_setkey
|
|
¡¢¤ª¤è¤Ó
|
|
.Fn des_cipher
|
|
¤Ï¡¢
|
|
.Nm libcipher
|
|
¥é¥¤¥Ö¥é¥êÆâ¤Ë
|
|
¸«¤Ä¤«¤ê¤Þ¤¹¡£
|
|
(
|
|
ɸ½à¤Î
|
|
C
|
|
¥é¥¤¥Ö¥é¥ê¡¢
|
|
.Nm libc
|
|
¤Ë¤Ï¤³¤ì¤é¤Î¥ë¡¼¥Á¥ó¤Ø¤Î¤«¤±¤é¤·¤«
|
|
Æþ¤Ã¤Æ¤¤¤Þ¤»¤ó
|
|
)
|
|
¡£
|
|
.Sh ´ØÏ¢¹àÌÜ
|
|
.Xr login 1 ,
|
|
.Xr passwd 1 ,
|
|
.Xr getpass 3 ,
|
|
.Xr passwd 5
|
|
.Rs
|
|
.%T "Mathematical Cryptology for Computer Scientists and Mathematicians"
|
|
.%A Wayne Patterson
|
|
.%D 1987
|
|
.%N ISBN 0-8476-7438-X
|
|
.Re
|
|
.Rs
|
|
.%T "Password Security: A Case History"
|
|
.%A R. Morris
|
|
.%A Ken Thompson
|
|
.%J "Communications of the ACM"
|
|
.%V vol. 22
|
|
.%P pp. 594-597
|
|
.%D Nov. 1979
|
|
.Re
|
|
.Rs
|
|
.%T "DES will be Totally Insecure within Ten Years"
|
|
.%A M.E. Hellman
|
|
.%J "IEEE Spectrum"
|
|
.%V vol. 16
|
|
.%P pp. 32-39
|
|
.%D July 1979
|
|
.Re
|
|
.Sh Îò»Ë
|
|
¥í¡¼¥¿¡¼¤òºÎÍѤ·¤¿
|
|
.Fn crypt
|
|
´Ø¿ô¤Ï¡¢
|
|
.At v6
|
|
¤Ç¸½¤ì¤Þ¤·¤¿¡£¸½ºß¤Î
|
|
¥¹¥¿¥¤¥ë¤Î
|
|
.Fn crypt
|
|
¤Ï¡¢ºÇ½é¤Ë
|
|
.At v7
|
|
¤Ë¸½¤ì¤Þ¤·¤¿¡£
|
|
.Sh ¥Ð¥°
|
|
.Fn des_setkey
|
|
¤Ø¤Î°ú¿ô¤Î³Æ¥¥ã¥é¥¯¥¿¤Î
|
|
.Em ºÇ²¼°Ì
|
|
¥Ó¥Ã¥È¤ò
|
|
Íî¤È¤¹¤Î¤Ï¤È¤ó¤Ç¤â¤Ê¤¤¤³¤È¤Ç¤¹¡£
|
|
.Pp
|
|
.Fn crypt
|
|
´Ø¿ô¤Ï¡¢·ë²Ì¤òÆâÉô¤ÎÀÅŪ¥ª¥Ö¥¸¥§¥¯¥È¤Ë»Ä¤·¡¢¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò»Ø¤¹
|
|
¥Ý¥¤¥ó¥¿¤òÊÖ¤·¤Þ¤¹¡£¸å¤Ç
|
|
.Fn crypt
|
|
¤ò¸Æ¤Ó½Ð¤¹¤È¡¢Æ±¤¸¥ª¥Ö¥¸¥§¥¯¥È¤¬
|
|
½¤Àµ¤µ¤ì¤Þ¤¹¡£
|