diff options
author | Benedict Wong <benedictwong@google.com> | 2019-07-01 17:10:12 -0700 |
---|---|---|
committer | Benedict Wong <benedictwong@google.com> | 2019-07-01 17:10:12 -0700 |
commit | 7d795a6f6a0865a7fcd17deafab881d1a220676f (patch) | |
tree | e575fa47deea21e5349206091d596bad23d6cafb /repackaged/bcprov/src/main/java/com/android/org/bouncycastle/crypto/digests/GeneralDigest.java | |
parent | ea2e58bec896a084e8a4d5717df11753c1c6e4ef (diff) | |
download | bouncycastle-7d795a6f6a0865a7fcd17deafab881d1a220676f.tar.gz |
Expose some SHA1Digest methods for FIPS 186-2 PRF
The FIPS 186-2 PRF required by EAP-SIM and EAP-AKA (used in telephony)
require a hashing function extremely similar to SHA1, with the exception
of the padding bytes added. This commit exposes the BouncyCastle
SHA1Digest implementation as core-platform-api to allow platform
internals to implement FIPS 186-2 PRF without re-implementing SHA1.
Bug: 136175302
Test: Build succeeds, IKE using this, tests passing.
Change-Id: I2d61e2c331f3f80c8a1ebcb85209f9a49968ade5
Diffstat (limited to 'repackaged/bcprov/src/main/java/com/android/org/bouncycastle/crypto/digests/GeneralDigest.java')
-rw-r--r-- | repackaged/bcprov/src/main/java/com/android/org/bouncycastle/crypto/digests/GeneralDigest.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/repackaged/bcprov/src/main/java/com/android/org/bouncycastle/crypto/digests/GeneralDigest.java b/repackaged/bcprov/src/main/java/com/android/org/bouncycastle/crypto/digests/GeneralDigest.java index c075dce5..80714665 100644 --- a/repackaged/bcprov/src/main/java/com/android/org/bouncycastle/crypto/digests/GeneralDigest.java +++ b/repackaged/bcprov/src/main/java/com/android/org/bouncycastle/crypto/digests/GeneralDigest.java @@ -10,6 +10,7 @@ import com.android.org.bouncycastle.util.Pack; * "Handbook of Applied Cryptography", pages 344 - 347. * @hide This class is not part of the Android public SDK API */ +@libcore.api.CorePlatformApi public abstract class GeneralDigest implements ExtendedDigest, Memoable { @@ -67,6 +68,7 @@ public abstract class GeneralDigest byteCount++; } + @libcore.api.CorePlatformApi public void update( byte[] in, int inOff, @@ -112,6 +114,7 @@ public abstract class GeneralDigest byteCount += len; } + @libcore.api.CorePlatformApi public void finish() { long bitLength = (byteCount << 3); @@ -153,10 +156,11 @@ public abstract class GeneralDigest { return BYTE_LENGTH; } - + protected abstract void processWord(byte[] in, int inOff); protected abstract void processLength(long bitLength); + @libcore.api.CorePlatformApi protected abstract void processBlock(); } |