• 제목/요약/키워드: ARMv8

검색결과 12건 처리시간 0.021초

ARMv8 상에서 LEA 암호화 고속 구현 (High Speed Implementation of LEA on ARMv8)

  • 서화정
    • 한국정보통신학회논문지
    • /
    • 제21권10호
    • /
    • pp.1929-1934
    • /
    • 2017
  • 경량 블록암호화 (Lightweight Encryption Algorithm, LEA)는 연산의 효율성과 높은 보안성으로 인해 가장 각광받고 있는 블록암호화 알고리듬이다. 해당 블록암호화는 실제 응용프로그램에서도 많이 사용되고 있으며 서비스 가용성을 높이기 위해 연산 성능을 개선하는 연구가 많이 진행되고 있다. 본 논문에서는 최신 ARMv8 프로세서 상에서 LEA 연산을 최적화하는 방안에 대해 제안한다. 구현은 새로운 SIMD 명령어 셋인 NEON을 통해 최적화되었으며 병렬화된 연산을 통해 동시에 24 번의 암호화 연산을 수행하도록 한다. 메모리 접근 횟수를 줄이기 위해 활용가능한 모든 NEON 레지스터에 중간 계산값을 할당하여 활용하였다. 해당 구현 결과는 속도 관점에서 평가되었으며 ARMv8 상에서 LEA 암호 구현은 Apple A7 그리고 Apple A9 프로세서 상에서 각각 2.4 cycles/byte 그리고 2.2 cycles/byte 안에 수행 가능함을 확인할 수 있었다.

ARMv8 환경에서 NIST LWC SPARKLE 효율적 구현 (Efficient Implementation of NIST LWC SPARKLE on 64-Bit ARMv8)

  • 신한범;김규상;이명훈;김인성;김선엽;권동근;김성겸;서석충;홍석희
    • 정보보호학회논문지
    • /
    • 제33권3호
    • /
    • pp.401-410
    • /
    • 2023
  • 본 논문에서는 NIST LWC 최종후보 중 하나인 SPARKLE을 64-비트 ARMv8 프로세서 상에서 최적화하는 방안에 대해 제안한다. 제안 방법은 두 가지로서 ARM A64 명령어를 이용한 구현과 NEON ASIMD 명령어를 이용한 구현이다. A64 기반 제안구현은 ARMv8 상에서 가용한 레지스터를 효율적으로 사용할 수 있도록 레지스터 스케줄링을 수행하여 최적화한다. 최적화된 A64 기반 제안구현을 활용할 경우 Raspberry Pi 4B에서 C언어 참조구현보다 1.69~1.81배 빠른 속도를 얻을 수 있다. 두 번째로, ASIMD 기반 제안구현은 하나의 벡터명령어를 통해 3개 이상의 ARX-box를 병렬적으로 수행하도록 데이터를 병렬적으로 구성하여 최적화한다. 최적화된 ASIMD 기반 제안구현은 A64 기반 제안구현보다 일반적인 속도는 떨어지지만, SPARKLE256에서 SPARKLE512로 블록 크기가 증가할 때 A64 기반 제안구현에서는 속도가 2.1배 느려지는 것에 비해 ASIMD 기반제안구현에서는1.2배밖에 느려지지 않다는 장점이 있다. 따라서 기존 SPARKLE보다 더 큰 블록 크기를 갖는 SPARKLE 변형 블록 암호 또는 순열 설계 시 ASIMD 기반 제안구현이 더 효율적이므로 유용한 자료로써 활용 가능하다.

ARMv8상에서의 SKINNY Tweakable 블록암호 최적화 구현 (Optimization of SKINNY Tweakable Block Cipher on ARMv8)

  • 엄시우;송경주;강예준;김원웅;서화정
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2022년도 춘계학술발표대회
    • /
    • pp.169-172
    • /
    • 2022
  • 2015년부터 NIST에서는 경량 암호 공모전을 개최하여 저사양 기기에서 활용할 경량 암호 알고리즘을 개발해오고 있다. 본 논문에서는 경량 암호 공모전에서 발표된 Romulus 암호에 활용되는 Tweakey 프레임워크로 설계된 Tweakable 블록암호 Skinny의 최적화 구현을 최신 프로세서 중 하나인 Apple M1 프로세서 상에서 진행하였다. M1 프로세서는 ARMv8 아키텍처로 설계되었으며, ARMv8 벡터 명령어 중 TBL 명령어를 활용한 라운드 함수의 효율적인 구현으로 최적화를 진행하였다. Skinny 블록암호의 블록 길이 128-bit 구현을 진행하였으며, 해당 프로세서에서 구현된 skinny 구현 연구가 없기 때문에 Referenc C코드와 비교를 진행하였다. 성능 측정 결과 128-bit 키 길이에서는 약 19배의 성능 향상을 확인하였으며, 키 길이 384-bit에서는 약 32배의 높은 성능 향상을 확인할 수 있다.

