코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
아두이노 gps 데이터 aes 암호화
겨울곰이야 | 2018-05-03
|
|
---|---|
1. 프로젝트 사용한 보드 종류 메가2560
2. 사용한 개발 프로그램명 아두이노 스케치
3. 사용한 센서 모델명 neo-06
4. 연결한 회로 설명 (또는 이미지) vcc-5v, gnd-gnd rx-17 tx-18
5. 소스코드 (주석 필수) #include <AES.h> #include "./printf.h"
AES aes ;
unsigned int keyLength [3] = {128, 192, 256}; // key length: 128b, 192b or 256b
byte *key = (unsigned char*)"01234567890123456789012345678901"; // encryption key byte plain[] = "http://www.arduinolab.net/aes-encryptiondecryption-using-arduino-uno/"; // plaintext to encrypt 평문
unsigned long long int myIv = 36753562; // CBC initialization vector; real iv = iv x2 ex: 01234567 = 0123456701234567
void setup () { Serial.begin (9600) ; //시리얼 Serial2.begin(9600); //gps모듈 printf_begin(); }
void loop () { for (int i=0; i < 3; i++) { Serial.print("- key length [b]: "); Serial.println(keyLength [i]); aesTest (keyLength[i]); delay(2000); } }
void aesTest (int bits) { aes.iv_inc();
byte iv [N_BLOCK] ; int plainPaddedLength = sizeof(plain) + (N_BLOCK - ((sizeof(plain)-1) % 16)); // length of padded plaintext [B] byte cipher [plainPaddedLength]; // ciphertext (encrypted plaintext) byte check [plainPaddedLength]; // decrypted plaintext
aes.set_IV(myIv); aes.get_IV(iv);
Serial.print("- encryption time [us]: "); unsigned long ms = micros (); aes.do_aes_encrypt(plain,sizeof(plain),cipher,key,bits,iv); Serial.println(micros() - ms);
aes.set_IV(myIv); aes.get_IV(iv);
Serial.print("- decryption time [us]: "); ms = micros (); aes.do_aes_decrypt(cipher,aes.get_size(),check,key,bits,iv); Serial.println(micros() - ms);
Serial.print("- plain: "); aes.printArray(plain,(bool)true); //print plain with no padding
Serial.print("- cipher: "); aes.printArray(cipher,(bool)false); //print cipher with padding
Serial.print("- check: "); aes.printArray(check,(bool)true); //print decrypted plain with no padding
Serial.print("- iv: "); aes.printArray(iv,16); //print iv printf("\n========================================\n");
}
6. 문제점 및 에러 내용 gps 실시간 데이터 값을 aes로 암호화 해서 시리얼 창에 띄우고 싶은데 어떻게 해야 할지 모르겠습니다. byte plain[] = "http://www.arduinolab.net/aes-encryptiondecryption-using-arduino-uno/" 이 부분을 gps 실시간 데이터 값으로 바꿔야 할꺼 같은데 어떻게 해야 할까요
|
|
이전글 | WiFi보드에 대한 질문 | 2018-05-03 |
다음글 | 아두이노 휨센서 측정값을 부저소리 나게 하고 싶어요!!... | 2018-05-04 |