Skip to content

Commit 0161def

Browse files
author
gefeili
committed
Fix the bug in Romulus-M
1 parent 2214d2d commit 0161def

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

core/src/main/java/org/bouncycastle/crypto/engines/RomulusEngine.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ public void processFinalBlock(byte[] output, int outOff)
137137
int adlen = aadOperator.getLen();
138138
int mlen = dataOperator.getLen() - (forEncryption ? 0 : MAC_SIZE);
139139
byte[] m = ((StreamDataOperator)dataOperator).getBytes();
140-
int xlen, mOff = 0, mauth = 0;
140+
int xlen, mOff = 0, mauth = outOff;
141141
xlen = mlen;
142142
if ((adlen & 31) == 0 && adlen != 0)
143143
{

core/src/test/java/org/bouncycastle/crypto/test/RomulusTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,9 @@ public AEADCipher createInstance()
8383
CipherTest.checkAEADParemeter(this, 16, 16, 16, 16, new RomulusEngine(RomulusEngine.RomulusParameters.RomulusM));
8484
CipherTest.checkAEADParemeter(this, 16, 16, 16, 16, new RomulusEngine(RomulusEngine.RomulusParameters.RomulusT));
8585
CipherTest.checkAEADParemeter(this, 16, 16, 16, 16, new RomulusEngine(RomulusEngine.RomulusParameters.RomulusN));
86+
CipherTest.testOverlapping(this, 16, 16, 16, 16, new RomulusEngine(RomulusEngine.RomulusParameters.RomulusM));
87+
CipherTest.testOverlapping(this, 16, 16, 16, 16, new RomulusEngine(RomulusEngine.RomulusParameters.RomulusT));
88+
CipherTest.testOverlapping(this, 16, 16, 16, 16, new RomulusEngine(RomulusEngine.RomulusParameters.RomulusN));
8689
CipherTest.checkAEADCipherMultipleBlocks(this, 1025, 33, 16, 128, 16, new RomulusEngine(RomulusEngine.RomulusParameters.RomulusM));
8790
CipherTest.checkAEADCipherMultipleBlocks(this, 1025, 33, 16, 128, 16, new RomulusEngine(RomulusEngine.RomulusParameters.RomulusT));
8891
CipherTest.checkAEADCipherMultipleBlocks(this, 1025, 33, 16, 128, 16, new RomulusEngine(RomulusEngine.RomulusParameters.RomulusN));

0 commit comments

Comments
 (0)