1 .TH IDEA 1 "November 16, 1993" 2 .GN 2 3 .SH NAME 4 idea \- encrypt and decrypt using IDEA 5 .SH SYNOPSIS 6 .TP 7 .B idea 8 [ 9 .B \-e 10 | 11 .B \-d 12 ] [ 13 .B \-r 14 ] [ 15 .B \-ecb 16 | 17 .B \-cbc\c 18 .I N 19 | 20 .B \-cfb\c 21 .I N 22 | 23 .B \-ofb\c 24 .I N 25 ] 26 .br 27 ( 28 .B \-k 29 .I keyString 30 | 31 .B \-K 32 .I keyHexString 33 ) 34 .br 35 [ 36 .I inputFile 37 [ 38 .I ouputFile 39 ] ] 40 .TP 41 .B idea 42 [ 43 .B \-h 44 | 45 .B \-H 46 ] [ 47 .B \-tan 48 | 49 .B \-abr 50 ] 51 .br 52 [ 53 .B \-k 54 .I keyString 55 | 56 .B \-K 57 .I keyHexString 58 ] 59 .br 60 [ 61 .I inputFile 62 [ [ 63 .I ouputFile 64 ] 65 .I hashvalFile 66 ] 67 .SH DESCRIPTION 68 .I Idea 69 reads 70 .I inputFile 71 and writes the en/decrypted data to 72 .I outputFile 73 or writes the hash value to 74 .I hashvalFile\c 75 \&. 76 If file name is not given in command line, 77 .I idea 78 uses standard input or output. 79 If the input file name is given as '-', 80 .I idea 81 reads from the standard input. 82 .br 83 84 .br 85 .B IDEA 86 (International Data Encryption Algorithm) is a block cipher developed 87 by Dr. Xuejia Lai and Prof. Dr. J. L. Massey at the Swiss Federal Institute of Technology. 88 .SH OPTIONS 89 .TP 90 .B \-e 91 Encrypt data. (default) 92 .TP 93 .B \-d 94 Decrypt data. 95 .TP 96 .B \-r 97 .I InputFile 98 is a raster-file. 99 .TP 100 .B \-k 101 Key is specified with 102 .I keyString\c 103 \&. 104 .TP 105 .B \-K 106 Key and initial values are specified with 107 .I keyHexString\c 108 \&. 109 .TP 110 .B \-h 111 Compute a 128 bit hash value from the input data. The 112 hash value is written to 113 .I hashvalFile 114 (or standard output). 115 .TP 116 .B \-H 117 Compute a 128 bit hash value from the input data. The input is copied to 118 .I outputFile 119 (or standard output) and the hash value is written to 120 .I hashvalFile 121 (or standard error). 122 .TP 123 .B Notation: 124 .br 125 N = interleave factor (1 is default) 126 .br 127 z = 128 bit key 128 .br 129 x[i] = 64 bit plaintext block 130 .br 131 y[i] = 64 bit ciphertext block 132 .br 133 x[1]..x[L] = plaintext (last block is filled with zeros) 134 .br 135 x[L+1] = length of plaintext in bits 136 .br 137 y[1]..y[L+1]= ciphertext 138 .br 139 IDEA(z, .) = encryption function 140 .br 141 IIDEA(z, .) = decryption function 142 .br 143 x = IIDEA(z, IDEA(z ,x)) 144 .TP 145 .B Encryption / Decrypion Modes: 146 .TP 147 .B \-ecb 148 electronic code book mode 149 .br 150 y[i] = IDEA(z, x[i]) 151 .br 152 x[i] = IIDEA(z, y[i]) 153 .TP 154 .B \-cbc 155 cipher block chaining mode (cbc1 is default) 156 .br 157 y[i] = IDEA(z, x[i] ^ y[i-N]) 158 .br 159 x[i] = IIDEA(z, y[i]) ^ y[i-N] 160 .TP 161 .B \-cfb 162 ciphertext feedback mode 163 .br 164 y[i] = x[i] ^ IDEA(z, y[i-N]) 165 .br 166 x[i] = y[i] ^ IDEA(z, y[i-N]) 167 .TP 168 .B \-ofb 169 output feedback mode 170 .br 171 h[i] = IDEA(z, h[i-N]) 172 .br 173 y[i] = x[i] ^ h[i] 174 .br 175 x[i] = y[i] ^ h[i] 176 .TP 177 .B Hash Functions: 178 .br 179 If no key is given, 180 .I idea 181 uses the all zero key. 182 .br 183 hash value = h[L+1] * 2**64 + g[L+1] 184 .br 185 h[0] = z / 2**64 186 .br 187 g[0] = z % 2**64 188 .TP 189 .B \-tan 190 tandem DM-scheme (default) 191 .br 192 w = IDEA(g[i-1] * 2**64 + x[i], h[i-1]) 193 .br 194 h[i] = h[i-1] ^ w 195 .br 196 g[i] = g[i-1] ^ IDEA(x[i] * 2**64 + w, g[i-1]) 197 .TP 198 .B \-abr 199 abreast DM-scheme 200 .br 201 h[i] = h[i-1] ^ IDEA(g[i-1] * 2**64 + x[i], h[i-1]) 202 .br 203 g[i] = g[i-1] ^ IDEA(x[i] * 2**64 + h[i-1], ~ g[i-1]) 204 .TP 205 .B Key Formats: 206 .br 207 .I keyHexString 208 = { '0'..'9' | 'a'..'f' | 'A'..'F' | ':' } 209 .br 210 .I keyHexString 211 = z:y[1-N]:y[2-N]:y[3-N].. 212 .br 213 .I keyString 214 = { '!'..'~' } = z 215 .SH EXAMPLES 216 To encrypt and decrypt a file in cipher block chaining mode with 217 an interleave factor of 8: 218 .LP 219 .RS 220 .nf 221 .ft B 222 idea -e -cbc8 -K 12345:67:89::ab:cDEf data data.cr 223 idea -d -cbc8 -K 12345:67:89::ab:cDef data.cr data.ori 224 data and data.ori are identical 225 .ft R 226 .fi 227 .RE 228 .br 229 .ne 10 230 .LP 231 To compute the hash value with tandem DM-scheme: 232 .LP 233 .RS 234 .nf 235 .ft B 236 idea -h data 237 .ft R 238 .fi 239 .RE 240 .br 241 .ne 10 242 .LP 243 To compute the hash value and encrypt the data in one step: 244 .LP 245 .RS 246 .nf 247 .ft B 248 idea -Hk "k e y" data | idea -K 123:9a::eF - data.cr 249 .ft R 250 .fi 251 .RE 252 .SH PATENT 253 IDEA is registered as the international patent WO 91/18459 254 "Device for Converting a Digital Block and the Use thereof". 255 For commercial use of IDEA, one should contact 256 .br 257 258 .br 259 ASCOM TECH AG 260 .br 261 Freiburgstrasse 370 262 .br 263 CH-3018 Bern, Switzerland 264 .SH AUTHOR 265 Richard De Moliner (demoliner@isi.ee.ethz.ch) 266 .br 267 Signal and Information Processing Laboratory 268 .br 269 Swiss Federal Institute of Technology 270 .br 271 CH-8092 Zurich, Switzerland 272 .SH BUGS 273 This program is at most as strong as IDEA itself. So, we urge the user to 274 use this program only after he has assured himself that IDEA is strong 275 enough AND he has read the source code of this program and its libraries AND 276 he has compiled the program himself with a troyan-free compiler. WE DO NOT 277 GUARANTEE THAT THIS PROGRAM IS A DECENT ENCRYPTION PROGRAM. 278