ARMv8 상에서의 블록 암호 최적 구현 동향 (Block Cipher Optimal Implementation Trendon ARMv8)

  • 심민주;권혁동;김현준;서화정
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2022년도 춘계학술발표대회
    • /
    • pp.191-194
    • /
    • 2022
  • 이동통신 산업이 급속도로 발전됨과 동시에 사물인터넷도 빠르게 발전하고 있다. 사물인터넷의 성능이 향상되면서 무선 네트워크에 포함된 많은 데이터를 포함하고 있는 사물인터넷이 증가하였다. 사물인터넷에 사용되는 저사양 프로세서들은 일반 컴퓨터에 비해 제한적이다. 그러므로, 사물인터넷에서 효율적으로 동작되는 암호 알고리즘에 대한 연구는 필수적이다. 따라서, 본 논문에서는 많은 분야에서 널리 사용되고 있는 마이크로 컨트롤러인 ARMv8 프로세서 상에서의 블록 암호 최적 구현에 대한 연구 동향에 대해 알아본다.

64-bit ARMv8 프로세서 상에서의 KpqC 후보 알고리즘 SMAUG의 고속 구현 (High-speed Implementation of KpqC candidate algorithm SMAUG on 64-bit ARMv8 processor)

  • 권혁동;송경주;심민주;이민우;서화정
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2023년도 춘계학술발표대회
    • /
    • pp.113-115
    • /
    • 2023
  • SMAUG는 2023년 한국형 양자내성암호 표준화 공모전인 KpqC의 공개키 부문의 1차 후보로 당선된 양자내성암호 알고리즘이다. SMAUG는 MLWE와 MLWR을 사용한 격자 기반 알고리즘으로, 비슷한 문제를 사용하는 CRYSTALS-Kyber에 비해 키 크기가 작다는 장점이 존재한다. 본 논문에서는 SMAUG를 ARMv8 프로세서 상에서 구현하였다. 곱셈 연산의 가장 최하위 모듈을 병렬 구현하여 연산 속도를 빠르게 하는데 집중하였다. 구현 결과 곱셈 알고리즘은 최대 24.62배, 암호 연산에 적용할 경우 최대 3.51배 성능 향상이 있었다.

안드로이드 기반 임베디드 플랫폼 설계 (Design of Embedded Platform based on Android)

  • 윤찬;김광준;장창수
    • 한국전자통신학회논문지
    • /
    • 제8권10호
    • /
    • pp.1545-1552
    • /
    • 2013
  • 본 논문은 안드로이드를 지원하는 ARM A8-cortex 프로세서를 기반으로 임베디드 플랫폼을 구현하였다. S5PV210의 삼성 CPU를 사용함으로서 32Bit RISC 마이크로컨트롤러(ARMv7) 구조에 적합하고, 주변기기에 호환가능하며, 응용에 확장 가능하도록 설계하였다. 또한 개발한 임베디드 플랫폼은 여러 가지 기능과 높은 효율성을 제공할 뿐만 아니라, 비교적 낮은 단가와, 낮은 전력사용, 높은 성능을 제공할 수 있다.

ARMv7 구조를 위한 가상 머신 모니터 구현 (Implementation of a Virtual Machine Monitor for ARMv7 Architecture)

  • 오승재;신동하
    • 대한임베디드공학회논문지
    • /
    • 제8권3호
    • /
    • pp.145-153
    • /
    • 2013
  • Virtualization technology has been applied in IA-32 based server or desktop systems. Recently it has been applied in ARM based mobile systems. Virtualization technology provides many useful features that are not possible in operating system level such as isolation, interposition, encapsulation and portability. In this research, we implement an ARM based VMM(Virtual Machine Monitor) by using the following techniques. First, we use "emulation" to virtualize the processor. Second, we use "shadow page tables" to virtualize the memory. Finally, we use a simple "pass-through I/O" to virtualize the device. Currently the VMM runs ARM Linux kernel 3.4.4 on a BeagleBoard-xM, and we evaluated the performance of the VMM using lmbench and dhrystone. The result of the evaluation shows that our VMM is slower than Xen on ARM that is implemented using paravirtualization but has good performance among the VMMs using full-virtualization.

ARM/NEON 프로세서를 활용한 NIST PQC SABER에서 Toom-Cook 알고리즘 최적화 구현 연구 (Optimization Study of Toom-Cook Algorithm in NIST PQC SABER Utilizing ARM/NEON Processor)

  • 송진교;김영범;서석충
    • 정보보호학회논문지
    • /
    • 제31권3호
    • /
    • pp.463-471
    • /
    • 2021
  • NIST(National Institute of Standards and Technology)에서는 2016년부터 양자컴퓨팅 환경을 대비하여 양자내성암호 표준화 사업을 진행하고 있다. 현재 3라운드가 진행 중이며, 대부분 후보자(5/7)는 격자기반 암호이다. 격자기반 암호는 효율적인 연산 처리와 적절한 키 길이를 제공하여 다른 기반의 양자내성 암호보다 리소스가 제한적인 임베디드 환경에서도 적용이 가능하다는 평가를 받고 있다. 그중 SABER KEM은 효율적인 모듈러스와 연산 부하가 큰 다항식 곱셈을 처리하기 위해 Toom-Cook 알고리즘을 제공한다. 본 논문에서는 ARMv8-A 환경에서 ARM/NEON을 활용하여 SABER의 Toom-Cook 알고리즘에서 평가와 보간 과정에 대한 최적화 구현 방법을 소개한다. 평가과정에서는 ARM/NEON의 효율적인 인터리빙 방법을 제안하며, 보간 과정에 서는 다양한 임베디드 환경에서 적용 가능한 최적화된 구현 방법론을 소개한다. 결과적으로 제안하는 구현은 이전 레퍼런스 구현보다 평가과정에서는 약 3.5배 보간과정에서는 약 5배 빠른 성능을 달성하였다.

