About: These downloadable resources were created to allow reproducability of the results presented in our ACM WiSec 2018 paper titled "Towards Inferring Mechanical Lock Combinations using Wrist-Wearables as a Side-Channel"; Authors: Anindya Maiti, Ryan Heard, Mohd Sabra (Wichita State University), Murtuza Jadliwala (University of Texas at San Antonio). Usage Policy: Scripts written by authors to obtain the results can be used for academic and non-profit purposes, with proper credits to authors. Unlocking activity data collected by authors (from human participants) is anonymized as per IRB guidelines. Usage is allowed for academic and non-profit purposes, with proper credits to authors. Disclaimer: Authors do not endorse usage of the data and/or scripts towards any kind of attacks on padlocks and/or safes. Usage should be strictly ethical. VM Info: OS: Xubuntu 16.04 LTS Hypervisors Tested: Hyper-V (Server 2016 Host), VirtualBox 5.1 (Debian Stretch Host) Login Password: 1234 Follow README.txt on /home/anindya/Desktop/ to generate the results presented in the paper. List of Programming Languages: Python, GNU Octave Compiler Info: Python 2.7 with numpy, scipy, pandas, matplotlib and itertools packages; Octave 4.0 with io, signal and control packages; Reference hardware used to generate results: Processor: 2x Intel Xeon L5640 2.27GHz Hex-core Caches: 3-levels (L1-768KB,L2-3MB,L3-24MB) Memory: 96GB PC3-10600R ECC Secondary Storage: Micron 2TB SATA3 SSD (Seq R/W: 550/520 MBps; Random(Q8T8) R/W: 320/340 MBps) Network: Not Required Dedicated GPU: Not Required Unlocking activity recognition app: Platform: Android + Android Wear SDK: Android Studio 1.5+ (Written in 1.5) API Level: 15-minimum, 23-target Gradle Properties: buildToolsVersion:23.0.2, play-services:8.3.0, wearable:1.3.0, play-services-wearable:8.3.0 Reference Watch Used: Samsung Gear Live, LG Watch Urbane