Class: CryptoToolchain::BlackBoxes::CbcBitflipTarget
- Defined in:
- lib/crypto_toolchain/black_boxes/cbc_bitflip_target.rb
Instance Method Summary collapse
- #encrypt(input) ⇒ Object
-
#initialize(key: Random.new.bytes(16), iv: Random.new.bytes(16)) ⇒ CbcBitflipTarget
constructor
A new instance of CbcBitflipTarget.
- #is_admin?(crypted) ⇒ Boolean
Constructor Details
#initialize(key: Random.new.bytes(16), iv: Random.new.bytes(16)) ⇒ CbcBitflipTarget
Returns a new instance of CbcBitflipTarget.
5 6 7 8 |
# File 'lib/crypto_toolchain/black_boxes/cbc_bitflip_target.rb', line 5 def initialize(key: Random.new.bytes(16), iv: Random.new.bytes(16)) @key = key @iv = iv end |
Instance Method Details
#encrypt(input) ⇒ Object
10 11 12 13 |
# File 'lib/crypto_toolchain/black_boxes/cbc_bitflip_target.rb', line 10 def encrypt(input) str = prefix + input.gsub(/;|=/, "") + suffix str.encrypt_cbc(key: key, blocksize: 16, iv: iv) end |
#is_admin?(crypted) ⇒ Boolean
15 16 17 18 |
# File 'lib/crypto_toolchain/black_boxes/cbc_bitflip_target.rb', line 15 def is_admin?(crypted) dec = crypted.decrypt_cbc(key: key, blocksize: 16, iv: iv) dec.include?(";admin=true;") end |