From: hsbt@... Date: 2019-03-20T05:19:15+00:00 Subject: [ruby-core:91892] [Ruby trunk Bug#15309] ECB is broken Issue #15309 has been updated by hsbt (Hiroshi SHIBATA). Assignee set to rhenium (Kazuki Yamaguchi) Status changed from Open to Assigned ---------------------------------------- Bug #15309: ECB is broken https://bugs.ruby-lang.org/issues/15309#change-77216 * Author: sevk (kk kk) * Status: Assigned * Priority: Normal * Assignee: rhenium (Kazuki Yamaguchi) * Target version: * ruby -v: ruby 2.0 2.2 2.3 2.4 2.5 2.6 * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN ---------------------------------------- ~~~ 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 : " cipher.encrypt ciphertext = cipher.update(PLAINTEXT) << cipher.final if ciphertext == CIPHERTEXT puts "OK!" else puts "FAILED!" end puts "test decrypt : " cipher.reset cipher.decrypt plaintext = cipher.update(CIPHERTEXT) << cipher.final if plaintext == PLAINTEXT puts "OK!" else puts "FAILED!" end ~~~ -- https://bugs.ruby-lang.org/ Unsubscribe: