Covert channel verification

Successfully delivered messages secretly! (video is attached)

We succeeded in secretly delivering messages using inaudible high frequencies as a clandestine channel.

We used a passive speaker as a microphone. And the two computers were out of network connection.

Won a prize at the 3rd Workshop on Side Channel Analysis

We worked on a set of problems provided by the side channel committee.

We revealed secret keys hidden in a seemingly random signals using light-CNN.

1.Our Attack Point in of the S-box

The power waveform of the masked module must be visually separated so that power at different times can be extracted within the same waveform. Inside the S-box, the Masked S-box (MS) table is calculated in advance to calculate the function value without exposing the power value during the S-box operation. The input and output of MS are as follows.

Input: (P⊕M_i')⊕(K⊕M_i'⊕M)

Output: S(P⊕K)⊕M

We performed a side channel analysis based on the model below by differentiating the masking values of the two consecutive operations as shown in the figure below.

2. Signal Preprocessing

2-1. Peak Detection

The power signal is high when an operation occurs and the power signal is repeated at a constant period. Signal peaks can be extracted by investigating local maximums of a periodically repeated signal.

2-2. Simple Power Analysis (SPA) based on the Periodicity

Based on the peaks obtained, 16 operations of the SubByte could be distinguished, as shown in the figure below.

1. Feature Extraction: Recurrence plots

During SubBytes, the operation is repeated 16 times. Since each signal section is generated independently during the S-box operation, the secret key corresponding to each byte is also independent. Therefore, for a total of 5000 waveforms, 16 repeated sections resulting from the S-box operation performed in the first round were trained.

2. Train using light-CNN

Received Best Paper Award!

It was truly an honor to be the only recipient of the Best Paper Award and present my work to one of the finest professors in the fields of security.

Drone Tracking using Kalman Filter [github]

Kalman filter can be represented as a state space model and each state can be though of as Linear Gaussian Model.

The video on the left shows that the tracking box(green) are following the actual location of the drone(detection box(red)).

Kalman model assumes Markov Chain

1. Prediction

2. Filtering

3D Image Reconstruction [github]

I studied 3D image reconstruction problems based on Bayesian inference. Among probabilistic inference, I used Metropolis-Hastings algorithm and maximized the likelihood to reconstruct a three-dimensional figure from six images viewed from different angles.


Won the first prize at Engineering Design Contest!

My team and I spent 4 months making the framework of a robot with raw materials like acrylic plates, iron bars, and wood. We made the intricate parts of the robot with a laser cutter and a 3D printer at the makerspace. Then, we programmed it using OpenCV YOLO-v4 to recognize objects and the environment, and calculated the movement of its wheels so that the little robot could recognize and follow humans while avoiding an obstacle (a dog).

Even though we were under a lot of stress, it was an enjoyable experience! :D

We made this little robot from scratch using acrylic plates, iron bars, and woods. To successfully make this, we all trained for 3D printer and lasyercutter at the makerspace.

Since the camera lacks information about the distance and angle to the recognized object, we chose to fix the camera and quantize possible distances.

After programming an appropriate learning algorithm to recognize and track objects with a scene, we divided the scene into multiple sections and assumed different situations associated each section. Accordingly, the behavior of the robot is determined to which section the object is recognized.

Based on the robot's current state, the scene was divided into sections 1) that have a possibility of collision with an object, 2) that do not have a possibility of collision, and 3) that must stop unconditionally when an object is recognized.

EE-Thon! (Electrical Engineering Hackerthon)

During my summer vacation, I participated in the Hackathon held by the Dept. of Electrical Engineering for making a prototype using Arduino. Indeed, Raspberry Pie would have allowed us to make more cool stuff, but the competition rules limited the use other than Arduino.

Our team made a smart tumbler with various functions. Several sensors were attached, including reading lights and sensors that let you know the temperature of the drink in real-time. Also, in order to add the function of displaying the remaining amount of water in real-time, the weight sensor at the bottom of the tumbler needed to be inserted. To maintain the level of the weight sensor, we made a part that can wrap and hold it by using the laser cutter of makerspace. The exterior framework of the tumbler was made by a 3D printer.

Fun experience!

We perfectly made a prototype of the smart tumbler within 24 hours.

We made the level sensor using layser cutter!

The body of the tumbler was made by a 3D printer!

Visualizing keywords of news articles according to the variation of the stock market