Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
Rinjdael (AES) encryption in Ruby
fightinjoe
12/5/2006 3:14:00 PM
I've got a quick general question about encryption.
I've encrypted the same string with OpenSSL, ruby-aes, and Crypt, using
the same cipher, key, and IV (I've slightly modified Crypt to accept an
IV) and get different results for all of them.
If all of the variables are the same, why would this be happening?
---- Begin Code Snippit (
http://pastie.cabo...
)
require 'crypt/rijndael'
require 'base64'
require 'ruby-aes/aes'
require 'openssl'
# Modify Crypt::Rijndael lib to accept an IV
module Crypt
class Rijndael
def vector() @vector; end
alias orig_initialize initialize
def initialize(key, vector, keyBits = 256, blockBits = 128)
@vector = vector
orig_initialize(key, keyBits, blockBits)
end
alias orig_generate_initialization_vector
generate_initialization_vector
def generate_initialization_vector( *p )
@vector || orig_generate_initialization_vector( *p )
end
def iv_length() block_size; end
end
end
def test_crypt_encryption
key = '0123456789abcdef0123456789abcdef'
rijndael = Crypt::Rijndael.new( key, 128, 128 )
raise Base64.encode64( rijndael.encrypt_string( 'abcdef' ) )
# returns 'F2wpWlldcZPQlfHOBWZatk8Zq9XNHMRJiB0vC04rZEE='
end
def test_openssl_encryption
key = '0123456789abcdef0123456789abcdef'
alg = "AES-256-CBC"
iv = 'abcdefghijklmnop'
aes = OpenSSL::Cipher::Cipher.new(alg)
aes.encrypt
aes.key = key
aes.iv = iv
out = aes.update('abcdef')
out << aes.final
raise Base64.encode64(out)
# returns 'jQeE5X55BSwJQav1VV+w1g=='
end
def test_aes_encryption
key = '0123456789abcdef0123456789abcdef'
iv = 'abcdefghijklmnop'
raise Base64.encode64( Aes.encrypt_buffer(128, 'CBC', key, iv,
'abcdef') )
# returns 'fa3taon6wtaPGQ4KgmLrCQ=='
end
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
Rinjdael (AES) encryption in Ruby
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password