반응형

전체 글 799

RC4(Rivest Cipher 4) 대칭키 암호화 알고리즘

RC4(Rivest Cipher 4) 대칭키 암호화 알고리즘안녕하세요, '소프트웨어 공장'에 오신 것을 환영합니다. 오늘은 대칭키 암호화 알고리즘 중에서도 대표적인 스트림 암호 방식인 RC4에 대해 알아보겠습니다. RC4는 속도와 구현의 간단함 때문에 한때 매우 널리 사용되었으며, 여전히 많은 응용 분야에서 활용되고 있습니다. 이 포스팅에서는 RC4의 개념을 살펴보고, JAVA와 Linux C 언어로 구현하는 방법을 설명하겠습니다.RC4 개요RC4(Rivest Cipher 4)는 로널드 리베스트가 1987년에 설계한 스트림 암호화 알고리즘입니다. RC4는 속도가 빠르고 구현이 간단하다는 특징이 있어 과거 SSL/TLS와 같은 많은 프로토콜에서 사용되었습니다. 하지만 보안상 여러 취약점이 발견되면서 현재는..

ESP32 IDF OTA 펌웨어 업데이트

ESP32 IDF OTA 펌웨어 업데이트안녕하세요, '소프트웨어 공장'에 오신 것을 환영합니다. 오늘은 ESP32에서 "OTA"에 대해 알아보고, OTA 펌웨어 업데이트를 어떻게 사용하는지 설명드리려고 합니다. OTA는 특히 IoT 장치에서 유용하며, Wi-Fi를 통해 쉽게 펌웨어를 업데이트할 수 있는 기능입니다. 이 글에서는 ESP32 개발 환경에서 Wi-Fi를 이용한 OTA 펌웨어 업데이트 방법에 대해 설명하고, 실습할 수 있는 예제를 제공하겠습니다.OTA란 무엇인가?OTA는 "Over-The-Air"의 약자로, 네트워크를 통해 장치의 펌웨어를 업데이트하는 방법을 의미합니다. 기존의 펌웨어 업데이트 방법은 보통 물리적인 케이블을 이용해 연결한 뒤 컴퓨터에서 수동으로 업데이트를 진행해야 했습니다. 그러..

ESP32 IDF 2024.11.16

Android - Service

Android - Service안드로이드 애플리케이션 개발에서 Service는 백그라운드에서 작업을 실행하기 위해 사용됩니다. 화면에 UI를 보여주지 않고도 애플리케이션이 오래 실행되어야 하는 경우에 유용합니다. 예를 들어 음악 재생, 위치 추적, 파일 다운로드 등 다양한 백그라운드 작업을 처리할 때 Service를 사용할 수 있습니다.이번 포스팅에서는 Android Service에 대해 간단히 설명하고, 직접 구현해보는 예제를 통해 실습해보도록 하겠습니다. 예제는 Kotlin을 사용하여 작성되었습니다.Service란 무엇인가요?Service는 백그라운드에서 오랜 시간 실행되어야 하는 작업을 처리하기 위한 컴포넌트입니다. Activity와 달리 UI를 제공하지 않으며, 백그라운드에서 동작하게 됩니다. 크..

Android/Application 2024.11.16

AES(Advanced Encryption Standard) 대칭키 암호화 알고리즘

AES(Advanced Encryption Standard) 대칭키 암호화 알고리즘대칭키 암호화는 데이터를 암호화하고 해독할 때 같은 키를 사용하는 암호화 방식입니다. 대칭키 암호화의 대표적인 알고리즘 중 하나가 바로 AES(Advanced Encryption Standard)입니다. AES는 현재 많은 분야에서 표준으로 사용되고 있으며, 강력한 보안성을 자랑합니다. 오늘은 AES의 개념부터 JAVA와 Linux C 언어로 구현하는 방법까지 알아보겠습니다.AES란 무엇인가?AES는 미국 국립 표준 기술 연구소(NIST)에서 개발한 고급 암호화 표준으로, 데이터 보안을 위해 대칭키 암호화를 수행하는 알고리즘입니다. 원래 DES(Data Encryption Standard)의 뒤를 이어 보안성을 강화하기 위..

Android - Activity

Android - Activity안드로이드 애플리케이션을 개발하다 보면 가장 먼저 마주하게 되는 것이 Activity입니다. Activity는 안드로이드에서 화면을 구성하고 사용자와 상호작용하는 가장 기본적인 컴포넌트입니다. 오늘 포스팅에서는 Activity가 무엇인지, 어떻게 활용할 수 있는지 알아보고, 간단한 예제 코드를 통해 Activity를 직접 구현해 보겠습니다.Activity란 무엇인가?Activity는 안드로이드 애플리케이션에서 사용자와 상호작용하는 화면을 담당합니다. 애플리케이션에서 여러 개의 화면을 가질 수 있는데, 각각의 화면이 Activity에 해당합니다. 각 Activity는 애플리케이션의 한 화면을 구성하고, 사용자가 화면을 이동하거나 새로운 기능을 사용할 때마다 새로운 Activ..

Android/Application 2024.11.15

