图像加密超多数据排序索引 verilog

最近在复现图像加密相关文章,里面用到一个排序索引,就是将图像的像素值相应位置的排名sort输出,再根据这个排名替换相应位置。我是想在fpga上实现的,现在的图像很多都是512512大小的,按照我的理解,这样读出来的数据大小是512512*8的大小,我需要将这么多数据进行排序,遇到了一些问题,希望有牛人(da lao)能给点建议或者指出我想法的错误:

读出像素数据的同时还需要产生相应那么多位随机数(X序列)跟他替换,这个产生的X序列大小也是5125128,我如果对这个序列也做排序索引,有三个难点:一是传输数据,这么大的数据传输起来特别慢,我跑过2562568数据大小的传输都需要一个上午,怎么加快速度呢?切块传能减少的速度也有限;二是modelsim仿真最多仿真100000个数据,我如果用512*512大小的图像来做的话根本不够,暂时我也没有在硬件上实现的思路;三是网上的排序算法我都多多少少看过,串行排序特别慢,但是如果换成并行的话资源不够,毕竟需要全部遍历比较一次,generate-for结构循环都超标了,跑死机好多次。

我是非常非常不懂的(xiao bai),想法和理解都十分幼稚,希望能给我点意见或者指出我的问题,非常感谢!!

你把论文和源码发给我看一下

论文名字是叫An image encryption algorithm using a dynamic S-box and chaotic maps,没有源码我按着他思路在fpga上试,我还没写出来