제목을스마트 시설환경 실시간 제어를 위한 마이크로 병렬 컴퓨팅 기술 분석 (A Benchmark of Micro Parallel Computing Technology for Real-time Control in Smart Farm (MPICH vs OpenMP))

  • 민재기;이동훈
    • 한국농업기계학회:학술대회논문집
    • /
    • 한국농업기계학회 2017년도 춘계공동학술대회
    • /
    • pp.161-161
    • /
    • 2017
  • 스마트 시설환경의 제어 요소는 난방기, 창 개폐, 수분/양액 밸브 개폐, 환풍기, 제습기 등 직접적으로 시설환경의 조절에 관여하는 인자와 정보 교환을 위한 통신, 사용자 인터페이스 등 간접적으로 제어에 관련된 요소들이 복합적으로 존재한다. PID 제어와 같이 하는 수학적 논리를 바탕으로 한 제어와 전문 관리자의 지식을 기반으로 한 비선형 학습 모델에 의한 제어 등이 공존할 수 있다. 이러한 다양한 요소들을 복합적으로 연동시키기 위해선 기존의 시퀀스 기반 제어 방식에는 한계가 있을 수 있다. 관행의 방식과 같이 시계열 상에서 획득한 충분한 데이터를 이용하여 제어의 양과 시점을 결정하는 방식은 예외 상황에 충분히 대처하기 어려운 단점이 있을 수 있다. 이러한 예외 상황은 자연적인 조건의 변화에 따라 불가피하게 발생하는 경우와 시스템의 오류에 기인하는 경우로 나뉠 수 있다. 본 연구에서는 실시간으로 변하는 시설환경 내의 다양한 환경요소를 실시간으로 분석하고 상응하는 제어를 수행하여 수학적이며 예측 가능한 논리에 의해 준비된 제어시스템을 보완할 방법을 연구하였다. 과거의 고성능 컴퓨팅(HPC; High Performance Computing)은 다수의 컴퓨터를 고속 네트워크로 연동하여 집적적으로 연산능력을 향상시킨 기술로 비용과 규모의 측면에서 많은 투자를 필요로 하는 첨단 고급 기술이었다. 핸드폰과 모바일 장비의 발달로 인해 소형 마이크로프로세서가 발달하여 근래 2 Ghz의 클럭 속도에 이르는 어플리케이션 프로세서(AP: Application Processor)가 등장하기도 하였다. 상대적으로 낮은 성능에도 불구하고 저전력 소모와 플랫폼의 소형화를 장점으로 한 AP를 시설환경의 실시간 제어에 응용하기 위한 방안을 연구하였다. CPU의 클럭, 메모리의 양, 코어의 수량을 다음과 같이 달리한 3가지 시스템을 비교하여 AP를 이용한 마이크로 클러스터링 기술의 성능을 비교하였다.1) 1.5 Ghz, 8 Processors, 32 Cores, 1GByte/Processor, 32Bit Linux(ARMv71). 2) 2.0 Ghz, 4 Processors, 32 Cores, 2GByte/Processor, 32Bit Linux(ARMv71). 3) 1.5 Ghz, 8 Processors, 32 Cores, 2GByte/Processor, 64Bit Linux(Arch64). 병렬 컴퓨팅을 위한 개발 라이브러리로 MPICH(www.mpich.org)와 Open-MP(www.openmp.org)를 이용하였다. 2,500,000,000에 이르는 정수 중 소수를 구하는 연산에 소요된 시간은 1)17초, 2)13초, 3)3초 이었으며, $12800{\times}12800$ 크기의 행렬에 대한 2차원 FFT 연산 소요시간은 각각 1)10초, 2)8초, 3)2초 이었다. 3번 경우는 클럭속도가 3Gh에 이르는 상용 데스크탑의 연산 속도보다 빠르다고 평가할 수 있다. 라이브러리의 따른 결과는 근사적으로 동일하였다. 선행 연구에서 획득한 3차원 계측 데이터를 1초 단위로 3차원 선형 보간법을 수행한 경우 코어의 수를 4개 이하로 한 경우 근소한 차이로 동일한 결과를 보였으나, 코어의 수를 8개 이상으로 한 경우 앞선 결과와 유사한 경향을 보였다. 현장 보급 가능성, 구축비용 및 전력 소모 등을 종합적으로 고려한 AP 활용 마이크로 클러스터링 기술을 지속적으로 연구할 것이다.

  • PDF