Hi all,

I've been experimenting with the DTLS support in OpenSSL recently and discovered that my application was receiving garbage plaintext when packets were lost or reordered. Closer inspection suggested a possible cause: I was only enabling cipher suites which either used stream ciphers like RC4 or block ciphers like AES with block chaining. Although OpenSSL automatically disabled RC4, it did not disable AES with CBC, and I'm trying to understand how it's supposed to work.

Although OpenSSL seems to allow CBC-based suites with DTLS, from what I've read a block in a CBC stream can't be properly decoded without the prior block being available (http://en.wikipedia.org/wiki/Cipher_block_chaining#Cipher-block_chaining_.28CBC.29). With that in mind, is it still reasonable to expect that a CBC-based suite would work with DTLS and an unreliable transport?

Thanks.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to