Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MATLAB中生成随机数和序列键_Matlab_Random_Key_Generator_Sequence - Fatal编程技术网

在MATLAB中生成随机数和序列键

在MATLAB中生成随机数和序列键,matlab,random,key,generator,sequence,Matlab,Random,Key,Generator,Sequence,那么,就这么定了。我有一个m*n大小的位图图像,我打算对其执行LSB图像隐写术。我不想以循环方式将秘密信息存储在图像像素中(第一个秘密信息存储在第一个像素中,第二个信息存储在第二个像素中,…等等)。我想做的是生成一个表示像素位置的随机序列,这样秘密信息就更难检测了,例如:(第一条秘密信息存储在第543个像素中,第二条信息存储在第27个像素中,第三条信息存储在第221个像素中,…等等)。另外,我希望能够为该序列生成某种特殊的密钥或种子编号,以便在接收端重新生成相同的随机序列,并按顺序获得机密信息(

那么,就这么定了。我有一个m*n大小的位图图像,我打算对其执行LSB图像隐写术。我不想以循环方式将秘密信息存储在图像像素中(第一个秘密信息存储在第一个像素中,第二个信息存储在第二个像素中,…等等)。我想做的是生成一个表示像素位置的随机序列,这样秘密信息就更难检测了,例如:(第一条秘密信息存储在第543个像素中,第二条信息存储在第27个像素中,第三条信息存储在第221个像素中,…等等)。另外,我希望能够为该序列生成某种特殊的密钥或种子编号,以便在接收端重新生成相同的随机序列,并按顺序获得机密信息(获取存储在第543个像素中的第一条秘密信息,获取存储在第27个像素中的第二条信息,获取存储在第221个像素中的第三条信息,…等等)。因此,没有该密钥,秘密信息很难提取。 我这样做是为了一个大学项目,我非常感谢大家的帮助:)。

这里有一个演示:

m = 256; % height of image
n = 256; % width of image
seed_key = 123456; % secret key
img = zeros(m, n, 'uint8'); % sample greyscale image (all black)
rng(seed_key); % seed the random number generator
idxs1 = randperm(m*n); % generate a set of *linear* indices into the image
rng(seed_key); % seed the random number generator again (as a test)
idxs2 = randperm(m*n); % generate another set of *linear* indices (should match first)
all(idxs1 == idxs2) % prove that indices match

酷问题,给我一点时间试试。@Ahmed在我准备好代码后,你刚刚删除了关于洗牌图像的问题。不管怎样,很抱歉在这里跟踪你。我已经玩了一段时间了,哈哈。@Ray yeah,我意识到这不值得回答,因为代码中除了你提到的错误之外,还有很多错误,在我设法纠正了所有错误之后,计算延迟也没那么糟糕。我还编写了另一个函数来反转该操作,并将使用shuffle()生成的随机噪声图像转换回原始形式,现在一切正常。但我会利用你在版本中写的东西,谢谢!你太棒了!我可能很快会再次需要你的帮助,有没有什么方法可以让我问你一个问题?很高兴我能帮上忙。别以为有什么办法可以给我贴上标签——只希望我能看到你的下一个问题,我猜:)。