Table of Contents
Fetching ...

Conditional Encryption with Applications to Secure Personalized Password Typo Correction

Mohammad Hassan Ameri, Jeremiah Blocki

TL;DR

The notion of conditional encryption secrecy is formalized and concretely efficient constructions for a set of predicates relevant to password typo correction are provided, which utilize the Paillier partially homomorphic encryption scheme as well as Shamir Secret Sharing.

Abstract

We introduce the notion of a conditional encryption scheme as an extension of public key encryption. In addition to the standard public key algorithms ($\mathsf{KG}$, $\mathsf{Enc}$, $\mathsf{Dec}$) for key generation, encryption and decryption, a conditional encryption scheme for a binary predicate $P$ adds a new conditional encryption algorithm $\mathsf{CEnc}$. The conditional encryption algorithm $c=\mathsf{CEnc}_{pk}(c_1,m_2,m_3)$ takes as input the public encryption key $pk$, a ciphertext $c_1 = \mathsf{Enc}_{pk}(m_1)$ for an unknown message $m_1$, a control message $m_2$ and a payload message $m_3$ and outputs a conditional ciphertext $c$. Intuitively, if $P(m_1,m_2)=1$ then the conditional ciphertext $c$ should decrypt to the payload message $m_3$. On the other hand if $P(m_1,m_2) = 0$ then the ciphertext should not leak any information about the control message $m_2$ or the payload message $m_3$ even if the attacker already has the secret decryption key $sk$. We formalize the notion of conditional encryption secrecy and provide concretely efficient constructions for a set of predicates relevant to password typo correction. Our practical constructions utilize the Paillier partially homomorphic encryption scheme as well as Shamir Secret Sharing. We prove that our constructions are secure and demonstrate how to use conditional encryption to improve the security of personalized password typo correction systems such as TypTop. We implement a C++ library for our practically efficient conditional encryption schemes and evaluate the performance empirically. We also update the implementation of TypTop to utilize conditional encryption for enhanced security guarantees and evaluate the performance of the updated implementation.

Conditional Encryption with Applications to Secure Personalized Password Typo Correction

TL;DR

The notion of conditional encryption secrecy is formalized and concretely efficient constructions for a set of predicates relevant to password typo correction are provided, which utilize the Paillier partially homomorphic encryption scheme as well as Shamir Secret Sharing.

Abstract

We introduce the notion of a conditional encryption scheme as an extension of public key encryption. In addition to the standard public key algorithms (, , ) for key generation, encryption and decryption, a conditional encryption scheme for a binary predicate adds a new conditional encryption algorithm . The conditional encryption algorithm takes as input the public encryption key , a ciphertext for an unknown message , a control message and a payload message and outputs a conditional ciphertext . Intuitively, if then the conditional ciphertext should decrypt to the payload message . On the other hand if then the ciphertext should not leak any information about the control message or the payload message even if the attacker already has the secret decryption key . We formalize the notion of conditional encryption secrecy and provide concretely efficient constructions for a set of predicates relevant to password typo correction. Our practical constructions utilize the Paillier partially homomorphic encryption scheme as well as Shamir Secret Sharing. We prove that our constructions are secure and demonstrate how to use conditional encryption to improve the security of personalized password typo correction systems such as TypTop. We implement a C++ library for our practically efficient conditional encryption schemes and evaluate the performance empirically. We also update the implementation of TypTop to utilize conditional encryption for enhanced security guarantees and evaluate the performance of the updated implementation.
Paper Structure (56 sections, 15 theorems, 37 equations, 15 figures, 2 tables)

This paper contains 56 sections, 15 theorems, 37 equations, 15 figures, 2 tables.

Key Result

Theorem 1

const:Const:EqualityTest is a perfectly correct and $1-\epsilon(\lambda)$-error detecting conditional encryption scheme with $\epsilon(\lambda) = \dfrac{|\Sigma|^{n+1}}{N} \leq \dfrac{1}{\max\{p,q\}}$.

Figures (15)

  • Figure 1: CDec Time for HamDist
  • Figure 2: CDec Time for HamDist
  • Figure 3: CEnc and Enc for HamDist
  • Figure 4: CEnc ED One
  • Figure 5: CEnc CAPSLCK ON
  • ...and 10 more figures

Theorems & Definitions (28)

  • Definition 1
  • Definition 2: Correctness
  • Definition 3: Efficiency
  • Definition 4: Error Detecting
  • Definition 5: Conditional Encryption Secrecy
  • Theorem 1
  • Theorem 2
  • Theorem 3
  • Theorem 4
  • Theorem 5
  • ...and 18 more