3D - MDPI

15 downloads 0 Views 4MB Size Report
May 7, 2018 - The three-dimensional printing (3D printing) also known as additive ..... 425. End-Cap. Pit-co. Holder. Lion. Impeller. Mouse. Figure 9. Cont.
electronics Article

Two-Dimensional (2D) Slices Encryption-Based Security Solution for Three-Dimensional (3D) Printing Industry Giao N. Pham 1 1 2

*

ID

, Suk-Hwan Lee 2 , Oh-Heum Kwon 1 and Ki-Ryong Kwon 1, *

Department of IT Convergence & Application Engineering, Pukyong National University, Busan 608-737, Korea; [email protected] (G.N.P.); [email protected] (O.-H.K.) Department of Information Security, Tongmyong University, Busan 608-711, Korea; [email protected] Correspondence: [email protected]; Tel.: +82-051-629-6257

Received: 22 April 2018; Accepted: 2 May 2018; Published: 7 May 2018

 

Abstract: Nowadays, three-dimensional (3D) printing technology is applied to many areas of life and changes the world based on the creation of complex structures and shapes that were not feasible in the past. But, the data of 3D printing is often attacked in the storage and transmission processes. Therefore, 3D printing must be ensured security in the manufacturing process, especially the data of 3D printing to prevent attacks from hackers. This paper presents a security solution for 3D printing based on two-dimensional (2D) slices encryption. The 2D slices of 3D printing data is encrypted in the frequency domain or in the spatial domain by the secret key to generate the encrypted data of 3D printing. We implemented the proposed solution in both the frequency domain based on the Discrete Cosine Transform and the spatial domain based on geometric transform. The entire 2D slices of 3D printing data is altered and secured after the encryption process. The proposed solution is responsive to the security requirements for the secured storage and transmission. Experimental results also verified that the proposed solution is effective to 3D printing data and is independent on the format of 3D printing models. When compared to the conventional works, the security and performance of the proposed solution is also better. Keywords: 3D printing; 3D printing data; 3D printing security; discrete cosine transform; geometric transformation

1. Introduction The three-dimensional printing (3D printing) also known as additive manufacturing, is a method of converting a virtual 3D model into a physical 3D object using additive processes [1–4]. In an additive process, a physical 3D object is created by laying down successive layers of material until the object is created. Thus, to print a physical 3D object from a 3D printing model by a 3D printer, the 3D printing model must be cut into a set of 2D slices from bottom to top [4]. This set of two-dimensional (2D) slices is stored in a file that is the input data of a 3D printer to print physical 3D objects, as described in Figure 1. Thus, these 2D slices are also considered as 3D printing data. Since 3D printing is applied in a variety of industries including jewelry, footwear, industrial design, architecture, engineering and construction, automotive, aerospace, medical and healthcare industries, education, and consumer products [5–7], the data of 3D printing can be attacked by hackers [8–10]. As shown in Figure 2, attackers can attack on 3D printing models by attacking the database of 3D printing models or faking user to illegally copy or destroy 3D printing models when they are transmitted to user via the Internet (see Figure 2a). Besides, to prevent the duplication or the modification of 3D printing models by users, the original providers can cut 3D printing model into 2D

Electronics 2018, 7, 64; doi:10.3390/electronics7050064

www.mdpi.com/journal/electronics

Electronics 2018, 7, 64

2 of 14

Electronics 2018, 2018, 7, 7, xx FOR FOR PEER PEER REVIEW REVIEW Electronics

of 14 14 22 of

slices andand thenthen store them in ain database. Therefore, hackers cancan alsoalso attack thethe 3D 3D printing process by 2D slices slices store them database. Therefore, hackers attack printing process 2D and then store them in aa database. Therefore, hackers can also attack the 3D printing process attacking on files that contain 2D slices when they are stored in a database or transmitted to users the by attacking attacking on on files files that that contain contain 2D 2D slices slices when when they they are are stored stored in in aa database database or or transmitted transmitted to to users users by Internet, as shown in Figure 2b. the Internet, Internet, as as shown shown in in Figure Figure 2b. 2b. the

3D Printer Printer 3D

3D Slicers Slicers 3D

3D Printing Printing Model Model 3D

2D Slices Slices 2D

3D Printed Printed Object Object 3D

Figure 1. 1. General General 3D 3D Printing Printing Process. Process. Figure 1. General 3D Printing Process. Figure

Design models models Design

3D Printing Printing Model Model 3D

Database Database

Attacks Attacks

Designer Designer

Storage Storage

User User

Hacker Hacker

(a) (a)

3D Slicers Slicers 3D 2D Slices Slices 2D

Attacks Attacks

3D Printing Printing Model Model 3D

Database Database

Storage Storage

User User

Hacker Hacker

(b) (b) Figure 2. 2. (a) (a) Attack Attack to tothree-dimensional three-dimensional (3D) (3D) printing printing model, model, and and (b) (b) attack attack to to 3D 3D printing printing data data (two(twoFigure Figure 2. (a) (2D) Attack to three-dimensional (3D) printing model, and (b) attack to 3D printing data dimensional Slice). dimensional (2D) Slice). (two-dimensional (2D) Slice).

To prevent prevent attacks attacks to to 3D 3D printing printing model model and and the the file file of of 2D 2D slices, slices, encryption encryption solutions solutions for for 3D 3D To To prevent attacks to 3D printing model and the file of 2D slices, encryption solutions for 3D printing model and the file of 2D slices are necessary and suitable. To prevent attacks on 3D printing printing model and the file of 2D slices are necessary and suitable. To prevent attacks on 3D printing printing model and theproposed file of 2Daaslices are necessary andmethod suitable.3D Toprinting prevent model attacksthat on 3D printing model, we we previously proposed perceptual encryption method 3D printing model that is based based on model, previously perceptual encryption is on model, we previously a perceptual encryption method printing model on encrypting the features featuresproposed of the the interpolating interpolating spline curve of of degree3D in 3D space space [11],that andisaabased selective encrypting the of spline curve degree 22 in 3D [11], and selective encryption for 3D printing model based on K-mean clustering and the discrete cosine transform [12]. encrypting the features of the interpolating spline curve of degree 2 in 3D space [11], and a selective encryption for 3D printing model based on K-mean clustering and the discrete cosine transform [12]. The main main content content of these these methods methods is based based on the theclustering geometricand features of 3D 3D printing printing model in in[12]. 3D encryption for 3D printing model based on K-mean the discrete cosine transform The of is on geometric features of model 3D The main ofselectivity these methods is based on geometric features ofdiscrete 3D printing model in 3D space or is iscontent based on on selectivity encrypting in the thethe frequency domain of the the discrete cosine transform. space or based encrypting in frequency domain of cosine transform. Thus, they could not be applied to 2D slices. Because the data of 2D slices is represented in 2D space. Thus, they could not be applied to 2D slices. Because the data of 2D slices is represented in 2D space. In order order to to respond respond to to above above issue, issue, we we would would like like to to propose propose an an encryption encryption solution solution for for 2D 2D slices slices In in 3D printing. The main idea of the proposed solution is to encrypt the 2D slices of 3D printing, both in 3D printing. The main idea of the proposed solution is to encrypt the 2D slices of 3D printing, both

Electronics 2018, 7, 64

