we choose one random number r for all voxels of a
volume, requiring one e
1
= g
r
(first cipher compo-
nent) for all voxels.
Figure 5 illustrates how 3DCrypt provides per-
ceptual security in the cloud. An image available to
the Public Cloud Server is all black since the Public
Cloud Server does not know the color and opacity of
the pixels. The image available to the Private Cloud
Server, however, contains opacity information, which
can disclose shape of the image as voxel positions are
disclosed to the Private Cloud Server.
Performance Analysis. In 3DCrypt, processing by
the Volume Outsourcer and the encryption by the Pub-
lic Cloud Server are one-time operations, which could
be performed offline. The overheads of these opera-
tions, however, are directly proportional to the vol-
ume size. The overhead for a volume is equal to the
product of a voxel’s overhead with the total number
of voxels in the volume (i.e., the dimension of the
volume). In our implementation, we need approxi-
mately 4064 bits more space to store the encrypted
color and the opacity of a voxel (as two encryptions of
1024 bits key size are required for encrypting 32 bits
RGBA values). Thus, we require approximately 8.6
GB of space to store a 256 × 256 × 256 volume in en-
crypted domain (size of this volume in plaintext is ap-
proximately 67 MB). Similarly, for encrypting color
and opacity of a voxel, the Volume Outsourcer re-
quires approximately 540 millisecond (ms). The Pub-
lic Cloud Server requires approximately 294 ms more
computation with respect to the conventional plain-
text domain pre-classification volume ray-casting im-
plemented on the same machine. Thus, the Volume
Outsourcer and the Public Cloud Server require ap-
proximately 2.52 hours and 1.37 hours, respectively,
for encrypting the 256 × 256 × 256 volume.
The rendering by the cloud servers and the decryp-
tion by the Image User are performed at runtime, ac-
cording to the ray projected by the Image User. The
overhead of performing these operations affects visu-
alization latency, which is discussed below.
In 3DCrypt, the overhead of transferring and per-
forming the last round rendering operations in the Pri-
vate Cloud Server is equal to the product of total num-
ber of sample points with the overhead of a sample
point. Total number of sample points is equal to the
sum of the sample points along all the projected rays
and the number of sample points along a ray is im-
plementation dependent. For rendering and decrypt-
ing (the first round) the color and opacity of a sample
point, the Public Cloud Server requires approximately
290 ms of extra computation. For rendering and de-
crypting (the second round) opacity of a sample point,
the Private Cloud Server requires approximately 265
ms of extra computation (with respect to the conven-
tional plaintext domain pre-classification volume ray-
casting).
In our implementation, for rendering and decrypt-
ing the 256 × 256 × 256 volume data for a 256 × 256
image project space, the Public Cloud Server and the
Private Cloud Server require approximately 16.5 ex-
tra minutes and 15.2 extra minutes, respectively. Note
that for this data and image space, the data overhead
at the Private Cloud Server is approximately 1.75 GB.
The overhead of transferring and decrypting the
color-encrypted rendered image to the Image User is
equal to the product of the number of pixels in the
image space (which is equal to the number of pro-
jected rays) with the overhead for a single pixel. In
3DCrypt, the Private Cloud Server must send approx-
imately 2024 bits more data per pixel to the Image
User. Therefore, for rendering a 256 × 256 image,
the Image User must download 66.3 MB of more data
than the conventional plaintext domain rendering. In
addition, the Image User needs approximately 408 ms
of computation to decrypt and recover rendered color
of a pixel. Therefore, before viewing the 256 × 256
image, the Image User must work approximately 27
extra seconds.
Note that these results have been collected using
a non-optimized version of our code. Our current im-
plementation is based on MIRACL, which is also not
optimized. Finally, to improve the performance of
3DCrypt, we are currently working on a new parallel
version to take advantage of a more realistic top-of-
the-line hardware configuration used for the server-
side.
7 CONCLUSIONS
Cloud-based volume rendering presents the data con-
fidentiality issue that can lead to privacy loss. In this
paper, we addressed this issue by encrypting the vol-
ume using the modified Paillier cryptosystem such
that a pre-classification volume ray-casting can be
performed at the cloud server in the encrypted do-
main. Our proposal, 3DCrypt, provides several im-
provements over state-of-the-art techniques. First, we
are able to hide both color and shape of the rendering
object from a cloud server. Second, we provide bet-
ter security to collusion attack than the state-of-the-art
Shamir’s secret sharing-based scheme. Third, users
do not need to share keys for rendering volume stored
in the cloud (therefore, maintenance of per-volume
keys is not required).
To make 3DCrypt more practical, a future work
SECRYPT 2016 - International Conference on Security and Cryptography
290