Calendar Lock PEA - Encrypted iCalendar Application

Calendar Encryption

* * * Warning: Calendar Lock PEA is still in an early stage. Use it carefully. * * *

Calendar Lock PEA (PEA = Password Encrypting Archive) encrypts calendars and displays them in a month view. The shown calendars are never stored unencrypted on your disk (unless you explicitly decide to do that), but exists only in the memory (RAM).

The program is small and consists of a single archive file. Installation is not required.

Please Donate To Bitcoin Address: [[address]]

Donation of [[value]] BTC Received. Thank You.
The Calendar Lock PEA
  • runs on nearly all operating systems with a Java Runtime Environment,

  • is compatible with iCalendar data (ics files as defined in RFC 5545 and RFC 7986), such as those used in Android, OS/iOS, Microsoft Outlook and many other areas,

  • uses functions to derive the key from the password, that can also protect against custom-hardware attacks, reducing one vulnerability of password-based encryption programs,

  • protects the integrity of the data by an authenticated encryption (EAX mode) in addition to the confidentiality and prevents unauthorized and unnoticed tampering of the data,

  • is Open Source (GPL v2) and free to use.

Calendar Data

Calendar data should always be available and never be lost, which is one reason they are often stored in the cloud.

At the same time, calendars contain very sensitive and personal information and are a worthwhile target for snooping. Many commercial services are trying to access this data to create user profiles, government agencies are trying to gather information about the behavior of potential dissidents, and scammers are just buying and selling these data.

This application intends to protect calendar data.

Calendar Lock PEA: main frame Calendar Lock PEA

Download Options for Calendar Lock PEA 0.1 (alpha):

Key Derivation Function: Catena-Dragonfly
Cipher (EAX-Mode): Threefish
Hash Function: Blake2b
(Size: 322 KiB)
MD5 checksum: 2f96c377cea882a87dcff824c97ea4e5
SHA-256: 8e0a6307260c73206bf370c15c6bb5e0a8814fe7540c1528737907314ddfe221
(Size: 322 KiB)
MD5 checksum:b67b14bd61045a7ede748f794d28ae9f
SHA-256: 99c14617a88e98b46dba65802b7d3ce7a5c88ce45f69950466667a7a5bee931c


Calendar Lock PEA is in an early stage. So far, there is only a monthly view: a daily overview, a weekly view and an event list should be added. Some important features are not yet implemented, such as recurrence rules, multi-lingual support, event priority ... The graphical user interface and accessibility support are to be improved.

The Long-time Goal of this Application

Password-Dialog Password dialog to open the Calendar Lock PEA

It's nice to have calendars protected on a PC, but as long as mobile devices automatically pass such data to companies like Google, Microsoft or Apple, that's not much.

In principle, it is possible to synchronize these data between different devices without ever storing them unencrypted on any device or any cloud server. Necessary for this is an application on each of these systems, which indeed displays this data, but always stores and synchronizes them in encrypted form. That's a lot of work. And you have to start from scratch. Synchronization standards such as the CalDAV protocol completely ignore user privacy and rule out the possibility of encryption in principle.

The Calendar Lock PEA is also meant as a very first step towards this long term goal. Any help to achieve this goal is welcome: bug reports, reviews, programming, or even donation.

Compatibility with iCalendar Standards RFC 5545 and RFC 7986

Although there are two Internet Drafts that define properties for iCalendar to ensure compatibility, the new RFC 7986 draft from 2016 is still not very popular. Instead, there are several unofficial extensions of RFC 5545 in use.

The goal of this calendar application is to be able to read unofficial or possibly outdated (widespread) properties when importing ICS files, but to write only standard properties. You are able to import external ICS files with some of the old property formats, but if you export ICS files from the Calendar Lock PEA to use in other applications, the new standard is used - unfortunately some of the other applications will not be able to read properties like calendar name, color and timezone.

So far, the Calendar Lock PEA uses only a basic set of properties, which is to be gradually expanded with every new release.

How to use

Start the Jar Archive

You need OpenJDK, Java Runtime Environment (JRE) or something similar. On most systems there is at least one available.
These PEAs are single Java jar archives, a file with the extension "jar". If you are familiar with jar archives, you can skip the following part.

Linux, BSD systems and Mac OS and other UNIX like systems: unpack the compressed download file (tar or unzip), store it for example in your home folder, change in the directory in console and type: java -jar YOUR_ARCHIVE.jar or try to double click the file
Windows: Normally you can open the jar archive just by a double click. But sometimes other programs overwrites this possibility and instead unpack the jar archive. In this case you can change the default program to open a jar archive or use the terminal, change in the directory of your archive and type java -jar YOUR_ARCHIVE.jar or try to double click the file windows_start_helper.bat
Initialization: First Start

The first time you start the Calendar Lock PEA, the program will initialize. You are asked for a password, a calendar name and color.
You can reset the password later in the menu.