You probably meant to post this to the Rails group (this is the Rails
*spinoffs* group, mostly dedicated to Prototype).
--
T.J. Crowder
tj / crowder software / com

On Jun 6, 2:24 pm, FrikShun <[EMAIL PROTECTED]> wrote:
> Hello all,
>
> Hoping someone can help me out here.  I've burned almost a week trying
> to figure out how to decrypt
> an image file that has been encrypted using Blowfish CBC.
>
> I found some code on the net and have modified as follows:
>
>     require 'openssl'
>     require 'digest/sha1'
>     ivArr = [0x0D,
>         0x0E,
>         0x0A,
>         0x0D,
>         0x0F,
>         0x0A,
>         0x0C,
>         0x0E
>     ]
>     iv = ivArr.pack("cccccccc")
>     bf = OpenSSL::Cipher::Cipher.new("BF-CBC")
>     key = Digest::SHA1.hexdigest("fOyBtMaN4u2T")
>     bf.decrypt
>     bf.key = key
>     bf.iv = iv
>     File.open("C:\\mapcrypt\\MAP.TIFF",'wb') do |enc|
>       File.open("C:\\mapcrypt\\EncryptedMAP.TIFF","rb") do |f|
>         size = File.size("C:\\mapcrypt\\EncryptedMAP.TIFF")
>         blocks = size / 8
>
>         for i in 1..blocks
>           r = f.read(8)
>           cipher = bf.update(r)
>           enc << cipher
>         end
>
>         if size%8 >0
>           r = f.read((size%8))
>           cipher = bf.update(r)
>           enc << cipher
>         end
>       end
>       enc << bf.final
>     end
>
> However, this returns the error:
>   OpenSSL::CipherError: wrong final block length
>         from (irb):89:in `final'
>         from (irb):89
>         from (irb):72:in `open'
>         from (irb):72
>
> I've also tried using the Blowfish library:
>     require 'crypt/blowfish'
>     blowfish = Crypt::Blowfish.new("fOyBtMaN4u2T")
>     blowfish.decrypt_file('C:\\mapcrypt\\11225035.00X', 'MAP.TIFF')
> But this returns the error:
>   NoMethodError: undefined method `%' for true:TrueClass
>         from c:/ruby/lib/ruby/gems/1.8/gems/crypt-1.1.4/./crypt/
> blowfish.rb:84:in `decrypt_pair'
>         from c:/ruby/lib/ruby/gems/1.8/gems/crypt-1.1.4/./crypt/
> blowfish.rb:82:in `downto'
>         from c:/ruby/lib/ruby/gems/1.8/gems/crypt-1.1.4/./crypt/
> blowfish.rb:82:in `decrypt_pair'
>         from c:/ruby/lib/ruby/gems/1.8/gems/crypt-1.1.4/./crypt/
> blowfish.rb:104:in `decrypt_block'
>         from c:/ruby/lib/ruby/gems/1.8/gems/crypt-1.1.4/./crypt/cbc.rb:
> 62:in `decrypt_stream'
>         from c:/ruby/lib/ruby/gems/1.8/gems/crypt-1.1.4/./crypt/cbc.rb:
> 99:in `decrypt_file'
>         from (irb):93
>
> I'm using ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
>
> Thanks in advance for your help,
>
> Allen
> [EMAIL PROTECTED]
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Spinoffs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to