Bug #15309
Updated by sevk (kk kk) over 5 years ago
~~~ ruby #!/usr/bin/env ruby require 'openssl' # AES-128 ECB mode test vectors KEY = ["2b7e151628aed2a6abf7158809cf4f3c"].pack("H*") PLAINTEXT = ["6bc1bee22e409f96e93d7e117393172a"].pack("H*") CIPHERTEXT = ["3ad77bb40d7a3660a89ecaf32466ef97"].pack("H*") cipher = OpenSSL::Cipher::Cipher.new("aes-128-ecb") cipher.key = KEY cipher.padding = 0 # Padding is enabled by default o_O puts "test encrypt : encry: " cipher.encrypt ciphertext = cipher.update(PLAINTEXT) << cipher.final if ciphertext == CIPHERTEXT puts "OK!" else puts "FAILED!" end puts "test decrypt : decry: " cipher.reset cipher.decrypt plaintext = cipher.update(CIPHERTEXT) << cipher.final if plaintext == PLAINTEXT puts "OK!" else puts "FAILED!" end ~~~