an attempt to use gf(16)
an implement of GF(16), keep 3 tables, mix nibble and byte operations.
add assert() to check
update doc for another method