Our Wi-Fi firmware and software team is looking for a very smart, innovative and knowledgeable software engineer with experience in security, encryption and authentication to join our team. This engineer will develop networking protocols and features, architectural updates, and software tools, with an emphasis on cryptographic and authentication technologies.
The primary programming language experience is C/C++ and the secondary is Python. Additional important knowledge includes TCP/IP network protocol stacks, computer security, and public key cryptography, cryptographic hashing and authentication protocols.
- Develop embedded C firmware features for our 802.11 Wi-Fi mobility portfolio, especially related to security
- Develop and enhance authentication protocols for infrastructure and peer to peer Wi-Fi protocols, e.g., WPA2, WPA3, PASN, and sub-protocols of these suites.
- Serve as an expert in Wi-Fi cryptographic algorithms such as AES for product development, customer support and certifications such as NIST CAVP.
- Implement and enhance hashing and cryptographic algorithms such as SHA-1, SHA-256, Elliptic Curve for security features our Wi-Fi products
- In case product vulnerability reports are received from internal or external sources, assist with the analysis of the reports, and if appropriate, remediation feature development.
- Understand the software architecture requirements around modularity, componentization, versioning, C interfaces and build flow so you can implement architectural improvements
- Develop and enhance security related tools such as those used for generation of keys, validation of keys, etc.
- Work with the VLSI and software team on requirements, design and implementation of new security-related features
- PhD Computer Science, Maters in Computer Science + 2-3 years’ experience, or Bachelor’s in Computer Science + 5-7 years’ experience is preferred. Computer Science and a software technology focus is welcome. Outstanding educational background from a challenging institution is welcome
- Must understand modern cryptographic, authentication, secure hashing, public key and elliptic curve algorithms.
- Must be a proficient C systems programmer, with experience in the GNU gcc tool chain and Makefile systems.
- Python or perl familiarity for working in our python and perl software engineering tools
- Understanding of encapsulation and interfaces, object-based programming, modularity and principles of loose coupling in software development
- Linux systems knowledge including the filesystem, processes and threads, performance monitoring.
- Familiar with low level firmware and ARM CPUs including cycle and memory efficiency
- Successful track record of working in a Linux or MacOS Make-based software build system, fully utilizing multiprocessor servers and parallel build targets.
- Knowledge of cryptographic algorithms such as AES, SHA256
- Authentication protocols such as Public Key crypto, Diffie Hellman, RSA, X509 certificates
- Elliptic curve cryptography algorithms (e.g., ECDSA)
- Wi-Fi Security including WPA3
- Software vulnerability assessment including exploitation of buffer overrun vulnerabilities, heap
overruns, stack overruns, remote code execution exploitation
- Software vulnerability defensive features including data execution prevention, stack canaries,
ASLR, guard pages
- Prior knowledge of working with ‘Google Android’ based CM/build tools & utilities is desirable
- Experience in Wireless or telecom industry is highly desirable
Location: San Jose, CA
Submit resume to osijobs@OSIengineering.com