3 of 14

space or is based on selectivity encrypting in the frequency domain of the discrete cosine transform. Thus, they could not be applied to 2D slices. Because the data of 2D slices is represented in 2D space. Electronics 2018, 7, FOR PEERto REVIEW 3 of 14 In order toxrespond above issue, we would like to propose an encryption solution for 2D slices in 3D printing. The main idea of the proposed solution is to encrypt the 2D slices of 3D printing, both in in the frequency domain and spatial domain.2D 2Dslices slicesare areextracted extractedfrom fromthe thefile file of of 3D 3D printing printing the frequency domain and thethe spatial domain. and are are then then encrypted encrypted by by the the secret secret key key in in the the frequency frequency domain domain or or in in the the spatial spatial domain. domain. In In this this and paper, we performed and experimented the proposed solution with both the frequency and spatial paper, we performed and experimented the proposed solution with both the frequency and spatial domains. To clarify the the proposed proposed solution, solution, we we organize organize our our paper paper as as follow. follow. In In Section Section 2, 2, we we would would domains. To clarify like to explain the related works as data encryption, 3D model encryption, and 2D slices-based the like to explain the related works as data encryption, 3D model encryption, and 2D slices-based the proposed solution. In Section 3, we present the proposed solution in detail. Experimental results and proposed solution. In Section 3, we present the proposed solution in detail. Experimental results and the evaluation evaluation of of the the proposed solution will will be be described in Section 4. Section the proposed solution described in Section 4. Section 55 shows shows the the conclusion. conclusion.

