In this area, we study the hardware and software implementations of cryptographic algorithms including symmetric cryptography, asymmetric cryptography in different platforms especially in resource constrained IoT devices. Some previous and ongoing research includes: (1) Symmetric cryptography such as DES, AES; (2) Key exchange protocols; (3) ECC algorithms; (4) post-quantum cryptography; (5) side channel attacks.
In this area, we study the public key cryptography algorithms in theoretical and applied cryptography. Some previous and ongoing research includes: (1) key exchange protocols; (2) Identity-based encryption; (3) Attribute-based encryption; (4) Searchable encryption; (5) proxy re-encryption.
APR aims to reduce the burden of these tasks by suggesting likely correct patches for software bugs. At a high level, such techniques take as input a program and some specification of the correctness criteria that the fixed program should meet. Most research techniques use test suites for this purpose: one or more failing tests indicate a bug to be fixed, while passing tests indicate behavior that should not change. The end goal is a set of program changes (typically to source code) that leads all tests to pass, fixing the bug without breaking other behavior. Some previous and ongoing research includes: (1) automated fault localization (2) automated patch generation (3) patch correctness valiation (4) fix pattern mining and (5) code search.
In this area, we study the permissionless and permissioned blockchain techniques to ensure robust, transparent, secure and privacy preserving blockchain platforms. Some previous and ongoing research includes: (1) blockchain based secure logging systems; (2) privacy preserving and fair smart contracts; (3) blockchain privacy techniques; (4) robustness of blockchain platforms; (5) blockchain enabled applications.