How to solve the problem?
1 次查看(过去 30 天)
显示 更早的评论
I have a dicom image,I of size :
size(I)
ans =
716 1000 3
From this I took first 64 bits,like I(1:16),I(17:32),I(33:48),I(49:64) and did the encryption operation. So before sending it I would like to get back the remaining bits and thus get back the image?
I hope the question is clear.Here I took Ist rows upto 64. This is stored in suppose a variable A.How to get the remaining bits, so that if store the variable in B. So that after decryption of A,I can concatenate with B and get back the final image.
Can somebody help me out to get this?
5 个评论
Walter Roberson
2018-4-14
Those are not the first 64 bits. The first 64 bits are probably I(1:4) or I(1:8)
However AES-GCM of a dicom image needs the first 64 bits of the dicom file itself, not of the image stored in the file.
采纳的回答
Walter Roberson
2018-4-15
A1bits = reshape((dec2bin(typecast(A1, 'uint8'), 8) - '0').', 1, []);
This will be a row vector. Once you have done this up to A4 then you can do
[A1bits, A2bits, A3bits, A4bits]
13 个评论
Walter Roberson
2018-4-15
[YourMatrix(1,65:end), reshape(YourMatrix(2:end,:).', 1, [])]
However, I do not understand why you are taking the first 64 numbers or elements of the first row when you want the first 64 bits. Your array contains double precision precision numbers, so your elements are 64 bits each, so the first 64 of the first row would be 64 elements * 64 bits per element = 4096 bits. You are only producing a 64 bit hash, so you are losing 63*64 = 4032 bit positions in your output.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Encryption / Cryptography 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!