OSDN Git Service

Import translated manuals from JM CVS Repository.
[linuxjm/jm.git] / manual / LDP_man-pages / release / man3 / encrypt.3
1 .\" Copyright 2000 Nicolas Lichtmaier <nick@debian.org>
2 .\" Created 2000-07-22 00:52-0300
3 .\"
4 .\" This is free documentation; you can redistribute it and/or
5 .\" modify it under the terms of the GNU General Public License as
6 .\" published by the Free Software Foundation; either version 2 of
7 .\" the License, or (at your option) any later version.
8 .\"
9 .\" The GNU General Public License's references to "object code"
10 .\" and "executables" are to be interpreted as the output of any
11 .\" document formatting or typesetting system, including
12 .\" intermediate and printed output.
13 .\"
14 .\" This manual is distributed in the hope that it will be useful,
15 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
16 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 .\" GNU General Public License for more details.
18 .\"
19 .\" Modified 2002-07-23 19:21:35 CEST 2002 Walter Harms
20 .\" <walter.harms@informatik.uni-oldenburg.de>
21 .\"
22 .\" Modified 2003-04-04, aeb
23 .\"
24 .\" Japanese Version Copyright (c) 2000-2004 Yuichi SATO
25 .\"         all rights reserved.
26 .\" Translated Sun Sep 24 06:18:14 JST 2000
27 .\"         by Yuichi SATO <sato@complex.eng.hokudai.ac.jp>
28 .\" Updated & Modified Sun Sep  7 13:20:43 JST 2003
29 .\"         by Yuichi SATO <ysato444@yahoo.co.jp>
30 .\" Updated & Modified Sat Jan 17 01:27:31 JST 2004 by Yuichi SATO
31 .\"
32 .\"WORD:        encrypt         °Å¹æ²½
33 .\"WORD:        decrypt         Éü¹æ²½
34 .\"
35 .TH ENCRYPT 3 2003-04-04 "" "Linux Programmer's Manual"
36 .SH Ì¾Á°
37 encrypt, setkey, encrypt_r, setkey_r \- 64 ¥Ó¥Ã¥È¤Î¥á¥Ã¥»¡¼¥¸¤ò°Å¹æ²½¤¹¤ë
38 .SH ½ñ¼°
39 .B #define _XOPEN_SOURCE
40 .br
41 .B #include <unistd.h>
42 .sp
43 .BI "void encrypt(char " block "[64], int " edflag );
44 .sp
45 .B #define _XOPEN_SOURCE
46 .br
47 .B #include <stdlib.h>
48 .sp
49 .BI "void setkey(const char *" key );
50 .sp
51 .B #define _GNU_SOURCE
52 .br
53 .B #include <crypt.h>
54 .sp
55 .BI "void setkey_r(const char *" key ", struct crypt_data *" data );
56 .br
57 .BI "void encrypt_r(char *" block ", int " edflag \
58 ", struct crypt_data *" data );
59 .sp
60 ¤³¤ì¤é¤Î´Ø¿ô¤Ï \fI\-lcrypt\fP ¤Ç¥ê¥ó¥¯¤¹¤ëɬÍפ¬¤¢¤ë¡£
61 .SH ÀâÌÀ
62 ¤³¤ì¤é¤Î´Ø¿ô¤Ï¡¢64 ¥Ó¥Ã¥È¤Î¥á¥Ã¥»¡¼¥¸¤Î°Å¹æ²½¤ÈÉü¹æ²½¤ò¹Ô¤¦¡£
63 .BR setkey ()
64 ´Ø¿ô¤Ï
65 .BR encrypt ()
66 ¤Ë¤è¤Ã¤Æ»È¤ï¤ì¤ë°Å¹æ¸°¤òÀßÄꤹ¤ë¡£
67 ¤³¤³¤Ç»È¤ï¤ì¤ë°ú¤­¿ô
68 .I key
69 ¤Ï 64 ¥Ð¥¤¥È¤ÎÇÛÎó¤Ç¤¢¤ê¡¢³Æ¥Ð¥¤¥È¤Ï¿ôÃÍ 1 ¤Þ¤¿¤Ï 0 ¤Ç¤¢¤ë¡£
70 n=8*i-1 ¤ËÂФ¹¤ë¥Ð¥¤¥È key[n] ¤Ï̵»ë¤µ¤ì¤ë¤Î¤Ç¡¢
71 Í­¸ú¤Ê°Å¹æ¸°¤ÎŤµ¤Ï 56 ¥Ó¥Ã¥È¤Ë¤Ê¤ë¡£
72 .PP
73 .BR encrypt ()
74 ´Ø¿ô¤Ï¡¢
75 .I edflag
76 ¤¬ 0 ¤Î¾ì¹ç¤Ï°Å¹æ²½¤·¡¢1 ¤¬ÅϤµ¤ì¤¿¾ì¹ç¤ÏÉü¹æ²½¤¹¤ë¤È¤¤¤¦¤è¤¦¤Ë¡¢
77 ÅϤµ¤ì¤¿¥Ð¥Ã¥Õ¥¡¤òÊѹ¹¤¹¤ë¡£
78 °ú¤­¿ô
79 .I key
80 ¤ÈƱÍͤˡ¢
81 .I block
82 ¤Ï¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¼ÂºÝ¤ÎÃͤòɽ¸½¤¹¤ë¥Ó¥Ã¥È¤ÎÇÛÎó¤Ç¤¢¤ë¡£
83 ·ë²Ì¤Ï¤³¤ÎƱ¤¸ÇÛÎó¤ò»È¤Ã¤ÆÊÖ¤µ¤ì¤ë¡£
84 .PP
85 ¤³¤ì¤é 2 ¤Ä¤Î´Ø¿ô¤Ï¥ê¥¨¥ó¥È¥é¥ó¥È (reentrant) ¤Ç¤Ï¤Ê¤¤¡£
86 ¤Ä¤Þ¤ê°Å¹æ¸°¥Ç¡¼¥¿¤ÏÀÅŪ¤ÊÎΰè¤ËÊݸ¤µ¤ì¤ë¡£
87 ´Ø¿ô
88 .BR setkey_r ()
89 ¤È
90 .BR encrypt_r ()
91 ¤Ï¥ê¥¨¥ó¥È¥é¥ó¥È¤Ê¥Ð¡¼¥¸¥ç¥ó¤Ç¤¢¤ë¡£
92 ¤³¤ì¤é¤Î´Ø¿ô¤Ï°Å¹æ¸°¥Ç¡¼¥¿¤òÊÝ»ý¤¹¤ë¤¿¤á¤Ë°Ê²¼¤Î¤è¤¦¤Ê¹½Â¤ÂΤò»È¤¦¡£
93 .in +4n
94 .nf
95
96 struct crypt_data {
97     char     keysched[16 * 8];
98     char     sb0[32768];
99     char     sb1[32768];
100     char     sb2[32768];
101     char     sb3[32768];
102     char     crypt_3_buf[14];
103     char     current_salt[2];
104     long int current_saltbits;
105     int      direction;
106     int      initialized;
107 };
108 .fi
109 .in
110 .PP
111 .BR setkey_r ()
112 ¤ò¸Æ¤Ó½Ð¤¹Á°¤Ë¤Ï¡¢
113 .I data\->initialized
114 ¤ò 0 ¤ËÀßÄꤹ¤ë¤³¤È¡£
115 .SH ÊÖ¤êÃÍ
116 ¤³¤ì¤é¤Î´Ø¿ô¤Ï¡¢¤Ê¤Ë¤âÃͤòÊÖ¤µ¤Ê¤¤¡£
117 .SH ¥¨¥é¡¼
118 ¾åµ­¤Î´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹Á°¤Ë
119 .I errno
120 ¤ò 0 ¤ËÀßÄꤹ¤ë¤³¤È¡£
121 À®¸ù¤·¤¿¾ì¹ç¡¢¤³¤ÎÃͤÏÊѹ¹¤µ¤ì¤Ê¤¤¡£
122 .TP
123 .B ENOSYS
124 (Î㤨¤Ð°ÊÁ°¤Î¥¢¥á¥ê¥«¹ç½°¹ñÍ¢½Ðµ¬À©¤Ê¤É¤Ë¤è¤ê)
125 ¤³¤Î´Ø¿ô¤¬Ä󶡤µ¤ì¤Æ¤¤¤Ê¤¤¡£
126 .SH ½àµò
127 ´Ø¿ô
128 .BR encrypt ()
129 ¤È
130 .BR setkey ()
131 ¤Ï SVr4, SUSv2, and POSIX.1-2001 ¤Ë½àµò¤¹¤ë¡£
132 ´Ø¿ô
133 .BR encrypt_r ()
134 ¤È
135 .BR setkey_r ()
136 ¤Ï GNU ³ÈÄ¥¤Ç¤¢¤ë¡£
137 .SH Ãí°Õ
138 glibc 2.2 ¤Ç¤Ï¡¢¤³¤ì¤é¤Î´Ø¿ô¤Ï DES ¥¢¥ë¥´¥ê¥º¥à¤ò»È¤¦¡£
139 .SH Îã
140 ¤³¤ÎÎã¤ò glibc ¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤Ë¤Ï libcrypt ¤È¥ê¥ó¥¯¤¹¤ëɬÍפ¬¤¢¤ë¡£
141 ¼ÂºÝ¤ËÆ°ºî¤µ¤»¤ë¤¿¤á¤Ë¤Ï¡¢ÇÛÎó
142 .I key[]
143 ¤È
144 .I txt[]
145 ¤ËÍ­¸ú¤Ê¥Ó¥Ã¥È¥Ñ¥¿¡¼¥ó¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
146 .sp
147 .nf
148 #define _XOPEN_SOURCE
149 #include <unistd.h>
150 #include <stdlib.h>
151
152 int
153 main(void)
154 {
155     char key[64];      /* bit pattern for key */
156     char txt[64];      /* bit pattern for messages */
157
158     setkey(key);
159     encrypt(txt, 0);   /* encode */
160     encrypt(txt, 1);   /* decode */
161 }
162 .fi
163 .SH ´ØÏ¢¹àÌÜ
164 .BR cbc_crypt (3),
165 .BR crypt (3),
166 .BR ecb_crypt (3),
167 .\" .BR fcrypt (3),
168 .BR feature_test_macros (7)