> On Nov 7, 2016, at 4:47 PM, MacQueen, Don <macque...@llnl.gov> wrote:
> 
> I have a file containing encrypted contents. The contents can be decrypted
> using perl, like this:
> 
> open (FILEHANDLE, "/path/to/file")
> chomp ($ciphertext = <FILEHANDLE>);
> 
> 
> use Crypt::CBC;
> $cipher = Crypt::CBC->new( -key    => 'my secret key',
>                           -cipher => 'Blowfish'
>                          );
> 
> $plaintext  = $cipher->decrypt($ciphertext);
> 
> 
> (See http://search.cpan.org/~lds/Crypt-CBC-2.33/CBC.pm)
> 
> M goal is to have the value of $plaintext in an R object, so, is there an
> R equivalent to this decrypt() perl function?
> 
> I've found R packages
>  bcrypt
>  sodium
> that appear to have potential, but I don't understand this business well
> enough to figure out how to use them, if indeed they can be used, for
> this. Help would be much appreciated.
> 
> Thanks
> -Don
> 



Hi Don,

Blowfish is Bruce Schneier's algorithm from the early 90's, which even Bruce 
suggested some time ago not be used. Bruce has some alternative Blowfish 
implementations available via his web site:

  https://www.schneier.com/academic/blowfish/download.html 
<https://www.schneier.com/academic/blowfish/download.html>

and there is a link there for some third party products that still have it and 
might provide for a CLI based interface as an alternative (e.g. GnuPG) if you 
need to use it.

>From what I can tell, 'sodium' does not support Blowfish and the 
>implementation in bcrypt, if I am reading correctly, only provides for a 
>one-way hash implementation, as opposed to encrypt/decrypt functions.

Thus, barring that my searching for alternative R implementations of Blowfish 
resulted in a Type II error, I do not see any R implementations of Blowfish 
that support encrypt/decrypt.

If you want to use the Perl module implementation via R, you can take a look at 
my WriteXLS package on GitHub:

  https://github.com/marcschwartz/WriteXLS 
<https://github.com/marcschwartz/WriteXLS>

and see how I call Perl scripts within WriteXLS.R:

  https://github.com/marcschwartz/WriteXLS/blob/master/R/WriteXLS.R 
<https://github.com/marcschwartz/WriteXLS/blob/master/R/WriteXLS.R>

around line 242.

That might provide one method for you.

That all being said, as per Bruce's recommendation, there are "better" 
encryption/decryption algorithms these days (some in the 'digest' package by 
Dirk), depending upon who you are trying to protect the data from... :-)

Regards,

Marc Schwartz



        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to