From 093c4802eed1f65093f1203d54610e603f6448da Mon Sep 17 00:00:00 2001 From: Tim Whittington Date: Thu, 4 Jul 2013 08:52:37 +1200 Subject: [PATCH] Correct the length of automatically generated IVs for OCB mode to the max of 15 bytes. Since draft-irtf-cfrg-ocb-03 OCB is defined for nonces of up to 15 bytes (and requires 16 byte block size). --- .../jcajce/provider/symmetric/util/BaseBlockCipher.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/prov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher.java b/prov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher.java index 17b66a5fc7..f58560fb31 100644 --- a/prov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher.java +++ b/prov/src/main/java/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher.java @@ -285,7 +285,8 @@ else if (modeName.startsWith("OCB")) { if (engineProvider != null) { - ivLength = baseEngine.getBlockSize(); + // Nonce restricted to max 120 bits over 128 bit block cipher since draft-irtf-cfrg-ocb-03 + ivLength = 15; cipher = new AEADGenericBlockCipher(new OCBBlockCipher(baseEngine, engineProvider.get())); } else