Identity-based encryption