# File lib/rc4.rb, line 3
  def initialize(str)
    begin
      raise SyntaxError, "RC4: Key supplied is blank"  if str.eql?('')

      @q1, @q2 = 0, 0
      @key = []
      str.each_byte {|elem| @key << elem} while @key.size < 256
      @key.slice!(256..@key.size-1) if @key.size >= 256
      @s = (0..255).to_a
      j = 0 
      0.upto(255) do |i| 
        j = (j + @s[i] + @key[i] )%256
        @s[i], @s[j] = @s[j], @s[i]
      end    
    end
  end