RSA 加密算法的问题
采用的是 128 bit 的算法,发现加密中文字有些奇怪的问题
C 和 Java 的版本都出现这个问题
字符串 < 16 bytes 时,加解密没有问题。
字符串 = 16 bytes 时,如果开头的字符是个中文字,就加解密失败,如果开头的不是中文字,则没有任何问题。
去网上看了 RSA 的大概原理,发现如下的一个条件
0 < a < n ,发现可能是因为 中文字 的ASCII 是 0xA? ,比 n (008?...)的数值要大,所以 a mod n 会发生错误,因此 找了个 00FF... 开头的 n ,但是仍然加解密失败。
请教高手,RSA 的 128 bit 加密对于 长度 = 16 bytes 的字符串,中文开头的话,是什么原因导致不能加解密?
算法应该没有问题。