encrypted-simulation-research-2022
FMU, Simulink, Homomorphic Encryption, Teleoperation
https://github.com/xzhao391/encrypted-simulation-research-2022
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.8%) to scientific vocabulary
Repository
FMU, Simulink, Homomorphic Encryption, Teleoperation
Basic Info
- Host: GitHub
- Owner: xzhao391
- License: mit
- Language: C++
- Default Branch: main
- Size: 8.23 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Encrypted-Simulation-Research-2022
The goal of the research is to establish functional mockup units (FMU) co-simulation methods to simulate and evaluate encrypted dynamic systems using somewhat homomorphic encryption (SHE). The proposed approach encrypts the entire dynamic system expressions including: model parameters, state variables, feedback gains, and sensor signals, and perform computation in the ciphertext space to simulate dynamic behaviors or generate motion commands to servo systems. The developed FMU co-simulation helps analyze the relationship between security parameters and performance.
The modular structure of FMU may be used in conjunction with the aforementioned cypher-interface, to create an encrypted cyber-physical testbed. A particular FMU system is paired with different implementations of cypher.dll to test which cypher/securityparameters are best compatible with the particular system. An example of this workflow can be seen in Fig. 1.
(a) Testbed Flow: Evaluation scheme to find successful security parameters, where ε is the measured error, εT the error tolerance, τ the measured simulation-cycle time, and τT the simulation-cycle time tolerance.
Testbed staging: Construct system from FMU composition, and select the cypher to be tested. Here the “Test Bed” blockrefers to Fig. 1a.
Fig. 1: FMU/Cypher test-bed: System simulation is constructed by linking FMUs chosen from a remote repository. A cypher is then selected to be tested for compatibility with the given FMU system.
/* ----------------------------------------------------------------- Duffing Oscillator ----------------------------------------------------------- */
The duffing equation is represented by $$\ddot x + \delta \dot x + \alpha x + \beta x ^{3}= \gamma \cos(\omega t)$$, where the coefficients $\delta, \alpha, \beta, \gamma, \omega$ denote system damping, linear stiffness, amount of non-linearity in the restoring force, amplitude of the driving force, and angular frequency of the force.
The Duffing equation is discretized with a step time $Ts$ for the current time $t=k Ts (k=0,1,2,\cdots$) and encrypted by using SHE, as shown in Fig. 3. The main purpose of the encryption is to treat the parameters, $\alpha, \beta, \gamma, \delta$, as well as $\ddot x$, in the ciphertext. Compared to teleoperation encryption, more powerful sets of security parameters are needed due to the triple multiplications.
Fig. 2: All parameters in the duffing equations were encrypted and ran in FMU, where $F=\cos(\omega t)$ is the forcing function, and $x_k = x(k T_s)$.
/* ---------------------------------------------------------------- Teleoperation System ------------------------------------------------------- */
Inside the controller, the SHE algorithm encrypts the dynamics outputs from the local and remote plants including: accelerations, velocities, displacements, as well as gains. Then, the controller will do the computation in encryption and output the decrypted forces back to the plants. The teleoperation system consists of three separate FMUs: local plant, controller, and remote plant.
Each component is exported from the Simulink model and run in FMPy. During the FMU simulation, the components in the co-simulation establish communications between each other. A component publishes a specific output variable that is subscribed by other components as input. Two cycles exist in the simulations: feedback from the controller to the local plant and from the remote plant to the controller. Therefore, both plants and controllers have the same priority but cannot run in parallel.
Fig. 3: The teleoperation system consists of three separate FMU: local plant, controller, and remote plant. The controller makes calls to cypher.dll to perform cryptographic operations..
Owner
- Login: xzhao391
- Kind: user
- Repositories: 1
- Profile: https://github.com/xzhao391
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: ' Encrypted Simulation Research 2022'
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Xiaofeng
family-names: Zhao
email: zhaoxiaofeng@gatech.edu
affiliation: >-
George W. Woodruff School of Mechanical
Engineering, Georgia Institute of Technology
- given-names: Shane
family-names: Kosieradzki
email: skosieradzki3@gatech.edu
affiliation: >-
George W. Woodruff School of Mechanical
Engineering, Georgia Institute of Technology
- given-names: Jun
family-names: Ueda
email: jueda3@gatech.edu
affiliation: >-
George W. Woodruff School of Mechanical
Engineering, Georgia Institute of Technology
url: "https://github.com/xzhao391/Encrypted-Simulation-Research-2022"
year: 2022