## 1 Crypto Release Notes

This document describes the changes made to the Crypto application.

### 1.1 Crypto 1.5.3

#### 1.1.1 Improvements and New Features

- Added new functions: dss_verify/3, rsa_verify/3, rsa_verify/4, dss_sign/2, rsa_sign/2, rsa_sign/3, rsa_public_encrypt, rsa_private_decrypt/3, rsa_private_encrypt/3, rsa_public_decrypt/3, dh_generate_key/1, dh_generate_key/2, dh_compute_key/3.
  Own Id: OTP-7545

### 1.2 Crypto 1.5.2.1

#### 1.2.1 Improvements and New Features

- Minor performance optimization.
  Own Id: OTP-7521

### 1.3 Crypto 1.5.2

#### 1.3.1 Fixed Bugs and Malfunctions

- ./configure has been improved to find 64-bit OpenSSL libraries.
  Own Id: OTP-7270

#### 1.3.2 Improvements and New Features

- crypto and zlib drivers improved to allow concurent smp access.
  Own Id: OTP-7262

### 1.4 Crypto 1.5.1.1

#### 1.4.1 Improvements and New Features

- The linked in driver for the crypto application is now linked statically against the OpenSSL libraries, to avoid installation and runtime problems in connection to the OpenSSL library locations.
  Own Id: OTP-6680
- Minor Makefile changes.
  Own Id: OTP-6689

### 1.5 Crypto 1.5

#### 1.5.1 Improvements and New Features

- It is now explicitly checked at start-up that the crypto driver is properly loaded (Thanks to Claes Wikstrom).
  Own Id: OTP-6109

### 1.6 Crypto 1.4

#### 1.6.1 Improvements and New Features

- The previously undocumented and UNSUPPORTED ssh application has been updated and documented. This release of the ssh application is still considered to be a beta release and (if necessary) there could still be changes in its API before it reaches 1.0.
  Also, more cryptographic algorithms have been added to the crypto application.
  *** POTENTIAL INCOMPATIBILITY ***
  Own Id: OTP-5631

### 1.7 Crypto 1.3

#### 1.7.1 Improvements and New Features

- Added support for RFC 3826 - The Advanced Encryption Standard (AES) Cipher Algorithm in the SNMP User-based Security Model.
  Martin Björklund

### 1.8 Crypto 1.2.3

#### 1.8.1 Fixed Bugs and Malfunctions

- Linked in drivers in the crypto, and asn1 applications are now compiled with the -D_THREAD_SAFE and -D_REENTRANT switches on unix when the emulator has thread support enabled.
  Linked in drivers on MacOSX are not compiled with the undocumented -lbundle1.o switch anymore. Thanks to Sean Hinde who sent us a patch.
  Linked in driver in crypto, and port programs in ssl, now compiles on OSF1.
  Minor makefile improvements in runtime_tools.
  Own Id: OTP-5346

### 1.9 Crypto 1.2.2

#### 1.9.1 Improvements and New Features

- Corrected error handling. If the port to the driver that crypto uses is unexpectedly closed (which should not happen during normal operation of crypto), crypto will terminate immediately (rather than crashing the next time crypto is used). Also corrected build problems on Mac OS X.
  Own Id: OTP-5279

### 1.10 Crypto 1.2.1

#### 1.10.1 Fixed Bugs and Malfunctions

- It was not possible in R9 to relink the crypto driver. The object file was missing as well as an example makefile. The crypto driver object file is now released with the application (installed in priv/obj). An example makefile has also been added to the priv/obj directory. The makefile serves as an example of how to relink the driver on Unix (crypto_drv.so) or Windows (crypto_drv.dll).
  Own Id: OTP-4828 Aux Id: seq8193

### 1.11 Crypto 1.2

#### 1.11.1 Improvements and New Features

- Previous versions of Crypto where delivered with statically linked binaries based on SSLeay. That is not longer the case. The current version of Crypto requires dynamically linked OpenSSL libraries that the user has to install. The library needed is libcrypto.so (Unix) or libeay32.[lib|dll] (Win32). For further details see the crypto(6) application manual page.
- This version of Crypto uses the new DES interface of OpenSSL 0.9.7, which is not backward compatible with earlier versions of OpenSSL.
- The functions des_ede3_cbc_encrypt/5 and des_ede3_cbc_decrypt/5 have been renamed to des3_cbc_encrypt/5 and des3_cbc_decrypt/5, respectively. The old functions have been retained (they are deprecated and not listed in the crypto(3) manual page).

#### 1.11.2 Reported Fixed Bugs and Malfunctions

- The start of crypto failed on Windows, due to erroneous addition of a DES3 algorithm.
  Own Id: OTP-4684
  Aux Id: seq7864

### 1.12 Crypto 1.1.3

#### 1.12.1 Reported Fixed Bugs and Malfunctions

- To obtain backward compatibility with the old SSLeay package, and with earlier versions of OpenSSL, the macro OPENSSL_DES_LIBDES_COMPATIBILITY has been added to crypto_drv.c. This is of importance only for the open source version of Crypto.

### 1.13 Crypto 1.1.2

#### 1.13.1 Reported Fixed Bugs and Malfunctions

- In the manual page crypto(3) the function names md5_finish and sha_finish have been changed to md5_final and sha_final to correctly document the implementation.
  Own Id: OTP-3409

### 1.14 Crypto 1.1.1

Code replacement in runtime is supported. Upgrade can be done from from version 1.1 and downgrade to version 1.1.

#### 1.14.1 Improvements and New Features

- The driver part of the Crypto application has been updated to use the erl_driver header file. Version 1.1.1 requires emulator version 4.9.1 or later.

### 1.15 Crypto 1.1

#### 1.15.1 Reported Fixed Bugs and Malfunctions

- On Windows the crypto_drv was incorrectly linked to static run-time libraries instead of dynamic ones.
  Own Id: OTP-3240

### 1.16 Crypto 1.0

New application.

crypto 1.5.3
Copyright © 1991-2008 Ericsson AB