Node:Cascade Example, Previous:Cascade, Up:Cascades



Example

The following example demonstrates how a DES-EDE block cipher can be constructed as a Cascade of three DES Stages.

 HashMap map = new HashMap();
 HashMap map1 = new HashMap();
 HashMap map2 = new HashMap();
 HashMap map3 = new HashMap();
 
 Cascade new3DES = new Cascade();
 Object des1 = new3DES.append(
 Stage.getInstance(
 ModeFactory.getInstance(Registry.ECB_MODE, new DES(), 8),
 Direction.FORWARD));
 Object des2 = new3DES.append(
 Stage.getInstance(
 ModeFactory.getInstance(Registry.ECB_MODE, new DES(), 8),
 Direction.REVERSED));
 Object des3 = new3DES.append(
 Stage.getInstance(
 ModeFactory.getInstance(Registry.ECB_MODE, new DES(), 8),
 Direction.FORWARD));
 
 map.put(des1, map1);
 map.put(des2, map2);
 map.put(des3, map3);
 
 map1.put(IBlockCipher.KEY_MATERIAL, key1material);
 map2.put(IBlockCipher.KEY_MATERIAL, key2material);
 map3.put(IBlockCipher.KEY_MATERIAL, key3material);
 
 // encryption
 map.put(Cascade.DIRECTION, Direction.FORWARD);
 byte[] pt = ...; // some plaintext to encrypt
 byte[] ct = new byte[pt.length]; // where ciphertext is returned
 
 try
 {
 new3DES.init(map);
 new3DES.update(pt, 0, ct, 0);
 }
 catch (InvalidKeyException x)
 {
 x.printStackTrace(System.err);
 }
 

AltStyle によって変換されたページ (->オリジナル) /