Michael, > I just want to ask if there is any slightly effective > possibility to do this better than: > 0.upto(7){|i| a[i] = (a[i].to_i ^ s[i+ofs].to_i).chr} One trivial improvement: String#[](aFixnum) returns a Fixnum, not a one-character String (String#[]= behaves similarly). So: 0.upto(7) {|i| a[i] ^= s[i+ofs] } I realize this isn't what you were looking for, but every little bit helps. - Warren Brown