반응형

전체 글 823

C 표준 API 프로그램 종료 및 반환값 (atexit, quick_exit)

C 표준 API 프로그램 종료 및 반환값 (atexit, quick_exit)C 언어에서 프로그램이 종료될 때 실행해야 할 정리 작업이 있다면, atexit 또는 quick_exit을 사용할 수 있습니다.이 글에서는 atexit과 quick_exit의 차이점을 살펴보고, 각각을 활용하는 방법을 예제 코드와 함께 설명하겠습니다.1. atexit 함수개요atexit 함수는 프로그램이 exit 함수를 호출하여 정상적으로 종료될 때 실행할 콜백 함수를 등록하는 기능을 제공합니다.이를 활용하면 프로그램 종료 전에 반드시 수행해야 하는 작업(예: 파일 닫기, 메모리 해제, 로그 기록 등)을 등록할 수 있습니다.함수 원형#include int atexit(void (*func)(void));func : 프로그램 종료..

CAN 컨트롤러(MCP2515) 사용 방법 [ ESP32 IDF ]

CAN 컨트롤러(MCP2515) 사용 방법 ( ESP32 IDF )1. 개요ESP32에는 내부 CAN 컨트롤러(TWAI)가 있지만, 일부 프로젝트에서는 외부 CAN 컨트롤러를 사용해야 할 수도 있습니다. 대표적인 외부 CAN 컨트롤러로는 MCP2515가 있으며, SPI 인터페이스를 통해 ESP32와 연결하여 사용할 수 있습니다.이 글에서는 ESP32 IDF(ESP-IDF) 환경에서 MCP2515를 사용하여 CAN 통신을 설정하는 방법을 자세히 설명합니다.2. MCP2515 SPI 인터페이스 설정MCP2515는 SPI(Serial Peripheral Interface) 프로토콜을 통해 마이크로컨트롤러와 통신합니다. SPI는 빠른 데이터 전송 속도를 제공하며, MCP2515를 제어하는 데 필수적인 요소입니다..

CAN/CAN 기초 2025.02.26

ADB를 활용한 GPS 및 위치 서비스 조작

ADB를 활용한 GPS 및 위치 서비스 조작Android 디바이스에서 ADB(Android Debug Bridge)를 활용하면 GPS 및 위치 서비스를 조작할 수 있습니다. 개발 및 테스트 환경에서 특정 위치를 설정하거나, GPS 기능을 활성화 및 비활성화하는 작업이 필요할 때 유용하게 사용할 수 있습니다. 이 글에서는 ADB 명령어를 사용하여 GPS 및 위치 서비스를 조작하는 방법을 설명하겠습니다.1. ADB를 활용한 GPS 활성화 및 비활성화1.1 GPS 활성화ADB를 사용하여 GPS를 활성화하려면 아래 명령어를 실행하면 됩니다.adb shell settings put secure location_providers_allowed +gps이 명령어는 settings 명령을 이용하여 secure 영역에서..

Android/ADB 2025.02.26

HMAC을 이용한 메시지 인증 방법

HMAC을 이용한 메시지 인증 방법안녕하세요, 소프트웨어 공장입니다. 이번 포스팅에서는 STM32F429의 암호화 모듈을 활용하여 HMAC(Hash-based Message Authentication Code)을 이용한 메시지 인증 방법에 대해 알아보겠습니다.HMAC은 메시지와 비밀 키를 사용해 해시 값을 생성함으로써 데이터의 무결성을 검증하고, 데이터가 중간에 변조되지 않았음을 확인할 수 있는 방법입니다. 이는 SHA-1, SHA-256 등과 함께 사용되며, 인증과 무결성 보장에 널리 활용됩니다.이번 포스팅에서는 다음과 같은 내용을 다룰 예정입니다.HMAC의 개요 및 원리STM32F429에서 HMAC 구현 방법STM32CubeIDE를 이용한 프로젝트 설정예제 코드 작성 및 테스트그럼, 하나씩 살펴보도록..

STM32 2025.02.25

STM32F429 해시 생성과 검증 방법

STM32F429 해시 생성과 검증 방법1. 서론STM32F429 시리즈는 ARM Cortex-M4 코어를 기반으로 한 고성능 마이크로컨트롤러로, 다양한 임베디드 시스템과 IoT 장치에서 널리 사용되고 있습니다. 특히 이 시리즈는 하드웨어 암호화 모듈을 내장하고 있어, 데이터 무결성 검증과 보안 기능을 손쉽게 구현할 수 있습니다.이번 포스팅에서는 STM32F429의 해시 생성과 검증 방법에 대해 다룹니다. 주로 SHA-1과 SHA-256 알고리즘을 이용하여 데이터를 해싱하고, 이를 검증하는 방법을 설명하겠습니다. 이는 데이터의 변조 여부를 확인하는 데 필수적인 기능으로, 특히 통신 중 데이터 무결성을 보장하거나 펌웨어 무결성을 검사하는 과정에서 유용하게 활용될 수 있습니다.2. 해시(Hash) 알고리즘 ..

