Re: protecting Mathematica notebooks/source code from piracy
- To: mathgroup at smc.vnet.net
- Subject: [mg103495] Re: protecting Mathematica notebooks/source code from piracy
- From: David Reiss <dbreiss at gmail.com>
- Date: Fri, 25 Sep 2009 05:56:51 -0400 (EDT)
- References: <h9eqdt$d51$1@smc.vnet.net>
To really do this in a way that works requires a pretty baroque set of things. I have implemented some of it in creating password protection for http://scientificarts.com/worklife. I also have implemented as a functionality in the package a means for password protecting individual notebooks But the sort answer is that there is no general way to do this both completely and simply in Mathematica. If one simply uses Encode, then the user can still reverse engineer the material if they read the material in with Get simply through executing ?? functionname But this does not work if the given function has the Locked attribute. So a mix of using Locked and Encode can protect source code. Be aware though that a Locked function cannot have its options reset globally through using SetOptions. (I consider this a design bug and folks at WRI are aware of it.) It is also worth mentioning that many or most of the techniques for implementing a password protection scheme in Mathematica by using Mathematica top level code can be circumvented in various ways. So view it as a lock on a door: if someone wants to get in they probably will be able to. Mathematica certainly is in need of a low level implementation for safely and cryptographically strongly enabling the user to password protect both individual notebooks and entire packages/applications. --David On Sep 23, 11:52 pm, stpatryck <stpatr... at gmail.com> wrote: > Hello All, > > I tried searching this group's archives for ways of protecting > Mathematica notebooks and source code from piracy and/or > modification. I didn't find anything, so I'm wondering if there are > ways to do it. > > Any suggestions or advice would be appreciated. > > Thanks in advance.