Repository navigation
Kryptos 2.3.1
Changelog - Kryptos 2.3.1
New
- The app is fully translated into German.
- Keyboard: a QWERTZ layout with ä ö ü ß and its own dictionaries (40,000 frequent words, 177,000 word forms, 640 bigrams), with suggestions and autocorrect at the same level as Russian and English. Nouns are suggested capitalised, the case taken from a corpus that preserves it.
- Steganography in all three modes: a 4,096-word list, "smart sentence" grammar with German word order and cases, and the random-letter mode.
- The suggestion engine went from two languages to an arbitrary number.
- The keyboard declares three layouts in the system input-language switcher, and picking one there switches the layout inside the keyboard.
- Length masking now works in steganography too, in all three modes and all languages. Before this the switch did nothing once steganography was on, and the length of the text could be read straight off the length of the cover.
- A new keyboard mode on Android: the padlock encrypts the message and sends it in the messenger right away, and a paper-plane badge appears on the padlock. Off by default, switched on in Settings -> Keyboard.
- Other changes.
Fixed
- Confirmation popups ("Erase all" and ten more dialogs) no longer appear off to one side, they are anchored to the button that opened them.
- On-screen stego decryption: a sender name that matched a dictionary word (Weber, Richter, Koch) broke parsing and the message would not decrypt. A second bug: a stray word at the end of the node (a timestamp, "Heute") threw away a message that had already been parsed. Added limited resynchronisation and anchoring on the sentence boundary. Affects every language, not only German.
- The key preview was not covered by the screenshot block and showed even in password fields: on a screen recording of a "protected" keyboard the typed text could be read character by character.
- An oversized photo or an oversized backup file crashed the app out of memory instead of returning a clear error.
- The app stalled on launch once every two days, which is when the Signal keys were being rotated.
- Opening the app with a long text in the clipboard made the interface lag.
- Holding backspace with two fingers did not stop the deletion.
- Switching a PGP key and deleting a recipient froze the screen.
- The illustrated guide loaded every image at once, now they load as you scroll.
- The keyboard held twice the memory it needed while loading dictionaries.
- After a profile switch the keyboard showed the decryption from the previous profile.
- A corrupted backup file wiped the working PGP keys instead of being rejected.
- Length masking ate up to half the capacity of a photo while hiding nothing: the size of the shot does not depend on the length of the message. It has been removed from photos.
- App launch waited for the whole message history to be parsed.
- The message history was re-encrypted and written again on every launch, even when nothing had changed.
- Picking a photo decoded the whole shot just for a thumbnail, and hiding and extracting ran on the main thread.
- Key export and import and PGP operations froze with no progress indicator.
- Regenerating a PGP key took the algorithm from the new-key form.
- Deleting a PGP recipient happened without confirmation.
- The pressed-key highlight disappeared from under the finger after the very first letter.
- A message you had already read stopped opening again after the next 64 arrived.
- The wording about being offline in the help was made precise: the app opens no network connections.
- The green clipboard dot on the decrypt button in the keyboard could swallow the tap instead of the button.
- Other changes.
IMPORTANT: the stego format has changed. Messages with length masking on will not open in older builds.
Русская версия
Changelog - Kryptos 2.3.1
Нововведения
- Приложение полностью переведено на немецкий.
- Клавиатура: раскладка QWERTZ с ä ö ü ß, собственные словари (40 000 частотных слов, 177 000 словоформ, 640 биграмм), подсказки и автозамена того же уровня, что для русского и английского. Существительные предлагаются с заглавной - регистр выведен из корпуса с сохранением регистра.
- Стеганография во всех трёх режимах: список из 4096 слов, грамматика «умных предложений» с немецким порядком слов и падежами, режим случайных букв.
- Движок подсказок переведён с двух языков на произвольное число.
- Клавиатура объявляет три раскладки в системном переключателе языков ввода, и выбор там переключает раскладку в самой клавиатуре.
- Маскировка длины сообщения теперь работает и в стеганографии, во всех трёх режимах и на всех языках. Раньше при включённой стеганографии переключатель не делал ничего, и длина текста читалась по длине обложки напрямую.
- Новый режим клавиатуры на Android: замок шифрует сообщение и сразу отправляет его в мессенджере, а на самом замке появляется значок самолётика. По умолчанию выключен, включается в Настройки -> Клавиатура.
- Прочие изменения.
Исправления багов
- Подтверждение действия («Стереть всё» и ещё 10 диалогов) больше не всплывает в стороне - привязано к кнопке, которая его вызвала.
- Экранная расшифровка стего: имя отправителя, совпавшее со словом словаря (Weber, Richter, Koch), ломало разбор - сообщение не расшифровывалось. Второй баг: служебное слово в конце узла (время, «Heute») выбрасывало уже разобранное сообщение. Добавлена ограниченная ресинхронизация и фиксация по границе предложения. Касается всех языков, не только немецкого.
- Превью нажатой клавиши не попадало под запрет скриншотов и показывалось даже в полях пароля: на записи экрана «защищённой» клавиатуры набранный текст читался посимвольно.
- Слишком большое фото и слишком большой файл резервной копии роняли приложение по нехватке памяти вместо понятной ошибки.
- Приложение подвисало при запуске раз в двое суток, в этот момент обновлялись ключи Signal.
- Открытие приложения с длинным текстом в буфере обмена подтормаживало интерфейс.
- Удержание backspace двумя пальцами не останавливало удаление.
- Переключение ключа PGP и удаление получателя подвешивали экран.
- Инструкции со скриншотами загружали все изображения сразу, теперь они подгружаются по мере прокрутки.
- Клавиатура держала в памяти вдвое больше нужного при загрузке словарей.
- Клавиатура после смены профиля показывала расшифровку предыдущего профиля.
- Повреждённый файл резервной копии стирал действующие ключи PGP вместо отказа.
- Маскировка длины расходовала до половины ёмкости фото, хотя ничего там не скрывала: размер снимка от длины сообщения не зависит. Из фото она убрана.
- Запуск приложения ждал разбора всей переписки.
- История переписки перешифровывалась и записывалась заново при каждом запуске, даже когда ничего не менялось.
- Выбор фото распаковывал снимок целиком ради миниатюры, а шифрование и извлечение шли в основном потоке.
- Экспорт и импорт ключей и операции PGP замирали без индикатора.
- Перегенерация ключа PGP брала алгоритм из поля создания нового ключа.
- Удаление получателя PGP выполнялось без подтверждения.
- Подсветка нажатой клавиши пропадала из-под пальца после первой же буквы.
- Уже прочитанное сообщение переставало открываться повторно после 64 следующих.
- Формулировка об офлайне в справке уточнена: приложение не открывает сетевых соединений.
- Зелёная точка буфера обмена на кнопке расшифровки в клавиатуре могла перехватить нажатие вместо самой кнопки.
- Прочие изменения.
ВАЖНО: формат стего изменился. Сообщения с включённой маскировкой длины старые сборки не прочитают.
Downloads
| File | Size | SHA-256 |
|---|---|---|
Kryptos.apk |
22.2 MB | 4432bc651e923901a0dc401b87de201204293317f7078472703311ac96eef369 |
Kryptos.ipa |
16.6 MB | d7b518fdc4cf836997ea42a3489c243b7af51119c374677acab10aa84acab986 |
Android 8.0+, iOS 17+. The .ipa is unsigned, sign it on the device. Re-sign iOS with the same certificate as the previous install, otherwise the app comes up as a fresh one.