A method provides a collection of data structures and subroutines in a
software toolkit, for developing an application for playing digital
content data. The method comprises steps of receiving previously
encrypted content data encrypted with an encrypted key from an external
source; storing the previously encrypted content data in a library;
selecting one or more encrypted content data from the library to play;
and decrypting each content data selected to be played with its unique
encryption key, wherein the decrypting is performed in a tamper-resistant
subroutine for deterring unauthorized access to the instructions for
decrypting the content data and for deterring unauthorized access to the
encryption key.