OpenSSL 資料一覧

共有鍵暗号でファイルを暗号化する方法

2007/10/23更新

対応バージョン: 0.9.8g

opensslコマンドを使用する。

OpenSSLがサポートする暗号化方式は以下のようにopensslコマンドに未定義のサブコマンドを与えることで確認できる。

% openssl help
openssl:Error: 'help' is an invalid command.

Standard commands
asn1parse    ca           ciphers      crl          crl2pkcs7      
dgst         dh           dhparam      dsa          dsaparam       
ec           ecparam      enc          engine       errstr         
gendh        gendsa       genrsa       nseq         ocsp           
passwd       pkcs12       pkcs7        pkcs8        prime          
rand         req          rsa          rsautl       s_client       
s_server     s_time       sess_id      smime        speed          
spkac        verify       version      x509           

Message Digest commands (see the `dgst' command for more details)
md2          md4          md5          rmd160       sha            
sha1           

Cipher commands (see the `enc' command for more details)
aes-128-cbc  aes-128-ecb  aes-192-cbc  aes-192-ecb  aes-256-cbc    
aes-256-ecb  base64       bf           bf-cbc       bf-cfb         
bf-ecb       bf-ofb       cast         cast-cbc     cast5-cbc      
cast5-cfb    cast5-ecb    cast5-ofb    des          des-cbc        
des-cfb      des-ecb      des-ede      des-ede-cbc  des-ede-cfb    
des-ede-ofb  des-ede3     des-ede3-cbc des-ede3-cfb des-ede3-ofb   
des-ofb      des3         desx         idea         idea-cbc       
idea-cfb     idea-ecb     idea-ofb     rc2          rc2-40-cbc     
rc2-64-cbc   rc2-cbc      rc2-cfb      rc2-ecb      rc2-ofb        
rc4          rc4-40         

例えばAES256 CBCモードで暗号化する場合は以下のようにする。

% openssl aes-256-cbc -e -in original.txt -out encrypt.txt
enter aes-256-cbc encryption password: ***** ← パスワード
Verifying - enter aes-256-cbc encryption password: ***** ← パスワード

同様に、このファイルを復号化するには以下のように-dオプションを指定する。

% openssl aes-256-cbc -d -in encrypt.txt -out decrypt.txt
enter aes-256-cbc decryption password: ***** ← パスワード