![]()
|
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7">
LIVMcryptæš—å·åŒ–関数ã“ã“ã§ç¤ºã™é–¢æ•°ã¯ã€mcrypt ã‚’ 使用ã—ã¦å‹•作ã—ã¾ã™ã€‚ ã“ã®é–¢æ•°ã¯ã€CBC, OFB, CFB ,ECB æš—å·ãƒ¢ãƒ¼ãƒ‰ã®DES,TripleDES,Blowfish (デフォルト),3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 ,GOST ã®ã‚ˆã†ãªåºƒç¯„ãªãƒ–ãƒãƒƒã‚¯ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ をサãƒãƒ¼ãƒˆã™ã‚‹mcryptライブ ラリã¸ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェースã§ã™ã€‚åŠ ãˆã¦ã€"フリーã§ã¯ãªã„" ã¨æ€ã‚れる RC6 ãŠã‚ˆã³ IDEA もサãƒãƒ¼ãƒˆã—ã¾ã™ã€‚ libmcrypt 2.4.xã¨ãƒªãƒ³ã‚¯ã—ãŸå ´åˆã€åŠ ãˆã¦ãƒ–ãƒãƒƒã‚¯ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ : CAST, LOKI97, RIJNDAEL, SAFERPLUS, SERPENT ãŠã‚ˆã³æ¬¡ã®ã‚¹ãƒˆãƒªãƒ¼ãƒ æš— å·: ENIGMA (crypt), PANAMA, RC4 ,WAKE ãŒã‚µãƒãƒ¼ãƒˆã•れã¾ã™ã€‚ libmcrypt 2.4.x を使用ã—ãŸå ´åˆã€æš—å·ãƒ¢ãƒ¼ãƒ‰ nOFB もサãƒãƒ¼ãƒˆã•れã¾ã™ã€‚ ã“ã®æ‹¡å¼µæ©Ÿèƒ½ã‚’使用ã™ã‚‹ã«ã¯ã€ã“ã“ ã‹ã‚‰ libmcrypt-x.x.tar.gz をダウンãƒãƒ¼ãƒ‰ã—ã€å«ã¾ã‚Œã¦ã„るインストール用㮠指示ã«å¾“ã£ã¦ä¸‹ã•ã„。ã“ã®æ‹¡å¼µæ©Ÿèƒ½ã‚’利用å¯èƒ½ã«ã™ã‚‹ãŸã‚ã«ã¯ã€ PHP ã‚’ --with-mcrypt パラメータを 付ã‘ã¦ã‚³ãƒ³ãƒ‘イルã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚å¿…ãšã€ --disable-posix-threadsを付ã‘㦠libmcrypt をコンパイルã—ã¦ä¸‹ã•ã„。 mcrypt ã¯ã€ä¸Šã«ç¤ºã—ãŸæš—å·ã‚’用ã„ã¦æš—å·åŒ–ãŠã‚ˆã³å¾©å·åŒ–ã‚’ 行ã†ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚libmcrypt-2.2.xã¨ãƒªãƒ³ã‚¯ã—ãŸå ´åˆã€4ã¤ã®é‡è¦ãª mcrypt コマンド (mcrypt_cfb(), mcrypt_cbc(),mcrypt_ecb(), mcrypt_ofb()) ã¯ã€MCRYPT_ENCRYPT ãŠã‚ˆã³ MCRYPT_DECRYPT ã¨ã„ㆠ2ã¤ã®ãƒ¢ãƒ¼ãƒ‰ã®ä¸¡æ–¹ã§å®Ÿè¡Œå¯èƒ½ã§ã™ã€‚ libmcrypt 2.4.x ã¨ãƒªãƒ³ã‚¯ã—ãŸå ´åˆã€ä¸Šè¨˜ã®é–¢æ•°ã‚‚利用å¯èƒ½ã§ã™ãŒã€æ–°ã— ã„関数を使用ã•れるã“ã¨ã‚’推奨ã—ã¾ã™ã€‚ mcryptã¯4ã¤ã®ãƒ–ãƒãƒƒã‚¯æš—å·ãƒ¢ãƒ¼ãƒ‰(CBC, OFB, CFB, ECB)ã§å®Ÿè¡Œå¯èƒ½ã§ã™ã€‚ libmcrypt-2.4.xã«ãƒªãƒ³ã‚¯ã—ãŸå ´åˆã€ãƒ–ãƒãƒƒã‚¯æš—å·ãƒ¢ãƒ¼ãƒ‰ nOFG ã¨STREAM モードã§ã‚‚実行å¯èƒ½ã§ã™ã€‚MCRYPT_MODE_mode å½¢å¼ã‚’関数ã§ä½¿ç”¨ã™ã‚‹éš›ã« ã¯ã€ã„ãã¤ã‹ã®åˆ¶ç´„ãŒã‚りã¾ã™ã€‚ã“ã“ã§ã€ã“れらã®å„モードã®é€šå¸¸ã®ä½¿ç”¨ æ³•ã®æ¦‚è¦ã‚’示ã—ã¾ã™ã€‚詳細ãªãƒªãƒ•ァレンスãŠã‚ˆã³è°è«–ã«é–¢ã—ã¦ã¯ã€ Applied Cryptography by Schneier (ISBN 0-471-11709-9) ã‚’å‚照下ã•ã„。
PHP ã¯ã€ç¾åœ¨ãƒ“ãƒƒãƒˆã‚¹ãƒˆãƒªãƒ¼ãƒ ã®æš—å·åŒ–/複åˆåŒ–をサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。 ç¾åœ¨ã®ã¨ã“ã‚ã€PHP ã¯æ–‡å—列ã®å‡¦ç†ã®ã¿ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ サãƒãƒ¼ãƒˆã•れる暗å·ã®å®Œå…¨ãªãƒªã‚¹ãƒˆã«ã¤ã„ã¦ã¯ã€mcrypt.h ã® define ã‚’ å‚照下ã•ã„。mcrypt-2.2.x API ã«é–¢ã™ã‚‹ä¸€èˆ¬çš„ãªè¦å‰‡ã¯ã€MCRYPT_æš—å·å ã§PHPã‹ã‚‰æš—å·ã‚’アクセスå¯èƒ½ã§ã‚ã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚mcrypt-2.4.x API ã«ã¤ã„ã¦ã‚‚ã“れらã®è¦å‰‡ã¯æˆã‚Šç«‹ã¡ã¾ã™ãŒã€ mcrypt_module_open() をコールã™ã‚‹éš›ã«æ–‡å—åˆ—ã§æš— å·åを指定ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ 以下ã«ç¾åœ¨ mcrypt 拡張機能ã«ãŠã„ã¦ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã‚‹æš—å·ã®ç°¡å˜ãªãƒªã‚¹ãƒˆã‚’ 示ã—ã¾ã™ã€‚mcrypt ãŒã‚µãƒãƒ¼ãƒˆã™ã‚‹æš—å·ãŒã“ã®ãƒªã‚¹ãƒˆã«ã®ã£ã¦ã„ãªã„å ´åˆã€ ã“ã®ãƒ‰ã‚ュメントãŒå¤ã„ã¨ä»®å®šã—ã¦ä¸‹ã•ã„。
CFB ãŠã‚ˆã³ OFBモードã§ã¯ã€ãれãžã‚Œã®æš—å·é–¢æ•°ã«åˆæœŸåŒ–ベクトル(IV) を指定ã™ã‚‹å¿…è¦ãŒã‚りã€CBCモードã§ã¯IVを指定ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚ IV ã¯ã€ãƒ¦ãƒ‹ãƒ¼ã‚¯ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã€æš—å·åŒ–/複åˆåŒ–ã®éš›ã«åŒã˜ã§ã‚ã‚‹ å¿…è¦ãŒã‚りã¾ã™ã€‚æš—å·åŒ–ã•れã¦ä¿å˜ã•れãŸãƒ‡ãƒ¼ã‚¿ã®å ´åˆã€é–¢æ•°ã®å‡ºåŠ›ã‚’ (ファイルåã® MD5 ã‚ーã®ã‚ˆã†ã«) ä¿å˜ã•れãŸãƒ‡ãƒ¼ã‚¿ã®ä½ç½®ã‚’表㙠インデックスã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã‚‚ã—ãã¯ã€æš—å·åŒ–ã•れãŸãƒ‡ãƒ¼ ã‚¿ã¨å…±ã«IV を渡ã™ã“ã¨ãŒã§ãã¾ã™ã€‚(ã“ã®ãƒˆãƒ”ックã«é–¢ã™ã‚‹è°è«–ã«ã¤ã„㦠ã¯ã€Applied Cryptography by Schneier (ISBN 0-471-11709-9) ã® 9.3 ç« ã‚’å‚照下ã•ã„)
|