## replace modifyKeys with below code sub modifyKeys { my $self = shift; my $S_KEY = ""; my ($i, $x); for my $x (0..length($self->{R_KEY})-1) { $i = ord(substr($self->{R_KEY}, $x, 1)) - 32; $S_KEY .= chr(($i ^ $self->{RSORT}[$i] ^ $self->{ATT}) + 32) } return $S_KEY; } ## fix up the following line in sub cipher() ## my $i = (length ($self->{xString}) % $keylen); # DATA DEPENDENT SHIFT