Encryption and Trusted Base: CHARM

Lead Institution: Johns Hopkins University

Project Leader: Avi Rubin

Research Progress

  • Abstract
    CHARM is a framework that we implemented for developing software using advanced cryptographic techniques, such as Attribute-Based Encryption (ABE). We created the Charm-Crypto library. It consists of 19,092 lines of C code, 12,039 lines of Python code, and 2,535 lines of C++ code. The code consists of 20 modules and supports 52 Cryptographic schemes. The code has been downloaded more than 1,000 times, and we know that it is being actively used in multiple locations. We are also maintaining a support mailing list. We have used the CHARM software in many of our other projects that required cryptographic operations, and it is a building block of most of our projects in the lab. We have also ported the software to support the Android mobile operating system.

  • Focus of the research/Market need for this project
    This software framework provides for rapid development and deployment, and so security solutions in the healthcare space can be more rapidly deployed using this platform.

  • Project Aims/Goals
    The goal of CHARM is to facilitate the development of software that uses advanced cryptographic techniques by providing many build-in schemes and tools to connect different schemes to each other.

  • Key Conclusions/Significant Findings/Milestones reached/Deliverables
    The code is fully operational, and has been downloaded over 1,000 times. We believe that currently most of the uses of the software are by research groups, although we believe that commercial uses are viable as well.

  • Materials Available for Other Investigators/interested parties
    The CHARM code is available from www.charm-crypto.com. It includes all of the software, as well as documentation and instructions. The support facility is available as well.

  • Market entry strategies
    The code is being distributed for free to anyone who wants to use it, and we believe that anyone developing software for healthcare IT can utilize this software for more secure and efficient development and deployment.

Bibliography
Certified Synthesis of Efficient Batch Verifiers
Joseph Ayo Akinyele, Gilles Barthe, Benjamin Gregoire, Benedikt Schmidt, and Pierre-Yves Strub
IEEE Computer Security Foundations (CSF) Symposium, July 2014

Automatically Generating Outsourced Decryption for Pairing-based Encryption Schemes
Joseph Ayo Akinyele, Matthew W. Pagano, Matthew D. Green, and Aviel Rubin
Under review, 2014

Machine-Generated Algorithms, Proofs and Software for the Batch Verification of Digital Signature Schemes
Joseph Ayo Akinyele, Matthew D. Green, Susan Hohenberger, and Matthew W. Pagano
Pending publication in Journal of Computer Security (JCS), 2014

Using SMT Solvers to Automate Design Tasks for Encryption and Signature Schemes
Joseph Ayo Akinyele, Matthew D. Green, and Susan Hohenberger
20th ACM conference on Computer and Communications Security (CCS), 2013

Charm: A Framework for Rapidly Prototyping Cryptosystems
Joseph Ayo Akinyele, Christina Garman, Ian M. Miers, Matthew W. Pagano, M. Rushanan, Matthew D. Green, and Aviel D. Rubin
Journal of Cryptographic Engineering (JCEN), 3(2); 111-128, 2013

Machine-Generated Algorithms, Proofs and Software for the Batch Verification of Digital Signature Schemes
Joseph Ayo Akinyele, Matthew D. Green, Susan Hohenberger, and Matthew W. Pagano
Proceedings of the 19th ACM conference on Computer and Communications Security (CCS), 2012