STM32 2025.02.25

AES와 DES, Triple DES의 차이점과 성능 비교

AES와 DES, Triple DES의 차이점과 성능 비교STM32F429를 활용한 임베디드 시스템에서 데이터 보안을 위해 암호화는 필수적인 요소입니다. 특히, DES, Triple DES, AES는 가장 널리 사용되는 대칭 키 암호화 방식입니다. 이번 포스팅에서는 이 세 가지 암호화 방식의 원리, 차이점, 그리고 성능 비교에 대해 살펴보겠습니다.1. 대칭 키 암호화란?대칭 키 암호화는 암호화와 복호화에 동일한 키를 사용하는 방식입니다. 송신자와 수신자가 같은 비밀 키를 공유해야만 데이터를 안전하게 주고받을 수 있습니다. DES, Triple DES, AES는 모두 대칭 키 알고리즘에 속하며, 암호화와 복호화 속도가 빠른 장점이 있습니다.2. DES (Data Encryption Standard)2.1 ..

STM32 2025.02.25

DES와 3DES로 데이터 보호

DES와 3DES로 데이터 보호1. 개요STM32F429 마이크로컨트롤러는 강력한 보안 기능을 제공하는 하드웨어 암호화 모듈을 내장하고 있습니다. 그중에서도 DES(Data Encryption Standard)와 3DES(Triple DES)는 데이터의 기밀성을 보호하는 데 사용되는 대표적인 블록 암호화 방식입니다. 본 포스팅에서는 STM32F429의 하드웨어 암호화 모듈을 이용해 DES와 3DES를 구현하고 데이터를 보호하는 방법을 자세히 설명하겠습니다.2. DES와 3DES 개요2.1 DES (Data Encryption Standard)DES는 1977년 미국 표준으로 채택된 대칭형 블록 암호 알고리즘으로, 64비트 블록을 단위로 데이터를 암호화하고 56비트의 키를 사용합니다. 이 알고리즘은 간단하..

STM32 2025.02.25

STM32F429 AES 암호화 모듈 사용법

STM32F429 AES 암호화 모듈 사용법개요이 글에서는 STM32F429의 AES 하드웨어 가속기를 이용해 데이터 암호화와 복호화를 수행하는 방법을 설명합니다. 특히 AES-128, AES-192, AES-256 비트 키 길이를 기반으로 ECB, CBC, CTR 모드에서의 실습을 진행하고, 문자열과 파일을 AES-256으로 암호화하는 방법을 예제로 다룹니다.STM32CubeIDE와 HAL 라이브러리를 활용하여 구현하며, 각 모드별 차이와 주의사항을 설명합니다.1. AES 개요AES(Advanced Encryption Standard)는 대칭 키 기반의 블록 암호화 알고리즘으로, 주로 128비트 블록과 128/192/256비트 키를 사용합니다. AES는 보안성과 성능을 고려해 다양한 운영 모드(ECB,..

STM32 2025.02.25

STM32F429 암호화 모듈: AES, DES, SHA와 같은 지원 알고리즘 설명

STM32F429 암호화 모듈: AES, DES, SHA와 같은 지원 알고리즘 설명1. 개요STM32F429 마이크로컨트롤러는 보안성을 강화하기 위해 하드웨어 암호화 모듈(CRYP)을 내장하고 있습니다. 이 모듈은 다양한 암호화 및 해시 알고리즘을 하드웨어 수준에서 처리하여, 소프트웨어 방식보다 빠르고 안전하게 데이터를 보호할 수 있도록 설계되었습니다. 이번 포스팅에서는 STM32F429가 지원하는 대표적인 알고리즘인 AES, DES, 그리고 SHA에 대해 상세히 설명하겠습니다.2. AES (Advanced Encryption Standard)2.1 AES 개요AES(Advanced Encryption Standard)는 미국 국립 표준 기술 연구소(NIST)에서 고안한 대칭 키 암호화 알고리즘으로, 현..

STM32 2025.02.25

STM32 하드웨어와 소프트웨어 암호화의 차이

STM32 하드웨어와 소프트웨어 암호화의 차이암호화는 데이터의 기밀성을 보호하고 무결성을 유지하는 데 필수적인 기술입니다. STM32F429와 같은 임베디드 시스템에서도 안전한 통신과 데이터 보호를 위해 암호화는 중요한 역할을 합니다. 암호화 방법은 크게 하드웨어 기반과 소프트웨어 기반으로 나뉘며, 각 방식은 성능, 보안성, 구현의 용이성에서 차이를 보입니다.이번 포스팅에서는 하드웨어와 소프트웨어 암호화의 차이를 상세히 분석하고, STM32F429에서 제공하는 하드웨어 암호화 모듈의 이점과 제한점을 살펴보겠습니다.1. 암호화의 기본 개념암호화(encryption)는 데이터를 특정 알고리즘과 키를 사용해 무의미한 형태로 변환하는 과정입니다. 이렇게 변환된 데이터는 적절한 키 없이 복호화(decryption..

STM32 2025.02.25
반응형