Thanks, Marc,

Unfortunately, I didn't choose the encryption method. My (only) need is to be 
able to decrypt an existing file that is maintained by others. I am able to use 
system() on a simple perl script to do the job, but I'm hoping for an R-only 
solution, primarily for portability.

-Don

--
Don MacQueen
Lawrence Livermore National Laboratory
7000 East Ave., L-627
Livermore, CA 94550
925-423-1062


From: Marc Schwartz <marc_schwa...@me.com<mailto:marc_schwa...@me.com>>
Date: Monday, November 7, 2016 at 3:30 PM
To: dh m <macque...@llnl.gov<mailto:macque...@llnl.gov>>
Cc: R-help <R-help@r-project.org<mailto:R-help@r-project.org>>
Subject: Re: [R] Help with decrypting


On Nov 7, 2016, at 4:47 PM, MacQueen, Don 
<macque...@llnl.gov<mailto: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

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

and see how I call Perl scripts within 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