Key-based matrix scrambling

I have a matrix and I need to scramble its elements in a reversible way using a key based function.It could be a key based permutation. The question: Are there any built-in MATLAB functions or libraries that could help me to perform such operation? any suggestions?

 Accepted Answer

Jan
Jan on 31 Oct 2012
Edited: Jan on 31 Oct 2012
data = rand(1, 128);
key = 12654;
stream0 = RandStream('mt19937ar', 'Seed', key);
RandStream.setDefaultStream(stream0);
index = randperm(128);
scrambled = data(index);
unscrambled = zeros(1, numel(data));
unscrambled(index) = scrambled;
isequal(data, unscrambled)
This is not tested yet.

2 Comments

The question’s point : if I send you a key-based scrambled matrix, you will be able to extract the original matrix using the same key (symmetric key). If the codes in lines 3 and 4 will force the ‘randperm’ in line 5 to give me the same ‘index‘ permutation when using the same key, I will reach the point. !?
has been tested, works correctly.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 31 Oct 2012

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!