On Mon, Oct 03, 2005 at 22:58:28 -0700, Brent 'Dax' Royal-Gordon wrote:
> For the last couple days, I've been implementing a cryptographic
> cipher framework for Perl 6.  (It's in the Pugs repository if you want
> to see it.)  Dealing with this sort of algorithm has brought forward a
> feature that I think Perl 6 and Parrot ought to support.
> 
> Basically, I'd like to be able to mark a variable as "sensitive" or
> "secret".  This implies that the language should overwrite the memory
> it uses before deallocating it, and that if possible it should tell
> the virtual memory system to avoid swapping it out.  Moreover, it
> should probably do so recursively, and to any value that has ever been
> stored in the variable.  (In essence, the *variable* marks all
> *values* it ever contains as sensitive.)

This relates to the ideas I had about generalizing the taint
mechanism.

The idea was basically:

        every interaction between two pieces of data triggers a
        multimethod that is the event handler for that interaction

With the assumption that static typing will make the calls to these
things be compiled only when necessary.

Once you have that then you can implement 'is sensitive' as a
taint-oriented-role, that installs an event handler for the tainting
container and any value, marking a runtime specific flag that means
"sensitive".

That way the implementation of the role is simple.

-- 
 ()  Yuval Kogman <[EMAIL PROTECTED]> 0xEBD27418  perl hacker &
 /\  kung foo master: uhm, no, I think I'll sit this one out..: neeyah!

Attachment: pgpEWf3pUErQG.pgp
Description: PGP signature

Reply via email to