RFR 8051408: JEP 273: DRBG-Based SecureRandom Implementations

Wang Weijun weijun.wang at oracle.com
Mon Mar 21 05:15:51 UTC 2016


Hi All

Please take a review at the design and implementation of DRBG at:

http://cr.openjdk.java.net/~weijun/8051408/webrev.07
http://cr.openjdk.java.net/~weijun/8051408/webrev.07/spec
http://cr.openjdk.java.net/~weijun/8051408/webrev.07/specdiff/overview-summary.html

An example:

 SecureRandom drbg;
 byte[] buffer = new byte[32];

 drbg = SecureRandom.getInstance("DRBG",
         DrbgParameters.instantiate(256, PR_ONLY, "hello".getBytes()));

 drbg.nextBytes(buffer,
         DrbgParameters.nextBytes(-1, false, "more".getBytes()));

 SecureRandomInstantiateParameters params = drbg.getParameters();
 if (params instanceof DrbgParameters.Instantiate) {
     DrbgParameters.Instantiate ins = (DrbgParameters.Instantiate) params;
     if (ins.getCapability() != NONE) {
         drbg.reseed(DrbgParameters.reseed(false, "extra".getBytes()));
     }
 }

Thanks
Max




More information about the security-dev mailing list