暗号強度

デフォルトの Sun JDK 環境で使用できる暗号化アルゴリズムは 輸入管理制限 によってキー長に制限が設けられています。

http://lab.moyo.biz/recipes/java/security/index.xsp


つうので手持ちの熱くなるMacBookAir初代で試してみた。
try-catchないのでコピペじゃうごかん(´・ω・`)
自分でかかないとだめ。

import java.security.Security;
import javax.crypto.Cipher;
import java.util.Set;
class CipherKeyLength {

    public static void main(String args[]) {
        Set < String > algorithms = Security.getAlgorithms("Cipher");
        for (String algorithm:algorithms) {
            try {
                int max = Cipher.getMaxAllowedKeyLength(algorithm);
                System.out.printf("%-22s: %dbit%n", algorithm, max);
            } catch(Exception e) {
                e.printStackTrace();
            }
        }

    }
}
[air:~] youichi% uname -a
Darwin air.local 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386
[air:~] youichi% java -version
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04-307-10M3261)
Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03-307, mixed mode)
[air:~] youichi% java CipherKeyLength
BLOWFISH              : 2147483647bit
ARCFOUR               : 2147483647bit
PBEWITHMD5ANDDES      : 2147483647bit
RC2                   : 2147483647bit
RSA                   : 2147483647bit
PBEWITHMD5ANDTRIPLEDES: 2147483647bit
PBEWITHSHA1ANDDESEDE  : 2147483647bit
DESEDE                : 2147483647bit
AESWRAP               : 2147483647bit
AES                   : 2147483647bit
DES                   : 2147483647bit
DESEDEWRAP            : 2147483647bit
PBEWITHSHA1ANDRC2_40  : 2147483647bit