2. Related Related Works Works 2. 2.1. Data Encryption 2.1. Data Encryption Data Data encryption encryption is is aa process process of of altering altering the the original original data data to to new new data data that that is is different different with with the the original conventional work original data. data. The The conventional work of of data data encryption encryption is is to to convert convert the the original original data data to to bits bits stream stream and Encryption Standard), and then then encrypt encrypt it it by by the the encryption encryption standards standards as as DES DES (Data (Data Encryption Standard), AES AES (Advanced (Advanced Encryption Algorithm 5),5), or or Tri-DES, as shown in Figure 3. This way Encryption Standard), Standard),MD5 MD5(Message-Digest (Message-Digest Algorithm Tri-DES, as shown in Figure 3. This is theissimplest method and applied to normal data data as text, image or video [13–16]. If weIfapply this way the simplest method and applied to normal as text, image or video [13–16]. we apply way to the 2Dofslices in 3Dinprinting, we have to convert the file 2Dofslices into into bits-stream and this way tofile theof file 2D slices 3D printing, we have to convert theof file 2D slices bits-stream then encrypt that bits-stream by the encryption standards as DES, AES AES or others. This This means that and then encrypt that bits-stream bydata the data encryption standards as DES, or others. means we some unnecessary contentscontents as text, notation, and header, the target encryption thatwill weencrypt will encrypt some unnecessary as text, notation, andwhile header, while of the target of is a set of 2D the accuracy this method ismethod not highisand between encryption is slices. a set ofMoreover, 2D slices. Moreover, theofaccuracy of this not the highconversation and the conversation 3D printing and data bits-stream is the main cause of the error in the decryption process. So, this way between 3Ddata printing and bits-stream is the main cause of the error in the decryption process. So, is unsuitable for 2D slices this way is unsuitable for encryption. 2D slices encryption. Encryption Key

Bits-Stream Conversion

Original Data

Cipher (DES, AES or MD5)

Encrypted Data

Figure 3. 3. Conventional Conventional work work of of data data encryption. encryption. Figure

2.2. 3D Model Encryption 2.2. 3D Model Encryption Currently, there are some proposed techniques for 3D models encryption [11,12,17,18]. Overall, Currently, there are some proposed techniques for 3D models encryption [11,12,17,18]. Overall, the main content of these methods is to encrypt 3D model that is based on encrypting the features of the main content of these methods is to encrypt 3D model that is based on encrypting the features of 3D model in 3D space. These methods work on 3D data in 3D space to obtain the encrypted 3D model. 3D model in 3D space. These methods work on 3D data in 3D space to obtain the encrypted 3D model. Thus, they could not be applied to 2D slices. Because 2D slices are 2D data in 2D space. Consequently, Thus, they could not be applied to 2D slices. Because 2D slices are 2D data in 2D space. Consequently, the encryption methods for 3D model is unsuitable for the 2D slices of 3D printing. the encryption methods for 3D model is unsuitable for the 2D slices of 3D printing. 2.3. 2D 2D Slices-Based Slices-Based Encryption Encryption 2.3. 3D printing printing technology technology uses uses 3D 3D printing printing models models [19,20] [19,20] to to print print physical physical 3D 3D objects. objects. In In order order to to 3D print physical 3D objects, 3D printing models must be cut by a cutting plane along the Z axis from print physical 3D objects, 3D printing models must be cut by a cutting plane along the Z axis from bottom to to top top via via the the 3D 3D slicing slicing process. 3D slicing bottom process. The The 3D slicing process process is is performed performed by by aa 3D 3D slicer slicer [21,22]. [21,22]. The output of the 3D slicing process is a set of 2D slices, as shown in Figure 4, and a 3D printer will The output of the 3D slicing process is a set of 2D slices, as shown in Figure 4, and a 3D printer will print physical 3D objects from a set of 2D slices (see Figure 1). The 2D slices that were cut from a 3D print physical 3D objects from a set of 2D slices (see Figure 1). The 2D slices that were cut from a 3D printing model, model, are are stored stored in in G-code G-code format format [23]. [23]. So, in order order to to encrypt encrypt the the 2D 2D slices slices of of aa 3D 3D print print printing So, in model, we only need to extract 2D slices and then encrypt them by the secret key. model, we only need to extract 2D slices and then encrypt them by the secret key.

Electronics 2018, 7, 64

4 of 14

Electronics 2018, 7, x FOR PEER REVIEW

4 of 14

Figure 4. The 2D slices of a 3D printing model in 2D space.

3. The Proposed Solution 3.1. Overview Overview, the proposed solution is described in Figure 5. 3D printing model is firstly cut into a set of 2D slices via the 3D slicing process. 2D slices are then extracted and are encrypted by the secret Figure 4. The 2D slices of a 3D printing model in 2D space. Figure 4. The 2D2D slices of a 3D printing in 2D space. key value K to obtain the encrypted slices. The secretmodel key value K is generated by a hashing function with a user’s key input. For the 2D slices encryption process, we would like to propose two 3. The Proposed Solution 3. The Proposed Solution methods. First method is the encryption method in the frequency domain. Second method is the 3.1. Overview encryption method in the spatial domain. The detail of each method will be presented in Sections 3.2 3.1. Overview and 3.3. Overview, the proposed solution is described in Figure 5. 3D printing model is firstly cut into a Overview, the via proposed solution is printing described inare Figure 5.be 3Dcut printing model is firstly cutsecret into a set To a physical aprocess. 3D model mustextracted into set of slices by the the 3D slicing set print of 2D slices the3D 3Dobject, slicing 2D slices then and aare encrypted of 2Dkey slices via the 3D slicing process. 2D2Dslices areThe then extracted and are encrypted byathe keya value K to obtain themain encrypted slices. secret key value is printing generatedmodel by hashing process. To brief, we define notation, as follows. Assume that a K3D is secret cut into function with a user’s key input. For the 2D slices encryption process, we would like to propose two value K to obtain the encrypted 2D slices. The secret key value K is generated by a hashing function set of 2D slices, 𝑺𝑺 = {𝑆𝑆𝑖𝑖 |𝑖𝑖 ∈ [1, 𝑁𝑁]} where N is the number of slices. Each slice is a set of the intersected First method the encryption method inprocess, the frequency domain. Second method the with amethods. user’s key input. Foristhe 2D slices we to|𝑆𝑆propose twois|𝑆𝑆 methods. {𝑝𝑝 ∈ [1, points between 3D printing model and encryption the cutting plane, 𝑆𝑆𝑖𝑖 =would 𝑖𝑖,𝑗𝑗 |𝑗𝑗like 𝑖𝑖 |]} where 𝑖𝑖 | is the encryption method in the spatial domain. The detail of each method will be presented in Sections 3.2 First method is theinencryption domain. method encryption thefrequency 𝑗𝑗th point in the Second 𝑖𝑖𝑡𝑡ℎ slice and it is the presented by a number of points each slice, method and 𝑝𝑝𝑖𝑖,𝑗𝑗 inisthe and 3.3. method in the spatial(𝑥𝑥domain. The detail of each method will be presented in Sections 3.2 and 3.3. pair of coordinates , 𝑦𝑦 ). 𝑖𝑖,𝑗𝑗 𝑖𝑖,𝑗𝑗 To print a physical 3D object, a 3D printing model must be cut into a set of slices by the 3D slicing process. To brief, we define main notation, as follows. Assume that a 3D printing model is cut into a set of 2D slices, 𝑺𝑺 = {𝑆𝑆𝑖𝑖 |𝑖𝑖 ∈ [1, 𝑁𝑁]} where N is the number of slices. Each slice is a set of the intersected points between 3D printing model and the cutting plane, 𝑆𝑆𝑖𝑖 = {𝑝𝑝𝑖𝑖,𝑗𝑗 |𝑗𝑗 ∈ [1, |𝑆𝑆𝑖𝑖 |]} where |𝑆𝑆𝑖𝑖 | is the point in the 𝑖𝑖𝑡𝑡ℎ 2D slice and it is presented by a number of points in each slice, and 𝑝𝑝𝑖𝑖,𝑗𝑗 is the 𝑗𝑗th 2D Slices Slices Encrypted 2D Slices 3D Slicing pair of coordinates (𝑥𝑥𝑖𝑖,𝑗𝑗 , 𝑦𝑦𝑖𝑖,𝑗𝑗 ). Encryption Extraction Key Value K

3D printing model

2D Slices (G-code) 2D Slices Extraction

3D Slicing

Hashing Function

2D Slices Encryption

Encrypted 2D Slices

KeyKey Value K User’s 3D printing model

2D Slices (G-code)

Figure 5. 5. The The proposed proposed solution. solution. Figure

Hashing Function

3.2. Encryption Method in Frequency Domain User’s To print a physical 3D object, a 3D printing model must be cut into a Key set of slices by the 3D slicing process. To brief, we define notation, as follows. Assume that a 3D for printing model cutfrequency into a set In this section, we willmain present an overview encryption method 2D slices in isthe Figure 5. The proposed solution. of 2D slices, S = { Si | i ∈ N ]} where N method is the number of slices. Each slice isencryption” a set of the intersected domain, as described in[1, Figure 6a. This is applied to the “2D slice step in the  points between 3DMethod printing modelin and the cutting plane, Si a=set of pi,jthe j ∈intersected [1, |Si |] where proposed solution. As theinmention Section 3.1, each slice is points|Sbetween 3.2. Encryption Frequency Domain i | is the th slice and it is presented by a pair of number ofInpoints in each slice, and p is the jth point in the i this section,  we will presenti,j an overview encryption method for 2D slices in the frequency coordinates xi,jdescribed , yi,j . in Figure 6a. This method is applied to the “2D slice encryption” step in the domain, as proposed solution. As the mention in Section 3.1, each slice is a set of the intersected points between

3.2. Encryption Method in Frequency Domain

In this section, we will present an overview encryption method for 2D slices in the frequency domain, as described in Figure 6a. This method is applied to the “2D slice encryption” step in the

value K as described in Equation (3) with 𝐸𝐸𝐾𝐾 (. ) is the encryption function. Finally, the encrypted DC coefficient and DCT coefficients of the matrix 𝑫𝑫𝐴𝐴𝐴𝐴 are performed the inverse DCT, as shown in Equation (4) to generate the encrypted matrix 𝐄𝐄𝐀𝐀𝑖𝑖 , and this matrix is used to construct the encrypted slice 𝑬𝑬𝑆𝑆𝑖𝑖 = {𝑒𝑒𝑖𝑖,𝑗𝑗 |𝑗𝑗 ∈ [1, |𝑆𝑆𝑖𝑖 |]} with 𝑒𝑒𝑖𝑖,𝑗𝑗 (𝑒𝑒𝑒𝑒𝑖𝑖,𝑗𝑗 , 𝑒𝑒𝑒𝑒𝑖𝑖,𝑗𝑗 ), as shown in Figure 6b. The 2D slices encryption process is described in Figure 6b. We chose DCT for the encryption process because the impact energy Electronics 5 of 14 of the 2018, DCT7,is64massed at DC values. After the DC value encryption and the inverse DCT process, the value of all the coefficients are extensively altered. 𝑥𝑥𝑖𝑖,|𝑆𝑆𝑖𝑖 |is a set of the intersected points between proposed solution. As the mention in Section𝑥𝑥3.1, 𝑖𝑖,1 𝑥𝑥each 𝑖𝑖,2 … slice � 𝑨𝑨𝑖𝑖 = � (1) 𝑦𝑦𝑖𝑖,2 … 2D 𝑦𝑦𝑖𝑖,|𝑆𝑆𝑖𝑖slices 3D printing model and the cutting plane. To𝑦𝑦𝑖𝑖,1 encrypt in the frequency domain, we have | to arrange each slice into a matrix, as described in 6b, and then transform this matrix to the 𝑑𝑑𝑑𝑑Figure 𝑖𝑖,1 𝑑𝑑𝑑𝑑𝑖𝑖,2 … 𝑑𝑑𝑑𝑑𝑖𝑖,|𝑆𝑆𝑖𝑖 | ) = selectively � � 𝑫𝑫𝐀𝐀𝑖𝑖 = 𝐷𝐷𝐷𝐷𝐷𝐷(𝑨𝑨𝑖𝑖we (2) frequency domain. In the frequency domain, 𝑑𝑑𝑑𝑑𝑖𝑖,1 𝑑𝑑𝑑𝑑𝑖𝑖,2 encrypt … 𝑑𝑑𝑑𝑑𝑖𝑖,|𝑆𝑆𝑖𝑖|the direct current (DC) coefficient of matrix in the frequency domain by the key value K, and then perform inverse transformation back 𝑲𝑲 the spatial domain to obtain the encrypted slices. of the proposed solution �𝑑𝑑𝑑𝑑𝑖𝑖,1 𝑑𝑑𝑑𝑑′𝑖𝑖,1 = 𝐸𝐸𝐾𝐾 2D , 𝑲𝑲� =Since the×purpose 𝑑𝑑𝑑𝑑𝑖𝑖,1 (3)is to 𝑖𝑖 + |𝑆𝑆𝑖𝑖 | propose a solution for developers or researchers, they can use some transformations in the frequency 𝑑𝑑𝑑𝑑′𝑖𝑖,1 𝑑𝑑𝑑𝑑𝑖𝑖,2 … 𝑑𝑑𝑑𝑑𝑖𝑖,|𝑆𝑆 | 𝑒𝑒𝑒𝑒𝑖𝑖,1 𝑒𝑒𝑒𝑒𝑖𝑖,2 … 𝑒𝑒𝑒𝑒𝑖𝑖,|𝑆𝑆𝑖𝑖 | and Discrete Fourier domain as Discrete Cosine �� = � Transform (DWT), � 𝑬𝑬𝐀𝐀𝑖𝑖 =Transform 𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼 �� (DCT), Discrete 𝑖𝑖Wavelet (4) 𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑 … 𝑑𝑑𝑑𝑑 𝑒𝑒𝑒𝑒𝑖𝑖,1 𝑒𝑒𝑒𝑒𝑖𝑖,2 … 𝑒𝑒𝑦𝑦𝑖𝑖,|𝑆𝑆𝑖𝑖| 𝑖𝑖,1 𝑖𝑖,2 𝑖𝑖,|𝑆𝑆𝑖𝑖 | Transform (DFT). Key value K

Si

Matrix Construction

Frequency Transformation

DC Coefficient Encryption

Inverse Transformation

ESi

(a) Key value K

DAi

Ai DCT

EAi IDCT

Si

ESi (b) Figure 6. (a) Overview encryption method in the frequency domain, (b) The encryption process of 2D Figure 6. (a) Overview encryption method in the frequency domain, (b) The encryption process of 2D slices in Discrete Cosine Transform (DCT) domain. slices in Discrete Cosine Transform (DCT) domain.

3.3. Encryption Method in Spatial Domain Here, we implemented and experimented the proposed method in the DCT domain. Firstly, In this section, we would like to present an encryption method for 2D slices in the spatial domain. all the points in the slice Si are arranged in the matrix Ai , as shown in Equation (1). The matrix The function of the encryption method in the spatial domain is also similar the function of the Ai encryption is then transformed into the matrix D in DCT domain by the DCT function, as shown in method in the frequency domain.AiIt is applied to alter the shape of 2D slices in 3D printing. Equation (2). In the DCT domain, the DC coefficient D Ai is encrypted by the secret i,1 of the Due to the fact that the purpose of the encryption indx spatial is tomatrix alter the shape of 2D slices, we can keyuse value K as described in for Equation (3) with But, EK (.geometric function. Finally, the encrypted ) is the encryption geometric transforms the encryption. transforms as rotation, translation, and DC coefficient and DCT coefficients of the matrix D Ai are performed the inverse DCT, as shown in Equation (4) to generate the encrypted matrix EAi , and this matrix is used to construct the encrypted   slice ESi = ei,j j ∈ [1, |Si |] with ei,j exi,j , eyi,j , as shown in Figure 6b. The 2D slices encryption process is described in Figure 6b. We chose DCT for the encryption process because the impact energy of the DCT is massed at DC values. After the DC value encryption and the inverse DCT process, the value of all the coefficients are extensively altered.

"

DAi

xi,1 xi,2 Ai = yi,1 yi,2 " dxi,1 = DCT (Ai ) = dyi,1

... ... dxi,2 dyi,2

dx 0i,1 = EK (dxi,1 , K) = " EAi = IDCT

dx 0i,1 dyi,1

dxi,2 dyi,2

... ...

dxi,|Si | dyi,|Si |

xi,|Si | yi,|Si | ... ...

# (1) dxi,|Si | dyi,|Si |

#

K × dxi,1 i + | Si | #! " exi,1 exi,2 = eyi,1 eyi,2

(2) (3) ... ...

exi,|Si | eyi,|Si |

# (4)

Electronics 2018, 7, 64

6 of 14

3.3. Encryption Method in Spatial Domain In this section, we would like to present an encryption method for 2D slices in the spatial domain. The function of the encryption method in the spatial domain is also similar the function of the encryption method in the frequency domain. It is applied to alter the shape of 2D slices in 3D printing. Due to the fact purpose Electronics 2018, 7, that x FORthe PEER REVIEWof the encryption in spatial is to alter the shape of 2D slices, we6 can of 14 use geometric transforms for the encryption. But, geometric transforms as rotation, translation, and scaling the size of of 2D2D slice. They diddid notnot change thethe shape of scaling(RST) (RST)only onlychange changethe thespatial spatiallocation locationoror the size slice. They change shape 2D slices. So, they are unsuitable for the encryption process in the spatial domain. of 2D slices. So, they are unsuitable for the encryption process in the spatial domain. To the purpose purposeofofthe theencryption encryptioninin spatial domain replace the risks of To respond respond to to the thethe spatial domain andand replace the risks of RST, RST, we apply geometric distortion is aalso a geometric transform for2D the 2D slices encryption we apply geometric distortion that isthat also geometric transform for the slices encryption in the in the spatial domain. Geometric distortion is a transformation that is used to distort geometric spatial domain. Geometric distortion is a transformation that is used to distort geometric objects [24]. objects [24]. To encrypt𝑆𝑆𝑖𝑖the slice Si by the distortion transform, to generate the shearing To encrypt transform, we havewe tohave generate the shearing vectorvector T𝑖𝑖 =  the slice by the distortion j ∈ T{𝑡𝑡i 𝑖𝑖,𝑗𝑗 =|𝑗𝑗 ∈ ti,j[1, Si |the bysecret the secret key value K with ti,jcomputed is computed by Equation |𝑆𝑆𝑖𝑖[|1, } |by key value K with 𝑡𝑡𝑖𝑖,𝑗𝑗 is by Equation (5): (5):

ESi

K𝑲𝑲 × (𝑖𝑖 + 𝑗𝑗) ti,j𝑡𝑡𝑖𝑖,𝑗𝑗== |𝑆𝑆 |× (i + j ) |Si |𝑖𝑖 𝑬𝑬𝑆𝑆𝑆𝑆 = 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷  (𝑆𝑆𝑖𝑖 , T𝑖𝑖 ) = {𝑒𝑒𝑖𝑖,𝑗𝑗 |𝑗𝑗 ∈ [1, |𝑆𝑆𝑖𝑖 |] with  𝑒𝑒𝑖𝑖,𝑗𝑗 (𝑒𝑒𝑒𝑒𝑖𝑖,𝑗𝑗 , 𝑒𝑒𝑒𝑒𝑖𝑖,𝑗𝑗 )  = Distortion (Si , Ti ) = ei,j j = ∈ [(𝑥𝑥 1, |S+ e,i,j𝑥𝑥 ex = xi,j + ti,j .yi,j , xi,j ·ti,j + yi,j i |]𝑡𝑡with i,j , ey i,j . 𝑦𝑦 . 𝑡𝑡 + 𝑦𝑦 ) 𝑖𝑖,𝑗𝑗 𝑖𝑖,𝑗𝑗 𝑖𝑖,𝑗𝑗 𝑖𝑖,𝑗𝑗 𝑖𝑖,𝑗𝑗 𝑖𝑖,𝑗𝑗

(5) (5) (6) (6)

After will be be encrypted encrypted by by the the distortion distortion process process to to generate generate the the encrypted encrypted After that, that, the the slice slice S𝑆𝑆i𝑖𝑖 will slice E , as shown in Equation (6). The distortion process uses the shearing vector T distort the i to slice 𝐸𝐸Si , as shown in Equation (6). The distortion process uses the shearing vector 𝑇𝑇 to distort the 𝑆𝑆𝑖𝑖 i shape of 2D slices. Figure 7 describes the encryption process of 2D slices in the spatial domain by the shape of 2D slices. Figure 7 describes the encryption process of 2D slices in the spatial domain by the key keyvalue valueKKand andthe thedistortion distortionprocess. process. Key value K

Shearing Vector Generation Ti Distortion

ESi

Si

Figure7.7. The The encryption encryptionprocess processof of2D 2Dslices slicesin inspatial spatialdomain. domain. Figure

3.4. Decryption Process 3.4. Decryption Process The decryption process is an inverse process with the encryption process. The encrypted 2D The decryption process is an inverse process with the encryption process. The encrypted 2D slices are extracted from the file that contained the encrypted 2D slices and then they are decrypted slices are extracted from the file that contained the encrypted 2D slices and then they are decrypted by the secret key value K that is used in the encryption process. With the decryption method in the by the secret key value K that is used in the encryption process. With the decryption method in the frequency domain, we only arrange the encrypted points of the encrypted 2D slice into a matrix and frequency domain, we only arrange the encrypted points of the encrypted 2D slice into a matrix and then transform this matrix into DCT domain. In the DCT domain, we decrypt the encrypted DC then transform this matrix into DCT domain. In the DCT domain, we decrypt the encrypted DC coefficient by the secret key value K based on Equation (3), and it then perform the inverse DCT to coefficient by the secret key value K based on Equation (3), and it then perform the inverse DCT to get get the decrypted 2D slice, as shown in Figure 8a. For the decryption method in the spatial domain, the decrypted 2D slice, as shown in Figure 8a. For the decryption method in the spatial domain, we use we use the secret key value K to compute the shearing vector 𝑇𝑇𝑖𝑖 , as described in Equation (5) and the secret key value K to compute the shearing vector Ti , as described in Equation (5) and perform perform geometric re-distortion based on Equation (6) to get the decrypted 2D slice, as shown in geometric re-distortion based on Equation (6) to get the decrypted 2D slice, as shown in Figure 8b. Figure 8b. Key value K

ESi

Matrix Construction

Frequency Transformation

Shearing Vector Generation

Ti

Si

Inverse Transformation

DC Coefficient Decryption

Key value K

ESi

Re-distortion

Si

then transform this matrix into DCT domain. In the DCT domain, we decrypt the encrypted DC coefficient by the secret key value K based on Equation (3), and it then perform the inverse DCT to get the decrypted 2D slice, as shown in Figure 8a. For the decryption method in the spatial domain, we use the secret key value K to compute the shearing vector 𝑇𝑇𝑖𝑖 , as described in Equation (5) and Electronics 7, 64 7 of 14 perform2018, geometric in Electronics 2018, 7, x FOR re-distortion PEER REVIEW based on Equation (6) to get the decrypted 2D slice, as shown 7 of 14 Figure 8b. 4. Experimental Results and Analysis Key value K

We experimented the proposed solution with test models in Figure 9. The format of 3D printing models is STL files, VRML files [19,20]. The detailed information of each test model is shown in Table Matrix Frequency Shearing Vector ESi models 1. Each test are cut into aTransformation set of 2D slices. The number of 2D slices of each 3D printing model Construction Generation is dependent on both the Z-axis height of that model and the thickness of each slice. The thickness of Ti slice is flexible and determined by user. In experiments, we defined the thickness of slice of 1 mm. In order to evaluate the proposed solution, we evaluated the perceptual encryption result of 2D slices, DC Coefficient Inverse Key value K E Si Re-distortion Si Section Si Transformation Decryption analyze the security of the encrypted 2D slices and the performance of the proposed solution. 4.1 shows the visualization (a) experiments of the encryption process both (b) in the frequency domain and the spatial domain. The security analysis of the encryption methods in the frequency and the spatial Figure 8. (a) Decryption in the frequency domain, and (b) proposed Decryption solution in the spatial domain. domainsFigure is explained in Section The performance of the is shown 8. (a) Decryption in 4.2. the frequency domain, and (b) Decryption in the spatial domain.in Section 4.3. 4. Experimental Results and Analysis

Table 1. Experimental results.

We experimented the proposed solution with test models in Figure 9. The format of 3D printing Entropy (dB) Computation Time (ms) models is STLNumber files, VRML files [19,20]. The detailed information of each test model is shown in Table 1. Name Conventional Method in Method in Method in Method in of Slices Each test models are cut intoWork a set of 2D DCT slices. The number 2D slicesDCT of each 3D printing Domain SpatialofDomain Domain Spatialmodel Domainis dependent height of that model of each slice. End-Cap on both 6 the Z-axis4608 4623.5 and the thickness 4639.0 43 The thickness 18 of slice Pit-co and determined 19 4688.7 we defined 4769.4 68 slice of 1 mm.35 is flexible by4608 user. In experiments, the thickness of In order Holder 23 4608 4712.0 4816.0 72 to evaluate the proposed solution, we evaluated the perceptual encryption result of 2D slices,37analyze Lion 45 4608 4855.0 5102.0 136 59 theImpeller security of the 2D slices and the performance of the proposed solution. Section 4.1 119encrypted 4608 5428.5 6249.0 240 147 shows theMouse visualization experiments of the encryption in the frequency 129 4608 5512.5process both 6417.0 253domain and the 151spatial Yoda The security 630 4608 10,466.5methods in 16,325.0 594 the spatial domains 322 domain. analysis of the encryption the frequency and is Batman 730 11,551.5 explained in Section 4.2. The4608 performance of the proposed18,495.1 solution is shown671 in Section 4.3. 381 Bunny

830

4608

12,656.5

End-Cap

Lion

Pit-co

Impeller

20,705.0

729

Holder

Mouse Figure 9. Cont.

425

Electronics 2018, 7, 64

8 of 14

Electronics 2018, 7, x FOR PEER REVIEW

8 of 14

Yoda

Batman

Bunny

Figure 9. Test Models. Figure 9. Test Models.

4.1. Visualization Experiments

Table 1. Experimental results.

We experimented the encryption for the 2D slices of each test model in DCT domain and in the Entropy (dB) Computation Time (ms) model spatial domain. Figure 10 shows the perceptual encryption results with the 2D slices of Bunny Number Name Conventional Method in DCT Method in Method in DCT Method in in the frequency domain (DCT domain) and the spatial domain (distortion). After the encryption in of Slices Workof 2D slices Domain Domain Domain the DCT domain, the shape is altered. Spatial All theDomain points in each 2D slicesSpatial are disorderly End-Cap and the 6 segments 4608between two 4623.5 4639.0and not connected 43 18 10b). In connected points are broken (see Figure Pit-co 19 4608 4688.7 4769.4 68 35 the Holder spatial domain, after the the shape4816.0 of 2D slices also72 altered completely. All of 23 4608distortion process, 4712.0 37 Lion in each 45 2D slice4608 4855.0 5102.0 59 the points are disorderly connected or are not connected 136 together. The shape of 2D Impeller 4608 as shown in 5428.5 6249.0 240 of 2D slices 147 slices is altered119 to serrations, Figure 10c. Consequently, the shape is altered Mouse 129 4608 5512.5 6417.0 253 151 afterYoda the encryption process DCT domain and the spatial domain. hackers or 630 4608both in the 10,466.5 16,325.0 594 This means 322 Batman 730 4608 11,551.5 18,495.1 671 381 un-authorized users cannot view the content of 2D slices and cannot use them for 3D printing. We Bunny 830 4608 425 tested the encrypted 2D slices with XYZ12,656.5 3D Printer Pro 320,705.0 in 1 [25], the 3D 729 printer could not print the encrypted 2D slices into a physical 3D object, as shown in Figure 11. 4.1. Visualization Experiments We experimented the encryption for the 2D slices of each test model in DCT domain and in the spatial domain. Figure 10 shows the perceptual encryption results with the 2D slices of Bunny model in the frequency domain (DCT domain) and the spatial domain (distortion). After the encryption in the DCT domain, the shape of 2D slices is altered. All the points in each 2D slices are disorderly connected and the segments between two points are broken and not connected (see Figure 10b). In the spatial domain, after the distortion process, the shape of 2D slices also altered completely. All of the points in each 2D slice are disorderly connected or are not connected together. The shape of 2D slices is altered to serrations, as shown in Figure 10c. Consequently, the shape of 2D slices is altered after the encryption process both in the DCT domain and the spatial domain. This means hackers or un-authorized users cannot view the content of 2D slices and cannot use them for 3D printing. We tested the encrypted 2D slices with XYZ 3D Printer Pro 3 in 1 [25], the 3D printer could not print the encrypted 2D slices into a physical 3D object, as shown in Figure 11.

(a)

the spatial domain, after the distortion process, the shape of 2D slices also altered completely. All of the points in each 2D slice are disorderly connected or are not connected together. The shape of 2D slices is altered to serrations, as shown in Figure 10c. Consequently, the shape of 2D slices is altered after the encryption process both in the DCT domain and the spatial domain. This means hackers or un-authorized users cannot view the content of 2D slices and cannot use them for 3D printing. We tested the7,encrypted 2D slices with XYZ 3D Printer Pro 3 in 1 [25], the 3D printer could not print the9 of 14 Electronics 2018, 64 encrypted 2D slices into a physical 3D object, as shown in Figure 11.

Electronics 2018, 7, x FOR PEER REVIEW

9 of 14

(a)

(b)

(c) Figure 10. Experimental results 2D slices of Bunny model, (a) Original 2D slices, (b) Encrypted 2D

Figure 10. inExperimental results 2D slices 2D of slices Bunny (a) Original 2D slices, (b) Encrypted 2D slices DCT domain, and (c) Encrypted in model, spatial domain. slices in DCT domain, and (c) Encrypted 2D slices in spatial domain. 4.2. Security Analysis

To evaluate the security of the proposed solution, we will evaluate the length of the secret key K and the entropy of the encrypted 2D slices. If the length of the secret key K is long and the entropy of the encrypted 2D slices is high, the security of the proposed solution will be high. In order to decrypt the encrypted 2D slices, any hacker has to hack the secret key K. In our solution, we used the SHA-512 algorithm [26] with a 512 bits salt to generate random keys. Thus, if a user uses an English 512

Electronics 2018, 7, 64

10 of 14

Electronics 2018, 7, x FOR PEER REVIEW

10 of 14

Figure Figure 11. 11. 3D 3D printer printer cannot cannot print print the the encrypted encrypted 2D 2D slices. slices.

Based on equations in Section 3.2, we can see that the entropy of the encrypted 2D slices in DCT 4.2. Security Analysis domain is dependent on both the secret key K and the number of 2D slices N. But, K and N are random To evaluate the security the proposed solution, we evaluate length(frequency of the secret key K independent variables. So, theofentropy of the encrypted 2Dwill slices in DCTthe domain domain) andisthe the encrypted slices. K If and the length secret keyby K Equation is long and theentropy sum ofof the entropies of 2D variables N, andofisthe determined (7).the entropy of the encrypted 2D slices is high, the security of the proposed solution will be high. In order to decrypt (7) = ( ) + ( ) = | |. log | | + | |. log | | the encrypted 2D slices, any hacker has to hack the secret key K. In our solution, we used the SHA-512 With the spatialrandom domain,keys. based on equations in Section 3.3, we can see algorithm [26]encryption with a 512 method bits salt in tothe generate Thus, if a user uses an English words of 512 that theLentropy of the encrypted 2D slices in the spatial domain is dependent on both the secret key length as his password, then an attacker has to calculate L × 2 keys to access the encrypted 3D k k and the number of 2D slices N. But, the number K, the number of elements ineach the shearing triangle mesh. The length of key is 512vector bits. of elements the shearing vector3.2, T we is equal number of 2Dofslices N. So the2D entropy the Based oninequations in Section can seethe that the entropy the encrypted slices inofDCT encrypted 2D slices inonthe spatial domain is also the sumofof2D theslices entropies and N, domain is dependent both the secret key K and the number N. But,ofKvariables and N areKrandom and is determined by Equation (8). independent variables. So, the entropy of the encrypted 2D slices in DCT domain (frequency domain) HSF is the sum of the entropies of variables K and N, and is determined by Equation (7). (8) = ( ) + ( ) + ( ) = | |. log | | + | |. log | | + | |. log | | Due to the fact that the is2 |fixed HSF length = H (Kof H (secret N ) = key log K| + 512 log2 |the N | entropy of the encrypted (7) ) +the |K|. K | N |.bits, 2D slices is increased according to the number of 2D slices N, as shown in Table 1. With the encryption Withinthe method the spatial domain, based2D on slices equations in Section we can method theencryption DCT domain, the in entropy of the encrypted is formed from3.3, 4623.5 dBsee to that the entropy of the encrypted 2D slices in the spatial domain is dependent on both the secret key K, 12,656.5 dB with | | ∈ [6, 830]. With the encryption method in the spatial domain, the entropy of the the number of elements in the shearing vector T and the number of 2D slices N. But, the number of i encrypted 2D slices is formed from 4639 dB to 20,705 dB with | | ∈ [6, 830]. From Equation (7), elements in shearing Ti is equalthat theifnumber of 2Dthe slices N. So will the entropy Equation (8),the and Table 1,vector we concluded |N| is high, entropy be high.of the encrypted S 2D slices in theinspatial HS 2.1, is also sum of the entropies of variables and N,encrypt and is As shown Figuredomain 3 in Section the the conventional work uses only the secret K key K to determined by Equation (8). the bits-stream of 2D slices. Thus, with test models in Table 1 the entropy of the conventional work is always fixed Sat 4608 dB. This means the entropy of the conventional work is always smaller than H (K) + H log2 |K| + (8) ( Ti ) + H ( N )in=DCT |K|. domain | Ti the |. log | N |. log(see S = 2 | Ti | +domain 2 | N |Table 1). Based the entropy ofHthe proposed solution both and spatial on Equations and concluded that the thebits, encryption method the spatial Due to the(7) fact that(8), thewe length of the secret key entropy K is fixedof512 the entropy of the in encrypted 2D domain is always higher thantothe means the slices is increased according theentropy numberofofthe 2Dencryption slices N, asmethod shownin inDCT Tabledomain. 1. With This the encryption encryption method in the spatial domain is more security than the encryption method in DCT domain. Figure 12 shows the entropy of the proposed methods with the entropy of the conventional

Electronics 2018, 7, 64

11 of 14

method in the DCT domain, the entropy of the encrypted 2D slices is formed from 4623.5 dB to 12,656.5 dB with | N | ∈ [6, 830]. With the encryption method in the spatial domain, the entropy of the encrypted 2D slices is formed from 4639 dB to 20,705 dB with | N | ∈ [6, 830]. From Equation (7), Equation (8), and Table 1, we concluded that if |N| is high, the entropy will be high. As shown in Figure 3 in Section 2.1, the conventional work uses only the secret key K to encrypt the bits-stream of 2D slices. Thus, with test models in Table 1 the entropy of the conventional work is always fixed at 4608 dB. This means the entropy of the conventional work is always smaller than the entropy of the proposed solution both in DCT domain and the spatial domain (see Table 1). Based on Equations (7) and (8), we concluded that the entropy of the encryption method in the spatial domain is always higher than the entropy of the encryption method in DCT domain. This means the encryption Electronicsin 2018, x FOR PEER REVIEW 11 of12 14 method the7,spatial domain is more security than the encryption method in DCT domain. Figure shows the entropy of the proposed methods with the entropy of the conventional works, according works, according to the number of 2D slices. entropymethods of the proposed is always higher to the number of 2D slices. The entropy of theThe proposed is alwaysmethods higher than the entropy than the entropy of the conventional work. Consequently, the proposed solution is better and of the conventional work. Consequently, the proposed solution is better and more security thanmore the security than work. the conventional work. conventional 22000 Conventional Work Proposed Method in DCT Domain Proposed Method in Spatial Domain

20000 18000 16000

Entropy

14000 12000 10000 8000 6000 4000 2000

0

200

400

600

800

1000

Number of 2D Slices

Figure 12. 12. Entropy Entropy of of the the proposed proposed methods methods according according to to the the number number of of 2D 2D slices. slices. Figure

4.3. Performance Performance Evaluation Evaluation 4.3. In our our experiments, experiments, we we used used an an Intel Intel Core Core i7 i7 Quad Quad 3.5 3.5 GHz, GHz, 88 GB GB of of RAM, RAM, Windows Windows 77 64-bits, 64-bits, In and on onVisual VisualC# C#2013. 2013.The Thecomputation computationtime timeofofthe theproposed proposed solution is dependent number and solution is dependent onon thethe number of of 2D slices. With test models in Table 1, the computation time of the encryption method in DCT 2D slices. With test models in Table 1, the computation time of the encryption method in DCT domain domain formed from 43 ms 729| Nms | ]|, ∈and [6, 830] , and the computation of the is formedisfrom 43 ms to 729 ms to with the computation time of the time encryption [6, 830 | ∈ with | encryption method in the spatial domain is formed from 18 ms to 425 ms, with | ∈ [6, 830]. method in the spatial domain is formed from 18 ms to 425 ms, with | N | ∈ [6, 830]. The causeThe of cause of this difference is the encryption process in DCT be domain be dependent on the computation this difference is the encryption process in DCT domain dependent on the computation time of time and of DCT and inverse DCT processes soSo, much. the computation of the encryption method DCT inverse DCT processes so much. the So, computation time oftime the encryption method in the in the DCT domain is longer than the computation time of the encryption method in the spatial DCT domain is longer than the computation time of the encryption method in the spatial domain. domain. This the encryption in thedomain spatial is domain is faster the encryption process This means themeans encryption process inprocess the spatial faster than the than encryption process in DCT in DCT domain. Based on Equation (7), Equation (8), and Table 1, we concluded that if the number domain. Based on Equation (7), Equation (8), and Table 1, we concluded that if the number of 2D slices ofsmall, 2D slices small, the computation time will small and otherwise. WeAES alsostandard use the AES standard is the is computation time will be small and be otherwise. We also use the to encrypted to encrypted files that contain 2D slices. These files include 2D slices, text, header and other data. The files that contain 2D slices. These files include 2D slices, text, header and other data. The computation computation time of the conventional work the AES standard is the longer than the computation time of the conventional work used the AESused standard is longer than computation time of our time of our solution. With test models in Table 1, the computation time of the work is solution. With test models in Table 1, the computation time of the conventional conventional work is formed from formed from 70 ms to 1372 ms. So, we concluded that our method is better and faster than the conventional work. Figure 13 shows the computation time of methods, according to the number of 2D slices.

Electronics 2018, 7, 64

12 of 14

70 ms to 1372 ms. So, we concluded that our method is better and faster than the conventional work. Electronics 2018, 7, x FOR PEER REVIEW 12 of 14 Figure 13 shows the computation time of methods, according to the number of 2D slices. 1600 Conventional Work Proposed Method in DCT Domain Proposed Method in Spatial Domain

1400

Computation Time (ms)

1200 1000 800 600 400 200 0

0

200

400

600

800

1000

Number of 2D Slices Figure 13. Performance of the proposed algorithm comparing to to other other methods. methods.

5. Conclusions

paper, we we proposed proposed aa security security solution solution for for 3D 3D printing printing industry industry based on 2D slices slices In this paper, encryption. 2D slices in 3D printing file are encrypted before being storage or transmission to prevent encryption. attacks from from hackers. hackers. We experimented the the proposed proposed solution solution by by the encryption encryption processes processes in in the DCT attacks We experimented domain and and in the spatial domain. Experimental results proved that the proposed solution is effective domain independent on the format format of 2D slices. The encrypted 2D slices could not printed by to 2D slices and independent 3D printers. The proposed solution provides better solution more security than the 3D printers. The proposed solution provides a bettera solution and moreand security than the conventional conventional work. So, we that not hackers could not attack of 2D slices or fake work. So, we concluded thatconcluded hackers could attack the database ofthe 2D database slices or fake user to destroy user to destroy 2D slices when they are transmitted to user via the Internet. The proposed solution is 2D slices when they are transmitted to user via the Internet. The proposed solution is also flexible also flexible toordevelopers or Because, researchers. Because, this paper, we proposed only solution an overview to developers researchers. in this paper,inwe proposed only an overview and solution and experimented the 2D slices encryption processmethods by twoinsimple methods theinDCT experimented the 2D slices encryption process by two simple the DCT domaininand the domain and in the spatial domain. Dependent on the purpose of each application, developers or spatial domain. Dependent on the purpose of each application, developers or researchers can replace researchers replace content of 2D slices process by their complex methods. This is the content can of 2D slicesthe encryption process by encryption their complex methods. This is an advantage of our an advantage of our solution. In the future, we improve the proposed encryption methods and apply solution. In the future, we improve the proposed encryption methods and apply them to the secured them toand the secured storage and transmission systems. storage transmission systems. Author G.N.P.; Supervision, K.-R.K.; Validation, S.-H.L.S.-H.L. and O.-H.K. In this research Author Contributions: Contributions:Methodology, Methodology, G.N.P.; Supervision, K.-R.K.; Validation, and O.-H.K. In this activity, all of the authors joined and researched in the data analysis and pre-processing phases, the simulation, research activity, all of the authors joined and researched in the data analysis and pre-processing phases, the the results analysis and discussion, and the manuscript’s preparation. All of the authors have approved the submitted simulation, the results analysis and discussion, and the manuscript’s preparation. All of the authors have manuscript. All of the authors equally contributed to the writing of the paper. approved the submitted manuscript. All of the authors equally contributed to the writing of the paper. Acknowledgments: This work is supported by the Basic Science Research Program through the National Acknowledgments: work(NRF) is supported bythe theMinistry Basic Science Research Program through the National Research FoundationThis of Korea funded by of Science and ICT (No. 2016R1D1A3B03931003, No. 2017R1A2B2012456), and the MSIP (Ministry Science and ICT), Korea, the Grand Information Research Foundation of Korea (NRF) funded by theofMinistry of Science and ICTunder (No. 2016R1D1A3B03931003, Technology Research Center program (IITP-2017-2016-0-00318) supervised theGrand IITP (Institute for No. 2017R1A2B2012456), andsupport the MSIP (Ministry of Science and ICT), Korea, underbythe Information Information & communications Technology Promotion), the Institute for Information & communications Technology Research Center support program (IITP-2017-2016-0-00318) supervised by the IITP (Institute for Technology Promotion (IITP) grant funded by the Korea government (MSIT) (No. 2015-0-00225) and the Brain Information & communications Technology Promotion), the Institute for Information & communications Busan 21 (BB21) project. Technology Promotion (IITP) grant funded by the Korea government (MSIT) (No. 2015-0-00225) and the Brain Conflicts of Interest: The authors declare no conflict of interest. Busan 21 (BB21) project.

Conflicts of Interest: The authors declare no conflict of interest.

Electronics 2018, 7, 64

13 of 14

References 1.

2.

3.

4. 5. 6. 7. 8. 9. 10.

11. 12. 13. 14. 15. 16. 17.

18.

19. 20. 21. 22. 23. 24.

How 3D Printing Works: The Vision, Innovation and Technologies Behind Inkjet 3D Printing. 3D Systems: Rock Hill, CA, USA. 2012. Available online: http://www.officeproductnews.net/sites/default/files/3dWP_ 0.pdf (accessed on 14 April 2018). How Paper-Based 3D Printing Works: The Technology and Advantages. Mcor Technologies Ltd. 2013. Available online: http://rapid3dparts.co.za/how-paper-based-3d-printing-works.pdf (accessed on 14 March 2018). Lidia, H.A.; Paul, A.J.; Jose, R.J.; Will, H.; Vincent, C.A. White Paper: 3D Printing. Atos: Irving, TX, USA. 2014. Available online: https://atos.net/wp-content/uploads/2016/06/01052014-AscentWhitePaper-3dPrinting1.pdf (accessed on 30 April 2018). What Is 3D Printing & How Do 3D Printers Work? Available online: https://3dprint.com/82272/what-3dprinting-works/ (accessed on 30 April 2018). Ramya, A.; Vanapalli, S. 3D Printing Technology in Various Applications. Int. J. Mech. Eng. Technol. 2016, 7, 396–409. Rulania, T. Impact and Applications of 3D Printing Technology. SSRG Int. J. Comput. Sci. Eng. 2016, 3, 79–82. Helena, D. Applications of 3D printing in healthcare. Kardiochir. i Torakochirurgia Polska 2016, 13, 283–293. Centralized Command & Control IP, 3D Printers and Users. Available online: http://secured3d.com/howit-works (accessed on 30 April 2018). Security Attack to 3D Printing. Available online: https://www.claudxiao.net/Attack3DPrinting-Claud-en. pdf (accessed on 30 April 2018). Ben, B.; Eric, W.; Alex, J.H. Replication Prohibited: Attacking Restricted Keyways with 3D Printing. Available online: https://www.usenix.org/system/files/conference/woot15/woot15-paper-burgess.pdf (accessed on 30 April 2018). Pham, G.N.; Lee, S.-H.; Kwon, K.-R. Interpolating Spline Curve-Based Perceptual Encryption for 3D Printing Models. Appl. Sci. 2018, 8, 242. [CrossRef] Pham, G.N.; Lee, S.-H.; Lee, E.J.; Kwon, K.-R. Selective Encryption Algorithm for 3D Printing Model Based on Clustering and DCT Domain. J. Comput. Sci. Eng. 2017, 11, 152–159. [CrossRef] Paar, C.; Pelzl, J. Chapter 2 Stream Ciphers. In Understanding Cryptography; Springer: Berlin, Germany, 2010; pp. 29–54. Majid, B.; Maarof, M.A. An Efficient Stream Cipher Algorithm for Data Encryption. Int. J. Comput. Sci. Issues 2011, 8. Available online: http://www.ijcsi.org/papers/IJCSI-8-3-1-247-253.pdf (accessed on 30 April 2018). Bhukya, S.; Malathi, N.; Rao, D.S. Welch–Gong 128 Bit Stream Cipher for Encryption and Decryption Algorithm. Int. J. Emerg. Eng. Res. Technol. 2015, 3, 137–144. Kumari, S. A research Paper on Cryptography Encryption and Compression Techniques. Int. J. Eng. Comput. Sci. 2017, 6, 20915–20919. [CrossRef] Marc, E.; Maetz, Y.; Gwenael, D. Geometry-Preserving Encryption for 3D Meshes. In Proceedings of the Conference on Compression at Representation Signal Audio, Le Creusot, France, 28–29 November 2013; pp. 7–12. Cai, X.T.; He, F.Z.; Li, W.D.; Li, X.X.; Wu, Y.Q. Parametric and Adaptive Encryption of Feature-Based Computer-Aided Design Models for Cloud-based Collaboration. Integr. Comput. Aided Eng. 2017, 24, 129–142. [CrossRef] STL Format in 3D Printing. Available online: https://all3dp.com/what-is-stl-file-format-extension-3dprinting/ (accessed on 14 April 2018). The Virtual Reality Modeling Language. Available online: http://www.cacr.caltech.edu/~slombey/asci/ vrml/ (accessed on 14 April 2018). 3D Slicer. Available online: https://www.slicer.org/ (accessed on 14 April 2018). KIS Slicer. Available online: http://www.kisslicer.com/ (accessed on 14 April 2018). G-Code Tutorial. Available online: https://www.simplify3d.com/support/articles/3d-printing-gcodetutorial/ (accessed on 14 April 2018). 2D Geometric Transformations. Available online: https://www.cs.tau.ac.il/~dcor/Graphics/cg-slides/ geom2d.pdf (accessed on 30 April 2018).

Electronics 2018, 7, 64

25. 26.

14 of 14

XYZ Pro 3 in 1 Printer. Available online: https://www.xyzprinting.com/en-US/product/da-vinci-1-0-pro3-in-1 (accessed on 14 April 2018). RSA Lab. Password-Based Cryptography Standard; RSA Lab: Bedford, MA, USA, 2006. © 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).