我想使用 henon 方程加密像素值:
Xi+2 = 1 - a*(Xi+1)*(Xi+1) + bXi (抱歉我不能发图)
其中 a=1.4, b=0.3, x0=0.01, x1=0.02,
使用此代码:
k[i+2] =1-a*(Math.pow(k[i+1], 2))+b*k[i]
我可以从 henon 方程中得到随机值
1.00244, -0.40084033504000005, 1.0757898361270288, -0.7405053806319072, 0.5550494445953806, 0.3465365454865311, 0.99839222507778, -0.2915408854881054, 1.1805231444476698, -1.038551118053691, -0.15586685140049938, 0.6544223990721852,
. 之后我四舍五入随机值
使用此代码:
inter[i]= (int) Math.round((k[i]*65536)%256)
我可以通过 XOR 与随机值(henon)加密像素值。
我的问题 :
henon 有一些负随机值,因为我们知道没有负像素值。
那么我可以跳过负随机值(只保存正随机值)来加密原始像素值吗?
谢谢