Skip to content

 iOS app which uses GPS coordinates combined with a hybrid encryption model for securely storing text data

Notifications You must be signed in to change notification settings

pagoda8/GPS-Safe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Idea behind the app

Text-based passwords are used everywhere nowadays, but what if we could use a real-world location as a password instead? This app simulates the experience of burying a treasure underground. Accessing the hidden data can only be done by knowing its location and having a special private key which is stored on the treasure owner's device 🌎🔑

App's description

  • Each user is assigned a public and private key upon account creation
  • The private key is stored on the user's Keychain and is synced via iCloud
  • User's account credentials are hashed with SHA
  • A user can encrypt a piece of text
  • The text is encrypted with AES and the AES key is encrypted with RSA (user's public key)
  • The user's current location is saved along with the encrypted data and encrypted AES key
  • To retrieve the text, the user must be in the same location and use the same device (or be logged into the same iCloud account) as when the encryption happened
  • Encrypted data can be shared with others
  • Sharing allows another user to access the data (only if they know the location)

Tools used

  • Swift & UIKit
  • MVC pattern
  • CocoaPods
  • Firebase Realtime Database
  • JSON
  • CoreLocation
  • CryptoKit
  • Apple Keychain
  • RSA, AES & SHA algorithms

Screenshots

About

 iOS app which uses GPS coordinates combined with a hybrid encryption model for securely storing text data

Topics

Resources

Stars

Watchers

Forks