Optical discs are prone to damage, and for this reason, they usually store data encoded with an error correcting code.

While day-to-day use for optical storage media has diminished in recent years, they continue to be used for distribution of movies and TV shows, given they have special value to collectors. In such applications disc content is usually encrypted to protect copyright, which begs the question, what are the requirements for their decryption to be successful?

Now let me formulate a scheme, with layers consisting of error-correcting codes and ciphers.

Before data is burned onto a disc, it goes through 3 layers:

  1. Inner-layer error correcting code,

  2. Encryption,

  3. Outer-layer error correcting code.

The tricky part is encryption. It seems that only a stream cipher can be used, otherwise the inner-layer error correcting code will be meaningless when the decryption fails. As such, deterministic authenticated encryption and key-wrapping ciphers cannot be used here. So a stream cipher must be used, and nonce must receive extra protection against potential errors in the outer-layer error correcting code.

My question is: if there's an inner-layer error correcting code, will it be able to work without an encryption algorithm based on a stream cipher? How do DRM-protected discs usually protect its contents from theft and physical damages?

  • 6
    $\begingroup$ I don't see a reason why you would want an inner ECC. $\endgroup$
    – ambiso
    Nov 28, 2020 at 7:47

1 Answer 1


if there's an inner-layer error correcting code, will it be able to work without an encryption algorithm based on a stream cipher?

Depends on how the inner error correcting code works; what you want is an encryption method that does not radically increase the 'size' of any ciphertext errors (where 'size' is what's relevant to the error correcting code), given the likely ciphertext errors (and I believe that on Optical disks, burst errors are far more common than random unrelated bit flips). If it is (for example) a Reed Solomon code, that means that it would not increase the number of incorrect (modified) symbols; there are alternatives (other than stream ciphers) with this property.

However, that does beg the question: "what do you hope to gain with this structure?" Wouldn't this structure at least as good:

  1. Encryption

  2. "Inner" error correcting code

  3. "Outer" error correcting code

(or combine "inner" and "outer" if that makes more sense). That would (to me) appear to be at least as good with dealing with errors (and you don't have to select your encryption method with the error correcting code in mind)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.