Internship for development on Cryptographic Library
NXP SemiconductorsAbout the role
Internship - ARIA
Subject
ARIA implementation in C: the intern will have to propose a C implementation of the ARIA algorithm. The internship will be performed as part of the Security Architects for the Crypto-Library Team. Depending on the profile of the applicant, the way forward will either focus on optimization / protection of the implementation / comparison with other languages.
What is ARIA? Aria is a Korean block-cipher algorithm. The algorithm uses a substitution–permutation network structure based on AES. The interface is the same as AES: 128-bit block size with key size of 128, 192, or 256 bits. The number of rounds is 12, 14, or 16, depending on the key size. ARIA uses two 8×8-bit S-boxes and their inverses in alternate rounds; one of these is the Rijndael S-box.
The key schedule processes the key using a 3-round 256-bit Feistel cipher, with the binary expansion of 1/π as a source of "nothing up my sleeve numbers".
Tasks
Required
- Read and understand ARIA specifications and present a summary of it.
- Write a proof of concept (POC) in C.
- Integrate this POC in our framework.
Optional way to continue from this point:
- Adding protection against attacks
- Optimize implementation.
Practical details
The internship will take place in Toulouse, in NXP premises (134 Avenue du Général Eisenhower, 31100 Toulouse). Reach out to baudouin.duthoit_1@nxp.com if interested.
Required skills
Mandatory skills
- Block Cipher knowledge
- C language proficiency
- Fluent English
Optional skills
- Side-Channel Attacks knowledge – for protection against such attacks
- Fault Attack knowledge – for protection against such attacks
- Assembly (ARM, RISC V) – for implementation comparison
- Rust – for implementation comparison
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s