Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2017 Andrew
Copyright (c) 2017 ADWISE Lab - Florida International University

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
24 changes: 21 additions & 3 deletions REU2017/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -47,16 +47,34 @@ dependencies
implementation 'com.github.chrisbanes:PhotoView:2.3.0'
testImplementation 'junit:junit:4.13.2'
// https://mvnrepository.com/artifact/io.github.andrewquijano/ciphercraft
implementation 'io.github.andrewquijano:ciphercraft:1.0.6'
// https://mvnrepository.com/artifact/io.github.andrewquijano/fingerprint_localization
implementation 'io.github.andrewquijano:fingerprint_localization:1.0.0'
implementation 'io.github.andrewquijano:ciphercraft:1.0.7'
// https://mvnrepository.com/artifact/io.github.andrewquijano/fingerprint-indoor-localization
implementation 'io.github.andrewquijano:fingerprint-indoor-localization:1.0.3'
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}

tasks.register('generateJavadoc', Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
// If you're using libraries, you might need to add them to the classpath as well
// For example, to include all compile dependencies:
// Corrected line:
classpath += configurations.getByName("compileClasspath") // Or use implementation dependencies directly

// A more modern approach for Android libraries is often to use the 'implementation' configuration
// If the above still causes issues, try:
// classpath += configurations.implementation.get().files

// Exclude generated files like R.java and BuildConfig.java
exclude '**/R.java', '**/BuildConfig.java'
// You can set Javadoc options here if needed
// options.windowTitle = "My Awesome App API"
}

