---
# System prepended metadata

title: Secure Platform of LaDS
tags: [Secure Platform]

---

---
title: 'Secure Platform of LaDS'
disqus: hackmd
---

Secure Platform of LaDS
===
![downloads](https://img.shields.io/github/downloads/atom/atom/total.svg)
![build](https://img.shields.io/appveyor/ci/:user/:repo.svg)
![chat](https://img.shields.io/discord/:serverId.svg)


## Table of Contents

[TOC]




## Each Cryptographic Modules of the Secure 
> **ECDSA SIGN**

| Name | I/O | Width |Description |
| :--------: | :--------: |:---:| :-------- |
|  Hash  | Input   | 256 |   Hash digest value of message to be signed   |
|  K  | Input     | 256 | A random key to sign the message, should kept different each time to be used   |
|  privateKey  | Input   | 256 |   Private Key to sign the message   |
|  Qx  | Output   | 256 |   X coordinate of point Q   |
|  Qy  | Output   | 256 |   Y coordinate of point Q   |
|  R  | Output    | 256 |   part of signing pair {r,s}  |
|  S  | Output    | 256 |   part of signing pair {r,s}   |
|  kValid |Output | 8   | return true if input parameters are legal, otherwise return false   |

> **ECDSA Verify**

| Name | I/O | Width |Description |
| :--------: | :--------: |:---:| :-------- |
|  Hash  | Input   | 256 |   Hash digest value of message to be verified   |
|  Qx    | Input   | 256 | X coordinate of point Q   |
|  Qy    | Input   | 256 | Y coordinate of point Q   |
|  R     | Input   | 256 |part of signing pair {r,s}   |
|  S     | Input   | 256 |part of signing pair {r,s}   |
|  ifValid| Output |   8 |   return true if verified, otherwise return false   |

> **SHA 256**

| Name | I/O | Width |Description |
| :--------: | :--------: |:---:| :-------- |
|  Data_in  | Input     |  32  |  Message to be hashed    |
|  Num_block  | Input   | 32  |  Message divided by 64 for each block e.g. 256bit message means that 256 / 64 = 4 blocks|
|  Digest  | Output     | 256 |  Hash value of the message(256bit)  |

> **AES**

| Name | I/O | Width |Description |
| :--------: | :--------: |:---:| :-------- |
|  Mode  | Input      | 32 |  Select the mode(RESET, ENCRYPT, DECRYPT, SET_IV, SET_KEY)|
|  Data_in  | Input   | 32 | Select the certain mode and give the specific datae.g. SET_IV (16 bytes), SET_KEY(256bits) |
|  Data_out  | Output | 256 |  Output data of the engine  |

## Sequence Diagram of each Functionality
>**Generate the 1st device key**
>
![](https://i.imgur.com/5L0paOJ.png)

>**Reproduce the device key**
>![](https://i.imgur.com/hVtdjr0.png)


> **Receive Session Key From Other Device**
> 
![](https://i.imgur.com/q7erVDi.png)

> **Encrypt The Plain Text with Session Key**
> 
![](https://i.imgur.com/rkv46Wx.png)

> **Decrypt The Plain Text with Session Key**
> 
![](https://i.imgur.com/tWOkqt4.png)

> **Build The Secure Communication Channel**
> 
![](https://i.imgur.com/f4yLCh6.png)




User story
---




```gherkin=
Feature: To be determinated
  Two vehicles want to communicate each other and sever

  Scenario: Sever sends the encrypted message or file to vehicle
    ...
```

> Read more about Gherkin here: https://docs.cucumber.io/gherkin/reference/


Project Timeline
---
* **6 weeks**
    - 1-2 week:
         DEMO discussion 
         SPEC.
         Documentation(Past & Future notes)
         SHA256 HW 
         FLASH
         Provisioning flow
    - 3-4 week:
        Secure communication channel between server and device
        Secure boot integration
        Policy of Session key
    - 5-6 week:
        Key management integration
        DEMO preparation

## Development Board
> Xilinx Zedboard 
*  Key Features and Benefits
    *  Zynq-7000 SoC XC7Z020-CLG484-1
    *  512 MB DDR3
    *  256 Mb Quad-SPI Flash
    *  4 GB SD card
    *  Onboard USB-JTAG Programming
    *  10/100/1000 Ethernet
    *  USB OTG 2.0 and USB-UART
    *  PS & PL I/O expansion (FMC, Pmod™, XADC)
    *  Multiple displays (1080p HDMI, 8-bit VGA, 128 x 32 OLED)
    *  I2S Audio CODEC
* Commercial Tool
    * Xilinx vivado High Level Synthesis (HLS)
    * Xilinx vivado Design Suite
    * Xilinx vivado Software Development Kit (SDK)







## Authors
**SHIH, WEN-WEI**  - r08943171@ntu.edu.tw - [Github](https://github.com/Wen-Wei0914/Research.git)
**KO, HSIEN-FENG** - r08943169@ntu.edu.tw
**CHIN, TIAN-TZU** - r08943183@ntu.edu.tw

## Appendix and FAQ

:::info
**Find this document incomplete?** Leave a comment!
:::

###### tags: `Secure Platform`


## Reference 
1. 

