From 2f0436a95946cbf115da3d96281b70c6f749c662 Mon Sep 17 00:00:00 2001
From: jz8u17 <j.zhan@soton.ac.uk>
Date: Thu, 7 Apr 2022 12:02:38 +0800
Subject: [PATCH] Updated figure presentation in exploration

---
 aes/aesa.c                                    |   8 ++++----
 aes/main.c                                    |  12 ++++++-----
 lib/opta/config.h                             |   4 ++--
 .../design_comparison/design_comparison.py    |  19 ++++++++----------
 scripts/design_comparison/voltage_traces.pdf  | Bin 0 -> 31223 bytes
 5 files changed, 21 insertions(+), 22 deletions(-)
 create mode 100644 scripts/design_comparison/voltage_traces.pdf

diff --git a/aes/aesa.c b/aes/aesa.c
index 9d6078b..ce1acad 100644
--- a/aes/aesa.c
+++ b/aes/aesa.c
@@ -11,8 +11,8 @@
 // 128-bit encryption
 void aes_128_enc(uint8_t* key, uint8_t* iv, uint8_t* plaintext,
                  uint8_t* ciphertext, uint8_t num_blocks) {
-    // atom_func_start(AES_128_ENC);
-    atom_func_start_linear(AES_128_ENC, num_blocks / 16);
+    atom_func_start(AES_128_ENC);
+    // atom_func_start_linear(AES_128_ENC, num_blocks / 16);
 
     // Reset AES Module (clears internal state memory)
     AESACTL0 = AESSWRST;
@@ -68,8 +68,8 @@ void aes_128_enc(uint8_t* key, uint8_t* iv, uint8_t* plaintext,
     while (!(DMA0CTL & DMAIFG)) {}
     DMA0CTL &= ~DMAIFG;
 
-    // atom_func_end(AES_128_ENC);
-    atom_func_end_linear(AES_128_ENC, num_blocks / 16);
+    atom_func_end(AES_128_ENC);
+    // atom_func_end_linear(AES_128_ENC, num_blocks / 16);
 }
 
 // 128-bit decryption, old
diff --git a/aes/main.c b/aes/main.c
index 2ebbbce..5d9351f 100644
--- a/aes/main.c
+++ b/aes/main.c
@@ -133,8 +133,8 @@ unsigned char __attribute__((section(".persistent"))) input[4096] =
 unsigned char __attribute__((section(".persistent"))) output[4096];
 // unsigned char __attribute__((section(".persistent"))) output2[4096];
 
-uint8_t __attribute__((section(".persistent"))) rd_arr[50] = {15, 5, 7, 11, 13, 5, 3, 7, 3, 5, 12, 8, 4, 6, 10, 13, 8, 4, 5, 5, 7, 4, 2, 7, 10, 14, 5, 9, 6, 8, 9, 14, 5, 12, 10, 11, 15, 4, 3, 11, 6, 2, 10, 7, 6, 10, 8, 7, 9, 11};
-uint8_t __attribute__((section(".persistent"))) rd_i = 0;
+// uint8_t __attribute__((section(".persistent"))) rd_arr[50] = {15, 5, 7, 11, 13, 5, 3, 7, 3, 5, 12, 8, 4, 6, 10, 13, 8, 4, 5, 5, 7, 4, 2, 7, 10, 14, 5, 9, 6, 8, 9, 14, 5, 12, 10, 11, 15, 4, 3, 11, 6, 2, 10, 7, 6, 10, 8, 7, 9, 11};
+// uint8_t __attribute__((section(".persistent"))) rd_i = 0;
 
 // void dummy_function(uint16_t cnt) {
 //     atom_func_start_linear(0, cnt);
@@ -176,9 +176,11 @@ int main(void) {
     // uart_init();    // Init UART for printing
     // uint16_t j = 1;  // For dummy function test
     for (;;) {
+        // ******* Linear adaptation test *******
         // aes_128_enc(key, iv, input, output, 16 * rd_arr[rd_i]);
-        aes_256_enc(key, iv, input, output, 16 * rd_arr[rd_i]);
-        if (++rd_i == 50) rd_i = 0;
+        // aes_256_enc(key, iv, input, output, 16 * rd_arr[rd_i]);
+        // if (++rd_i == 50) rd_i = 0;
+
         // ******* Dummy function test *******
         // dummy_function(j);
         // if (++j == 10) {
@@ -191,7 +193,7 @@ int main(void) {
 
         // aes_128_enc(key, iv, input, output, 16);        // Encrypt 256B data
         // aes_128_enc(key, iv, input, output, 32);        // Encrypt 512B data
-        // aes_128_enc(key, iv, input, output, 64);        // Encrypt 1KB data
+        aes_128_enc(key, iv, input, output, 64);        // Encrypt 1KB data
         // aes_128_enc(key, iv, input, output, 96);        // Encrypt 1.5KB data
         // aes_128_enc(key, iv, input, output, 128);       // Encrypt 2KB data
         // aes_128_enc(key, iv, input, output, 160);       // Encrypt 2.5KB data
diff --git a/lib/opta/config.h b/lib/opta/config.h
index 8d21ff1..1f9a28f 100644
--- a/lib/opta/config.h
+++ b/lib/opta/config.h
@@ -24,11 +24,11 @@
 
 #define COMPARATOR_DELAY            __delay_cycles(280)     // 35us
 
-#define DEFAULT_HI_THRESHOLD        56      // Value from threshold table
+#define DEFAULT_HI_THRESHOLD        66      // Value from threshold table
 #define DEFAULT_LO_THRESHOLD        95      // Value from threshold table
                                             // Should be 2V
                                             // otherwise our ADC doesn't work
-#define PROFILING_THRESHOLD         21      // Index from threshold table, initial threshold
+#define PROFILING_THRESHOLD         15      // Index from threshold table, initial threshold
 #define FIXED_THRESHOLD             35      // Used in test
 #define THRESHOLD_TABLE_MAX_INDEX   28
 #define ADC_STEP                    32
diff --git a/scripts/design_comparison/design_comparison.py b/scripts/design_comparison/design_comparison.py
index 858dfdf..d1b0ab7 100644
--- a/scripts/design_comparison/design_comparison.py
+++ b/scripts/design_comparison/design_comparison.py
@@ -317,29 +317,26 @@ def main_single():
     ax1 = fig.add_subplot(gs[0, 0])
     ax1.plot(t_trace, v_trace_samoyed)
     ax1.tick_params(direction='in', top=True, right=True)
-    ax1.set_title('Samoyed', fontname="Times New Roman")
-    ax1.set_xlabel('Time (s)', fontname="Times New Roman")
-    ax1.set_ylabel('Voltage (V)', fontname="Times New Roman")
+    ax1.xaxis.set_ticklabels([])
+    ax1.set_ylabel('Samoyed\nVoltage (V)', fontname="Times New Roman")
     ax1.set_xlim([0, 2])
-    ax1.set_ylim([1.5, 3])
+    ax1.set_ylim([1.7, 3])
 
     ax2 = fig.add_subplot(gs[1, 0])
     ax2.plot(t_trace, v_trace_debs_high)
     ax2.tick_params(direction='in', top=True, right=True)
-    ax2.set_title('DEBS High', fontname="Times New Roman")
-    ax2.set_xlabel('Time (s)', fontname="Times New Roman")
-    ax2.set_ylabel('Voltage (V)', fontname="Times New Roman")
+    ax2.xaxis.set_ticklabels([])
+    ax2.set_ylabel('DEBS High\nVoltage (V)', fontname="Times New Roman")
     ax2.set_xlim([0, 2])
-    ax2.set_ylim([1.5, 3])
+    ax2.set_ylim([1.7, 3])
 
     ax3 = fig.add_subplot(gs[2, 0])
     ax3.plot(t_trace, v_trace_repa)
     ax3.tick_params(direction='in', top=True, right=True)
-    ax3.set_title('Adaptive', fontname="Times New Roman")
     ax3.set_xlabel('Time (s)', fontname="Times New Roman")
-    ax3.set_ylabel('Voltage (V)', fontname="Times New Roman")
+    ax3.set_ylabel('OPTIC Oracle\nVoltage (V)', fontname="Times New Roman")
     ax3.set_xlim([0, 2])
-    ax3.set_ylim([1.5, 3])
+    ax3.set_ylim([1.7, 3])
 
     # plt.show()
     plt.savefig('voltage_traces.pdf') 
diff --git a/scripts/design_comparison/voltage_traces.pdf b/scripts/design_comparison/voltage_traces.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..89b0406993f912ca98ca8daf128f6bd0d2435b31
GIT binary patch
literal 31223
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
Y6_+Fym4J&ZV*>*NV=h%ySARDy0B{66-2eap

literal 0
HcmV?d00001

-- 
GitLab