I'm sorry for my late. Thank Ryan.
I'm sorry but auth_tag doesn't exist for ruby 1.8.7. For be clear a
exemple this : http://pastebin.com/nFgfyXem who is an encrypted file
encode to base64.
didier@laptop-E520:/tmp$ pbget "http://pastebin.com/p08QTXru" | base64
-d > file_enc
didier@laptop-E520:/tmp$ md5sum file_enc
30b8f5e7d700c108cd9815c00ca1de2d file_enc
pbget is this pbget.sh - Pastebin.com a bash program for pastebin.
decrypte the file :
didier@laptop-E520:/tmp/ruby_forum$ openssl aes-128-cbc -d -in file_enc
-out pic_bash.jpg -nosalt -iv 00000000000000000000000000000001 -K
7ffb8032dff33aef9aa92e9ac96239d3
ruby code :
require 'openssl'
c = OpenSSL::Cipher::Cipher.new("aes-128-cbc")
c.decrypt
c.key = "\177\373\2002\337\363:\357\232\251.\232\311b9\323"
c.iv = "00000000000000000000000000000001"
data = File.read("/tmp/file_enc")
d = c.update(data)
d << c.final
file = File.open("/tmp/file_decrypt_ruby", "w")
file.write(d)
file.close
didier@laptop-E520:/tmp/ruby_forum$ hd pic_bash.jpg | head
00000000 ff d8 ff e1 22 d2 45 78 69 66 00 00 4d 4d 00 2a
....".Exif..MM.*|
00000010 00 00 00 08 00 0c 01 1a 00 05 00 00 00 01 00 00
................|
00000020 01 46 01 1b 00 05 00 00 00 01 00 00 01 4e 01 28
.F...........N.(|
00000030 00 03 00 00 00 01 00 02 00 00 02 13 00 03 00 00
................|
00000040 00 01 00 01 00 00 87 69 00 04 00 00 00 01 00 00
.......i........|
00000050 00 9e 01 3b 00 02 00 00 00 0d 00 00 01 56 01 0e
...;.........V..|
00000060 00 02 00 00 00 13 00 00 01 64 01 32 00 02 00 00
.........d.2....|
00000070 00 14 00 00 01 78 01 0f 00 02 00 00 00 06 00 00
.....x..........|
00000080 01 8c 01 10 00 02 00 00 00 08 00 00 01 92 01 31
...............1|
00000090 00 02 00 00 00 08 00 00 01 9a 01 12 00 03 00 00
................|
didier@laptop-E520:/tmp/ruby_forum$ hd file_decrypt_ruby | head
00000000 cf e8 cf d1 12 e2 75 48 59 56 30 30 7d 7d 30 1b
......uHYV00}}0.|
00000010 00 00 00 08 00 0c 01 1a 00 05 00 00 00 01 00 00
................|
00000020 01 46 01 1b 00 05 00 00 00 01 00 00 01 4e 01 28
.F...........N.(|
00000030 00 03 00 00 00 01 00 02 00 00 02 13 00 03 00 00
................|
00000040 00 01 00 01 00 00 87 69 00 04 00 00 00 01 00 00
.......i........|
00000050 00 9e 01 3b 00 02 00 00 00 0d 00 00 01 56 01 0e
...;.........V..|
00000060 00 02 00 00 00 13 00 00 01 64 01 32 00 02 00 00
.........d.2....|
00000070 00 14 00 00 01 78 01 0f 00 02 00 00 00 06 00 00
.....x..........|
00000080 01 8c 01 10 00 02 00 00 00 08 00 00 01 92 01 31
...............1|
00000090 00 02 00 00 00 08 00 00 01 9a 01 12 00 03 00 00
................|
This is independent of key. Thank you.
···
--
Posted via http://www.ruby-forum.com/\.