repositories {
maven {
url = uri('https://maven.google.com/') // Corrected: use '=' and uri()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
import edu.fiu.adwise.fingerprint_localization.structs.SendLocalizationData;
import edu.fiu.adwise.fingerprint_localization.structs.LocalizationResult;
import edu.fiu.adwise.fingerprint_localization.structs.SendTrainingData;
import edu.fiu.adwise.homomorphic_encryption.misc.HomomorphicException;
import edu.fiu.adwise.ciphercraft.misc.HomomorphicException;
import edu.fiu.adwise.fingerprint_localization.ui.MainActivity;
import edu.fiu.adwise.fingerprint_localization.ui.TrainActivity;

Expand All @@ -22,13 +22,13 @@
import static edu.fiu.adwise.fingerprint_localization.ui.MainActivity.portNumber;
import edu.fiu.adwise.fingerprint_localization.distance_computation.LOCALIZATION_SCHEME;

import edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations;
import edu.fiu.adwise.homomorphic_encryption.dgk.DGKPrivateKey;
import edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey;
import edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher;
import edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPrivateKey;
import edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPublicKey;
import edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob;
import edu.fiu.adwise.ciphercraft.dgk.DGKOperations;
import edu.fiu.adwise.ciphercraft.dgk.DGKPrivateKey;
import edu.fiu.adwise.ciphercraft.dgk.DGKPublicKey;
import edu.fiu.adwise.ciphercraft.paillier.PaillierCipher;
import edu.fiu.adwise.ciphercraft.paillier.PaillierPrivateKey;
import edu.fiu.adwise.ciphercraft.paillier.PaillierPublicKey;
import edu.fiu.adwise.ciphercraft.socialistmillionaire.bob;

public class ClientThread implements Runnable {
private final static String TAG = "CLIENT_THREAD";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@
import java.security.KeyPair;
import java.security.SecureRandom;

import edu.fiu.adwise.homomorphic_encryption.dgk.DGKKeyPairGenerator;
import edu.fiu.adwise.homomorphic_encryption.dgk.DGKPrivateKey;
import edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey;
import edu.fiu.adwise.homomorphic_encryption.misc.HomomorphicException;
import edu.fiu.adwise.homomorphic_encryption.paillier.PaillierKeyPairGenerator;
import edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPrivateKey;
import edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPublicKey;
import edu.fiu.adwise.ciphercraft.dgk.DGKKeyPairGenerator;
import edu.fiu.adwise.ciphercraft.dgk.DGKPrivateKey;
import edu.fiu.adwise.ciphercraft.dgk.DGKPublicKey;
import edu.fiu.adwise.ciphercraft.misc.HomomorphicException;
import edu.fiu.adwise.ciphercraft.paillier.PaillierKeyPairGenerator;
import edu.fiu.adwise.ciphercraft.paillier.PaillierPrivateKey;
import edu.fiu.adwise.ciphercraft.paillier.PaillierPublicKey;

public final class KeyMaster implements Runnable {
private final static int KEY_SIZE = 2048;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,15 @@
import edu.fiu.adwise.fingerprint_localization.distance_computation.LOCALIZATION_SCHEME;
import edu.fiu.adwise.fingerprint_localization.structs.SendLocalizationData;
import edu.fiu.adwise.fingerprint_localization.structs.LocalizationResult;
import edu.fiu.adwise.homomorphic_encryption.misc.HomomorphicException;
import edu.fiu.adwise.ciphercraft.misc.HomomorphicException;
import edu.fiu.adwise.fingerprint_localization.ui.MainActivity;

import edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations;
import edu.fiu.adwise.homomorphic_encryption.dgk.DGKPrivateKey;
import edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey;
import edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher;
import edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPrivateKey;
import edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPublicKey;
import edu.fiu.adwise.ciphercraft.dgk.DGKOperations;
import edu.fiu.adwise.ciphercraft.dgk.DGKPrivateKey;
import edu.fiu.adwise.ciphercraft.dgk.DGKPublicKey;
import edu.fiu.adwise.ciphercraft.paillier.PaillierCipher;
import edu.fiu.adwise.ciphercraft.paillier.PaillierPrivateKey;
import edu.fiu.adwise.ciphercraft.paillier.PaillierPublicKey;

import static android.graphics.Color.RED;
import static edu.fiu.adwise.fingerprint_localization.distance_computation.LOCALIZATION_SCHEME.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

import edu.fiu.adwise.fingerprint_localization.localization.ClientThread;
import edu.fiu.adwise.fingerprint_localization.localization.KeyMaster;
import edu.fiu.adwise.homomorphic_encryption.misc.HomomorphicException;
import edu.fiu.adwise.ciphercraft.misc.HomomorphicException;
import edu.fiu.adwise.fingerprint_localization.sensors.WifiReceiver;

import static edu.fiu.reu2017.R.*;
Expand Down
2 changes: 1 addition & 1 deletion REU2017/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ buildscript {
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:8.12.1'
classpath 'com.android.tools.build:gradle:8.13.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

// NOTE: Do not place your application dependencies here; they belong
Expand Down
17 changes: 10 additions & 7 deletions REUServer/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ dependencies {
implementation 'com.mysql:mysql-connector-j:9.3.0'

// https://mvnrepository.com/artifact/io.github.andrewquijano/ciphercraft
implementation 'io.github.andrewquijano:ciphercraft:1.0.6'
implementation 'io.github.andrewquijano:ciphercraft:1.0.7'

// https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api
implementation 'org.apache.logging.log4j:log4j-core:2.24.3'
Expand Down Expand Up @@ -89,9 +89,9 @@ publishing {
from components.java

pom {
name.set('fingerprint_localization')
name.set('Privacy-Preserving Indoor Localization using Wi-Fi Fingerprinting')
description.set('This package is the JAR file used for secure indoor localization using Wi-Fi fingerprints. ' +
'This utilizes homomorphic encryption to preserve privacy')
'This utilizes homomorphic encryption to preserve privacy.')
url.set('https://github.com/adwise-fiu/Secure_Indoor_Localization')

licenses {
Expand All @@ -101,16 +101,19 @@ publishing {
}
}

organization {
name.set('ADWISE Research Lab, Florida International University')
url.set('https://adwise.fiu.edu/')
}

developers {
developer {
id.set('AndrewQuijano')
name.set('Andrew Quijano')
email.set('andrew.quijano@nyu.edu')
roles.add('Lead Developer')
organization {
name.set('New York University')
url.set('https://www.nyu.edu')
}
organization.set('New York University')
organizationUrl.set('https://www.nyu.edu')
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@
import edu.fiu.adwise.fingerprint_localization.structs.SendTrainingData;
import edu.fiu.adwise.fingerprint_localization.database.LocalizationLUT;

import edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey;
import edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalPublicKey;
import edu.fiu.adwise.homomorphic_encryption.misc.HomomorphicException;
import edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPublicKey;
import edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice;
import edu.fiu.adwise.ciphercraft.dgk.DGKPublicKey;
import edu.fiu.adwise.ciphercraft.elgamal.ElGamalPublicKey;
import edu.fiu.adwise.ciphercraft.misc.HomomorphicException;
import edu.fiu.adwise.ciphercraft.paillier.PaillierPublicKey;
import edu.fiu.adwise.ciphercraft.socialistmillionaire.alice;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
import java.util.List;

import edu.fiu.adwise.fingerprint_localization.structs.LocalizationResult;
import edu.fiu.adwise.homomorphic_encryption.misc.HomomorphicException;
import edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice;
import edu.fiu.adwise.ciphercraft.misc.HomomorphicException;
import edu.fiu.adwise.ciphercraft.socialistmillionaire.alice;

/**
* Abstract base class for distance computation in Wi-Fi fingerprint localization.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
import edu.fiu.adwise.fingerprint_localization.database.LocalizationLUT;
import edu.fiu.adwise.fingerprint_localization.structs.LocalizationResult;
import edu.fiu.adwise.fingerprint_localization.structs.SendLocalizationData;
import edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations;
import edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey;
import edu.fiu.adwise.homomorphic_encryption.misc.HomomorphicException;
import edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice;
import edu.fiu.adwise.ciphercraft.dgk.DGKOperations;
import edu.fiu.adwise.ciphercraft.dgk.DGKPublicKey;
import edu.fiu.adwise.ciphercraft.misc.HomomorphicException;
import edu.fiu.adwise.ciphercraft.socialistmillionaire.alice;


/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
import edu.fiu.adwise.fingerprint_localization.database.LocalizationLUT;
import edu.fiu.adwise.fingerprint_localization.structs.LocalizationResult;
import edu.fiu.adwise.fingerprint_localization.structs.SendLocalizationData;
import edu.fiu.adwise.homomorphic_encryption.misc.HomomorphicException;
import edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher;
import edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPublicKey;
import edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice;
import edu.fiu.adwise.ciphercraft.misc.HomomorphicException;
import edu.fiu.adwise.ciphercraft.paillier.PaillierCipher;
import edu.fiu.adwise.ciphercraft.paillier.PaillierPublicKey;
import edu.fiu.adwise.ciphercraft.socialistmillionaire.alice;


/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import edu.fiu.adwise.fingerprint_localization.database.LocalizationLUT;
import edu.fiu.adwise.fingerprint_localization.structs.LocalizationResult;
import edu.fiu.adwise.fingerprint_localization.structs.SendLocalizationData;
import edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.alice;
import edu.fiu.adwise.ciphercraft.socialistmillionaire.alice;

/**
* Implements plaintext distance computation for Wi-Fi fingerprint localization.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@
import java.io.Serializable;
import java.math.BigInteger;

import edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations;
import edu.fiu.adwise.homomorphic_encryption.dgk.DGKPrivateKey;
import edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey;
import edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalCipher;
import edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalPrivateKey;
import edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalPublicKey;
import edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamal_Ciphertext;
import edu.fiu.adwise.homomorphic_encryption.misc.HomomorphicException;
import edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher;
import edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPrivateKey;
import edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPublicKey;
import edu.fiu.adwise.ciphercraft.dgk.DGKOperations;
import edu.fiu.adwise.ciphercraft.dgk.DGKPrivateKey;
import edu.fiu.adwise.ciphercraft.dgk.DGKPublicKey;
import edu.fiu.adwise.ciphercraft.elgamal.ElGamalCipher;
import edu.fiu.adwise.ciphercraft.elgamal.ElGamalPrivateKey;
import edu.fiu.adwise.ciphercraft.elgamal.ElGamalPublicKey;
import edu.fiu.adwise.ciphercraft.elgamal.ElGamal_Ciphertext;
import edu.fiu.adwise.ciphercraft.misc.HomomorphicException;
import edu.fiu.adwise.ciphercraft.paillier.PaillierCipher;
import edu.fiu.adwise.ciphercraft.paillier.PaillierPrivateKey;
import edu.fiu.adwise.ciphercraft.paillier.PaillierPublicKey;

/**
* Implements distance computation for Wi-Fi fingerprint localization using Paillier homomorphic encryption.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
import java.util.List;

import edu.fiu.adwise.fingerprint_localization.distance_computation.LOCALIZATION_SCHEME;
import edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey;
import edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamalPublicKey;
import edu.fiu.adwise.homomorphic_encryption.elgamal.ElGamal_Ciphertext;
import edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPublicKey;
import edu.fiu.adwise.ciphercraft.dgk.DGKPublicKey;
import edu.fiu.adwise.ciphercraft.elgamal.ElGamalPublicKey;
import edu.fiu.adwise.ciphercraft.elgamal.ElGamal_Ciphertext;
import edu.fiu.adwise.ciphercraft.paillier.PaillierPublicKey;

/**
* Represents a data structure for transmitting localization data between client and server.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
import edu.fiu.adwise.fingerprint_localization.server;
import edu.fiu.adwise.fingerprint_localization.structs.SendLocalizationData;
import edu.fiu.adwise.fingerprint_localization.structs.SendTrainingData;
import edu.fiu.adwise.homomorphic_encryption.dgk.DGKKeyPairGenerator;
import edu.fiu.adwise.homomorphic_encryption.dgk.DGKPublicKey;
import edu.fiu.adwise.ciphercraft.dgk.DGKKeyPairGenerator;
import edu.fiu.adwise.ciphercraft.dgk.DGKPublicKey;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.junit.BeforeClass;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@
import edu.fiu.adwise.fingerprint_localization.distance_computation.LOCALIZATION_SCHEME;
import edu.fiu.adwise.fingerprint_localization.structs.LocalizationResult;
import edu.fiu.adwise.fingerprint_localization.structs.SendLocalizationData;
import edu.fiu.adwise.homomorphic_encryption.dgk.DGKKeyPairGenerator;
import edu.fiu.adwise.homomorphic_encryption.dgk.DGKOperations;
import edu.fiu.adwise.homomorphic_encryption.dgk.DGKPrivateKey;
import edu.fiu.adwise.homomorphic_encryption.misc.HomomorphicException;
import edu.fiu.adwise.homomorphic_encryption.paillier.PaillierCipher;
import edu.fiu.adwise.homomorphic_encryption.paillier.PaillierKeyPairGenerator;
import edu.fiu.adwise.homomorphic_encryption.paillier.PaillierPrivateKey;
import edu.fiu.adwise.homomorphic_encryption.socialistmillionaire.bob;
import edu.fiu.adwise.ciphercraft.dgk.DGKKeyPairGenerator;
import edu.fiu.adwise.ciphercraft.dgk.DGKOperations;
import edu.fiu.adwise.ciphercraft.dgk.DGKPrivateKey;
import edu.fiu.adwise.ciphercraft.misc.HomomorphicException;
import edu.fiu.adwise.ciphercraft.paillier.PaillierCipher;
import edu.fiu.adwise.ciphercraft.paillier.PaillierKeyPairGenerator;
import edu.fiu.adwise.ciphercraft.paillier.PaillierPrivateKey;
import edu.fiu.adwise.ciphercraft.socialistmillionaire.bob;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

Expand Down