def _g(self, word, key_expand_round):
        """
        One-byte left circular rotation, substitution of each byte
        """
        import numbers
        self._build_memories_if_not_exists()
        a = libutils.partition_wire(word, 8)
        sub = [self.sbox[a[index]] for index in (3, 0, 1, 2)]
        if isinstance(key_expand_round, numbers.Number):
            rcon_data = self._rcon_data[key_expand_round + 1]  # int value
        else:
            rcon_data = self.rcon[key_expand_round + 1]
        sub[3] = sub[3] ^ rcon_data
        return pyrtl.concat_list(sub)
def _g ( self , word , key_expand_round ) : import numbers self . _build_memories_if_not_exists ( ) a = libutils . partition_wire ( word , 8 ) sub = [ self . sbox [ a [ index ] ] for index in ( 3 , 0 , 1 , 2 ) ] if isinstance ( key_expand_round , numbers . Number ) : rcon_data = self . _rcon_data [ key_expand_round + 1 ] else : rcon_data = self . rcon [ key_expand_round + 1 ] sub [ 3 ] = sub [ 3 ] ^ rcon_data return pyrtl . concat_list ( sub )
One-byte left circular rotation, substitution of each byte