Encrypting/Decrypting files wirh ruby

I have been searching the internet to find a way to encrypt files and
then decrypt the back… What I found is how to encrypt a string of text
and then decrypt it back.

For exampe you have a
plaintext = “some text”

you encrypt it into a ciphertext and then how to decrypt it back.

What I want to do is to encrypt a whole file, files like .doc, .docx,
.xls, .pps and so on. Basically any file either this is a document, a
photo or whatever.

Any help on how to achieve this. I found a library ‘ChilKat’ but you
need to purchase a license to do this.

Any help is much appreciated!

Regards,
Demetris Constantinou

There are many examples of using OpenSSL to encrypt and decrypt files in
Ruby, which can be found via Google.

But why not just use OpenSSL straight from the command line?

Demetris Constantinou wrote:

I have been searching the internet to find a way to encrypt files and
then decrypt the back… What I found is how to encrypt a string of text
and then decrypt it back.

For exampe you have a
plaintext = “some text”

you encrypt it into a ciphertext and then how to decrypt it back.

What I want to do is to encrypt a whole file, files like .doc, .docx,
.xls, .pps and so on. Basically any file either this is a document, a
photo or whatever.

Any help on how to achieve this. I found a library ‘ChilKat’ but you
need to purchase a license to do this.

Any help is much appreciated!

Regards,
Demetris Constantinou

Baduk thanx for your reply.

I want to use it in a Rails application to encrypt the files and then
store them!

Baduk Baduk wrote:

There are many examples of using OpenSSL to encrypt and decrypt files in
Ruby, which can be found via Google.

But why not just use OpenSSL straight from the command line?

Demetris Constantinou wrote:

I have been searching the internet to find a way to encrypt files and
then decrypt the back… What I found is how to encrypt a string of text
and then decrypt it back.

For exampe you have a
plaintext = “some text”

you encrypt it into a ciphertext and then how to decrypt it back.

What I want to do is to encrypt a whole file, files like .doc, .docx,
.xls, .pps and so on. Basically any file either this is a document, a
photo or whatever.

Any help on how to achieve this. I found a library ‘ChilKat’ but you
need to purchase a license to do this.

Any help is much appreciated!

Regards,
Demetris Constantinou

ruby’s openssl library works fine, but it’s quite low level, which means
that if you don’t understand much about cryptography it’s easy to write
an insecure application.

So if you’re not an expert I’d suggest using gpg instead. Google “ruby
gpg” and “ruby gpgme” and you’ll find plenty of examples.

I’d say the main weakness of your application is likely to be the key
storage. That is, if you keep your encryption keys in a file or in a
database, then anyone who breaks into your box will be able to decrypt
these encrypted files anyway, in which case the encryption is fairly
pointless.

You could make your app prompt for the key when it starts up and keep it
only in RAM. This can make it harder for an attacker to extract the key,
but it can be awkward to deploy in a Rails app if you are dynamically
starting worker processes.

Regards,

Brian.