ESP32 IDF 파일 시스템 - SPIFFS, FATFS

ESP32 IDF 파일 시스템 - SPIFFS, FATFS안녕하세요, '소프트웨어 공장' 블로그에 오신 것을 환영합니다! 오늘은 ESP32에서 파일 시스템을 활용하는 방법에 대해 다뤄보겠습니다. 특히, SPIFFS를 설정하고 사용하는 방법, 그리고 FATFS를 통해 SD 카드를 관리하는 방법에 대해 설명해드리겠습니다. 모든 작업은 VS Code 개발 환경을 기준으로 진행됩니다.ESP32 파일 시스템의 필요성임베디드 시스템에서 데이터를 저장하고 불러오는 기능은 매우 중요합니다. ESP32와 같은 마이크로컨트롤러 환경에서는 파일 시스템을 통해 비휘발성 저장소에 데이터를 안전하게 저장할 수 있으며, 이를 통해 시스템의 유연성과 데이터 보존성을 높일 수 있습니다. ESP32에서는 내부 플래시 메모리와 외부 SD..

ESP32 IDF 2024.11.15

3DES(Triple DES) 대칭키 암호화 알고리즘

3DES(Triple DES) 대칭키 암호화 알고리즘안녕하세요, 오늘은 대칭키 암호화 알고리즘 중 하나인 3DES (Triple Data Encryption Standard)에 대해 알아보겠습니다. 대칭키 암호화는 하나의 키를 이용해 데이터를 암호화하고 복호화하는 방식인데, 그 중에서도 3DES는 기존 DES의 보안성 문제를 해결하기 위해 개발된 알고리즘입니다. 이 글에서는 3DES의 동작 방식, 장단점, 그리고 Java와 Linux C로 구현한 예제를 소개하겠습니다.1. 3DES란?3DES(Triple DES)는 기존 DES(Data Encryption Standard) 알고리즘을 3번 반복하여 암호화하는 방식입니다. DES는 56비트의 키를 사용해 데이터를 블록 단위로 암호화하는 알고리즘이지만, 키 ..

Android - 인텐트(Intent), 브로드캐스트(Broadcast)

Android - 인텐트(Intent), 브로드캐스트(Broadcast)안녕하세요! 오늘은 안드로이드 개발에서 중요한 개념 중 하나인 인텐트(Intent)와 브로드캐스트(Broadcast)에 대해 알아보려고 합니다. 인텐트와 브로드캐스트는 안드로이드 앱 구성 요소 간의 상호 작용을 가능하게 해주며, 앱 내에서 또는 앱 간에 데이터를 주고받을 수 있게 도와줍니다.1. 인텐트(Intent)란?인텐트(Intent)는 두 가지 주요 기능을 담당합니다:액티비티 간의 전환: 화면 전환을 위해 사용됩니다.서비스 실행: 백그라운드에서 수행할 작업을 요청할 때 사용됩니다.인텐트는 명시적 인텐트(Explicit Intent)와 암시적 인텐트(Implicit Intent)로 나눌 수 있습니다.명시적 인텐트: 특정 컴포넌트를..

Android/Application 2024.11.14

ESP32 IDF Sleep

ESP32 저전력 모드 : Light Sleep Deep Sleep안녕하세요, '소프트웨어 공장'에 오신 것을 환영합니다. 오늘은 ESP32의 저전력 모드에 대해 다루어보겠습니다. 특히 ESP32에서 제공하는 두 가지 저전력 모드인 Light Sleep과 Deep Sleep에 대해 설명하고, Deep Sleep 모드를 설정하는 방법과 타이머를 이용해 웨이크업하는 방법을 다뤄보겠습니다. 이를 통해 배터리 효율성을 최대한 높이는 방법도 함께 알아보겠습니다.1. ESP32의 저전력 모드ESP32는 다양한 저전력 모드를 제공하며, 이 중에서도 주요한 모드는 Light Sleep과 Deep Sleep입니다. 이 모드들은 배터리로 동작하는 IoT 장치에서 전력 소모를 크게 줄여줄 수 있는 강력한 도구입니다.1.1 ..

ESP32 IDF 2024.11.14

DES (Data Encryption Standard) 대칭키 암호화 알고리즘

DES (Data Encryption Standard) 대칭키 암호화 알고리즘안녕하세요, '소프트웨어 공장'입니다. 오늘은 대칭키 암호화 알고리즘 중 하나인 DES(Data Encryption Standard)에 대해 알아보겠습니다. DES는 데이터 보호를 위해 널리 사용되었던 암호화 알고리즘으로, 1970년대 후반에 미국 정부 표준으로 지정되었습니다. 이제 DES의 작동 원리와 특징, 그리고 JAVA와 Linux C 언어로 구현하는 방법에 대해 살펴보겠습니다.DES란 무엇인가?DES(Data Encryption Standard)는 IBM에서 개발하고 1977년 미국 국가 표준으로 지정된 블록 암호화 알고리즘입니다. DES는 데이터를 64비트 블록으로 나누어 암호화하며, 56비트의 비밀키를 사용합니다. ..

반응형