Ivica Nikolić

School of Computing,
COM2 B1-02, 
15 Computing Drive, 
Singapore 117418 

inikolic (at) nus (dot) edu (dot) sg

Google Scholar
I am a postdoc at National University of Singapore (NUS) and a member of Prateek Saxena's group. 
I work on projects related to blockchain security. I have done a lot of research in symmetric-key cryptography. 
My list of publications can be found here.

Research interests
  • Decentralised cryptocurrencies, blockchain, and smart contracts. In particular, security analysis of Ethereum smart contracts against various types of vulnerabilities by automatic tools. In general, security evaluation of cryptocurrencies and optimization of algorithms that power blockchains.
  • Ad hoc design and security evaluation (cryptanalysis) of all types of (lightweight) symmetric-key primitives, including block and stream ciphers, cryptographic hash functions, authenticated encryption schemes, and message authentication codes. Invention of new security exploits and expansion of the area of application of currently known cryptanalytical techniques.
  • Computer tools for automatic analysis of weaknesses and strengths of symmetric-key algorithms based on known concepts from computer science, i.e. A* search algorithms, MILP, SAT, metaheuristics. Optimization of algorithms that solve known generic cryptographic problems (e.g. generalised birthday problem, meet-in-the-middle search, multiple collisions, etc.).

Selected recent projects (2016-2018)
  • Finding The Greedy, Prodigal, and Suicidal Contracts at Scale [paper].  
    Designed a tool called Maian that automatically checks for trace vulnerabilities in Ethereum smart contracts. Programmed in Python, the tool scanned around 1 million contracts and flagged those that leak or lock Ether, as well as those that can be killed (similarly to the Parity bug).
    Maian is open sourced here.
  • How to Use Metaheuristics for Design of Symmetric-Key Primitives [paper]. 
    Often during the design of symmetric-key primitives, some parts of the schemes are optimized by a plain random search. However, the paper shows that metaheuristics such as simulated annealing and genetic algorithms can be used to replace the random search because they are equally versatile but may have much better time complexity. The implementation of the metaheuristics is available here
  • A New Algorithm for the Unbalanced Meet-in-the-Middle Problem [paper]
    We show that the unbalanced meet-in-the-middle problem (i.e. one of the functions is R times more expansive to compute) besides the well known TM = N tradeoff, supports additional T2M = R2 N tradeoff. We achieve it  with a new algorithm based on combination of two ideas: unbalanced interleaving and van Oorschot-Wiener parallel collision search. 
  • Efficient Design Strategies Based on the AES Round Function [paper]
    It was known that symmetric-key crypto based on the AES operations may potentially be really fast with the AES-NI instruction set. We stretch the limits even further and propose constructions (can be used to build MACs and authenticated schemes) that on the latest Intel processor Skylake achieve a speed of 0.125 cycles per bytes (this means that theoretically, one 3GHz core can process 24 GB of data per second).