Skip to main content

Release 2.1.1

· One min read
Matthew Cushing
Software Engineer @ Eclypses

Version 2.1.1

  • Fixed issue with missing enum strings for cipher and hash in Trial mode.
  • Minor comment cleanup.
  • Minor updates to Java language interface to address Android Studio warnings.

Release 2.1.0

· One min read
Joe Jeanjaquet
Senior Director of Applied Technology @ Eclypses

Version 2.1.0

  • Fixed alignment issue in increment DRBG.
  • ESP32 hardware acceleration is now optional in case the hardware is used by other tasks.
  • Changed C# namespace to Eclypses.MTE for the main language interface and Eclypses.MTE.Interop for the internal interop classes.
  • Added C# interfaces to define the classes' interfaces.
  • Added MTE Vault in Swift and Java.

Release 2.0.1

· One min read
Joe Jeanjaquet
Senior Director of Applied Technology @ Eclypses

Version 2.0.1

  • Language interface improvements.
  • Fixed issue with C# constructor exceptions.
  • Fixed C# warnings.
  • Fixed issue with MKE chunk encryption and unaligned buffers.
  • Fixed issues with Go's handling of zero-length buffers.
  • Fixed Go MKE decrypt chunking issue.
  • Changed naming of Go cgo functions.
  • Fixed issue with Python initializer exceptions.
  • Fixed issue with WASM Jailbreak nonce mutator.

Release 2.0.0

· 3 min read
Joe Jeanjaquet
Senior Director of Applied Technology @ Eclypses

Version 2.0.0

  • The ECL library's implementations of AES, SHA, and DRBGs is now used instead of MTE's original implementation.
  • The ECL library's ESP32 implementation uses the ESP32's hardware cryptographic modules instead of software to the extent possible.
  • The MTE algorithm has changed to add additional security. MTE 2.x outputs are not compatible with MTE 1.x outputs.
  • The developer's guides have been updated extensively.
  • The ARM64 functions and classes have been removed. The ARM64 PAA is now automatically enabled when available.
  • The self-test functions have been removed.
  • A new global init function is now required to be called in all cases. The language interfaces other than C take care of this automatically.
  • The status codes have been rearranged to align with ECL. Some new codes were added as well.
  • Save/restore state functions now return status which should be checked like all other status returns. The status may return an error when certain DRBG implementations are used.
  • The language interfaces no longer claim to zeroize the nonce, since that never happened and was never a requirement.
  • The language interfaces now zeroize the entropy in all cases where the language allows it for consistent security and to avoid confusion about when it happens or doesn't. The languages that do not allow it are commented to warn you about it not being zeroized.
  • The core and fixed-length limited input range feature has been removed. All APIs that took the input byte range have changed to remove those options. All possible inputs are now supported in all cases.
  • The MKE interface has been changed to remove the minToEncrypt option and always do encryption.
  • MKE encrypt and decrypt chunk now return a status which must be checked.
  • The MKE encrypt chunk interface changed to use state like decrypt.
  • The Base64 state restore API has been improved to not overwrite the input.
  • The entropy, nonce, and timestamp callbacks are no longer virtual (or equivalent). There are now callback interfaces to allow you to use a plugin to override any or all of the callbacks instead of deriving from an encoder or decoder class. This allows for more reuse and is easier to use.
  • The jailbreak detection classes have been condensed down to use the new nonce plugin.
  • There are now Node.js command line WASM demos in addition to the browser demos.
  • Language interfaces have added default constructors/initializers/factory methods which should be used in most cases. The default constructors take care of build-time options and will default to reasonable runtime options. Only in cases where you have runtime options you need to control fully should you use the constructors/initializers that take all options.
  • Language interfaces are now versioned to match the MTE version and check for a match against the library to ensure compatibility.
  • The C# language interface has been tweaked to support older .NET versions. The developer's guide lists the supported versions.
  • Added additional documentation files describing how to set up MTE-capable projects in Android Studio and Xcode.

Release 1.5.1

· One min read
Joe Jeanjaquet
Senior Director of Applied Technology @ Eclypses

Version 1.5.1

  • Updated Java language interfaces to work around different Java versions' handling of ByteBuffer.position().
  • Fixed C# MKE decoder interface chunking issue with certain combinations of options and inputs.
  • Fixed Java MKE decoder interface chunking issue with certain combinations of options and inputs.
  • Fixed Go issue with non-minimum entropy size.
  • Added guidance about C# interop to the developer's guide.
  • Added DLL fallback to working directory on Windows for Python.
  • Enhanced C# interop to look in the working directory if the dynamic library cannot be found.

Release 1.5.0

· One min read
Joe Jeanjaquet
Senior Director of Applied Technology @ Eclypses

Version 1.5.0

  • Fixed Python non-Base64 encoder return type issue.
  • Fixed Python max nonce size accessor.
  • Fixed Python MteJail function signatures.
  • Added iOS ARM64 extension check helper code to Objective-C and Swift. Updated dev guide to provide good iOS ARM64 fast crypto guidance.
  • Fixed Go demo ReadMe files since Go does not use dynamic MTE libraries.
  • Fixed Go linker issues on Linux.
  • Fixed Go handling of zero-length entropy.
  • Fixed issue with NODF DRBGs not instantiating correctly when using an external entropy buffer.
  • Fixed C#, Go, Java, and Python demo ReadMe files to include all enumerations.
  • Added overloads to C++, C#, Java, Objective-C, and Swift language interfaces for better efficiency if external buffers are used.
  • Refactored C# language interface to support dynamic interop mapping. Almost all static functions are now members to support the interop object.
  • Fixed MKE chunk-mode decrypt buffer management in all language interfaces.
  • Updated jailbreak detection for iOS.
  • Updated jailbreak detection for Android.
  • Minor changes to Java and Swift jailbreak language interfaces.

Release 1.4.5

· One min read
Joe Jeanjaquet
Director of Applied Technology @ Eclypses

Version 1.4.5

  • Fixed core and MKE decoder reseed counter functions in runtime options builds.
  • Fixed ARM64 AES decrypt PAA selectors.
  • Fixed WASM/JS MKE encrypt/decrypt chunking returning wrong finalization.
  • Added Android ARM64 PAA-enabling example in developer's guide.
  • WASM TS/JS now removes unused add-ons to reduce size and avoid confusion.
  • Rearranged WASM/JS demos to clarify WASM instantiation requirements and add better error checking.
  • Updated all demo ReadMe.txt files to clarify what is required to assemble the demo to be usable.
  • Miscellaneous developer guide updates.

Release 1.4.4

· One min read
Joe Jeanjaquet
Director of Applied Technology @ Eclypses

Version 1.4.4

  • Fixed Android ARM64 JNI library to properly export MteArm64 class functions.
  • Fixed Java MteArm64 class to allow use before other calls.
  • Updated license.
  • Fixed NPM package.json files to specify the main and types files as appropriate.
  • Fixed potential issue with AES-256 using x86_64 AES-NI PAA.

Release 1.4.3

· One min read
Joe Jeanjaquet
Director of Applied Technology @ Eclypses

Version 1.4.3

  • Added .NET Standard 2.1 as another target framework for Nuget packages.
  • Changed Windows DLL define from MTEC_BUILD_SHARED to MTE_BUILD_SHARED.
  • Fixed NPM package naming.
  • Fixed Swift integer nonce setting for DRBGs with small nonces.
  • Added developer guides.
  • Added template Swift bridging header.

Release 1.4.2

· One min read
Trevor Blackman
Senior Web Engineer @ Eclypses
MTE 1.4.2
  • Fixed a bug in the JS/WASM package.
  • Update License