fixed bug report sent by @shameister
diff --git a/bn_mp_read_radix.c b/bn_mp_read_radix.c
index 18d301c..1f2629f 100644
--- a/bn_mp_read_radix.c
+++ b/bn_mp_read_radix.c
@@ -48,7 +48,7 @@ int mp_read_radix (mp_int * a, const char *str, int radix)
* this allows numbers like 1AB and 1ab to represent the same value
* [e.g. in hex]
*/
- ch = (char) ((radix < 36) ? toupper ((int)*str) : *str);
+ ch = (char) ((radix <= 36) ? toupper ((int)*str) : *str);
for (y = 0; y < 64; y++) {
if (ch == mp_s_rmap[y]) {
break;