| package org.bouncycastle.crypto; |
| |
| import java.security.SecureRandom; |
| |
| /** |
| * The base class for symmetric, or secret, cipher key generators. |
| */ |
| public class CipherKeyGenerator |
| { |
| protected SecureRandom random; |
| protected int strength; |
| |
| /** |
| * initialise the key generator. |
| * |
| * @param param the parameters to be used for key generation |
| */ |
| public void init( |
| KeyGenerationParameters param) |
| { |
| this.random = param.getRandom(); |
| this.strength = (param.getStrength() + 7) / 8; |
| } |
| |
| /** |
| * generate a secret key. |
| * |
| * @return a byte array containing the key value. |
| */ |
| public byte[] generateKey() |
| { |
| byte[] key = new byte[strength]; |
| |
| random.nextBytes(key); |
| |
| return key; |
| } |
| } |